Commit Graph

90 Commits

Author SHA1 Message Date
Denis Kop
61f22d7ffb [DomCrawler] fixed bug #12143 2014-11-17 14:25:43 +03:00
Disquedur
51312d31cc Remove aligned '=>' and '=' 2014-10-26 08:30:58 +01:00
Fabien Potencier
369aebf431 fixed CS 2014-09-22 10:32:35 +02:00
Christophe Coevoet
b96e7f9707 bug #11692 [DomCrawler] check for the correct field type (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

[DomCrawler] check for the correct field type

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #11689
| License       | MIT
| Doc PR        |

HTML allow to define different form fields with the same name. Imagine the following form:

```html
    <html>
        <body>
            <form action="/">
                <input type="hidden" name="option" value="default">
                <input type="radio" name="option" value="A">
                <input type="radio" name="option" value="B">
                <input type="hidden" name="settings[1]" value="0">
                <input type="checkbox" name="settings[1]" value="1" id="setting-1">
                <button>klickme</button>
            </form>
        </body>
    </html>
```

Since the `FormFieldRegistry` can only handle one field per name, the hidden field option is registered first before the radio field with the same name is evaluated. Thus, the `FormFieldRegistry` returns an `InputFormField` instance on which the `addChoices()` method can not be called.

Commits
-------

169b397 check for the correct field type
2014-08-21 02:21:59 +02:00
Christian Flothmann
169b3978ae check for the correct field type
HTML allow to define different form fields with the same name.
Imagine the following form:

    <html>
        <body>
            <form action="/">
                <input type="hidden" name="option" value="default">
                <input type="radio" name="option" value="A">
                <input type="radio" name="option" value="B">
                <input type="hidden" name="settings[1]" value="0">
                <input type="checkbox" name="settings[1]" value="1" id="setting-1">
                <button>klickme</button>
            </form>
        </body>
    </html>

Since the `FormFieldRegistry` can only handle one field per name, the
hidden field option is registered first before the radio field with
the same name is evaluated. Thus, the `FormFieldRegistry` returns an
`InputFormField` instance on which the `addChoices()` method can not
be called.
2014-08-18 17:01:30 +02:00
Christian Flothmann
d26040f356 [DomCrawler] fix the axes handling in a bc way
The previous fix in #11548 for handling XPath axes was not backward
compatible. In previous Symfony versions the Crawler handled nodes
by holding a "fake root node". This must be taken into account when
evaluating (relativizing) XPath expressions.
2014-08-09 11:40:56 +02:00
Christian Flothmann
8dc322be34 fix axes handling in Crawler::filterXPath()
Due to some limitations in the relativize() method, it was not
possible to use XPath axes other than descendant or descendant-or-self
in the filterXPath() method of the Crawler class. This commit adds
support for the ancestor, ancestor-or-self, attribute, child,
following, following-sibling, parent, preceding, preceding-sibling and
self axes.
2014-08-02 10:47:58 +02:00
Christophe Coevoet
38be14dd14 bug #11194 [DomCrawler] Remove the query string and the anchor of the uri of a link (benja-M-1)
This PR was squashed before being merged into the 2.3 branch (closes #11194).

Discussion
----------

[DomCrawler] Remove the query string and the anchor of the uri of a link

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | ~
| License       | MIT
| Doc PR        | ~

Commits
-------

fe5d2d1 [DomCrawler] Remove the query string and the anchor of the uri of a link
2014-07-04 00:18:40 +02:00
Benjamin Grandfond
fe5d2d1554 [DomCrawler] Remove the query string and the anchor of the uri of a link 2014-07-04 00:18:31 +02:00
Christian Flothmann
cbbdbe4c15 [DomCrawler] properly handle buttons with single and double quotes inside the name attribute 2014-06-24 23:09:12 +02:00
Michal Dabrowski
876d6caacb issue #10808 crawler test 2014-06-06 07:27:49 +02:00
Fabien Potencier
cff410507f bug #10983 [DomCrawler] Fixed charset detection in html5 meta charset tag (77web)
This PR was squashed before being merged into the 2.3 branch (closes #10983).

Discussion
----------

[DomCrawler] Fixed charset detection in html5 meta charset tag

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | N/A
| License       | MIT

It may be minor to folks with ascii-charactered language, but is critical for us Japanese.
Many Japanese websites with SJIS encoding have "Shift_JIS" as their encoding declaration.

Commits
-------

172e752 [DomCrawler] Fixed charset detection in html5 meta charset tag
2014-05-27 00:15:18 +02:00
77web
172e75208a [DomCrawler] Fixed charset detection in html5 meta charset tag 2014-05-27 00:15:16 +02:00
Christophe Coevoet
a9de61e86d [DomCrawler] Fixed a forgotten case of complex XPath queries 2014-05-24 19:16:55 +02:00
Robbert Klarenbeek
711ac32d71 [DomCrawler] Fixed filterXPath() chaining 2014-05-21 15:37:53 +02:00
Christophe Coevoet
8f706c97b9 [DomCrawler] Added more tests for the XPath filtering
This will ensure we don't introduce regressions again when fixing #10206.
2014-05-21 15:33:53 +02:00
Christophe Coevoet
77b446c904 [DomCrawler] Fixed the coding standards to use strict comparisons 2014-05-17 15:36:43 +02:00
Fabien Potencier
5c91dc1a3a bug #10926 [DomCrawler] Fixed the initial state for options without value attribute (stof)
This PR was merged into the 2.3 branch.

Discussion
----------

[DomCrawler] Fixed the initial state for options without value attribute

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | n/a

Commits
-------

78cff96 [DomCrawler] Fixed the initial state for options without value attribute
2014-05-17 13:54:50 +02:00
Christophe Coevoet
78cff96230 [DomCrawler] Fixed the initial state for options without value attribute 2014-05-17 12:51:37 +02:00
Christophe Coevoet
b505708ddd Fixed the handling of boolean attributes in ChoiceFormField
An option is marked as selected by the presence of the selected attribute,
not by the presence of a non-empty selected attribute. The same is true
for checked radio buttons or checkboxes.
2014-05-17 12:38:54 +02:00
Geoffrey Brier
ab1198f4da [DomCrawler] Fixed image input case sensitive 2014-05-12 11:38:26 +02:00
Sascha Grossenbacher
f6725648cc Textarea value should default to empty string instead of null. 2014-04-18 22:19:23 +02:00
Romain Neutron
489b8aea90 Fix libxml_use_internal_errors and libxml_disable_entity_loader usage 2014-03-26 08:21:50 +01:00
Romain Neutron
89c599e5b7 [DomCrawler] Add tests for recursive cases of getPhpValues() and getPhpFiles() 2014-03-13 17:35:57 +01:00
Robbert Klarenbeek
e961f570b1 [DomCrawler] Fixed incorrect value name conversion in getPhpValues() and getPhpFiles() 2014-03-13 17:06:21 +01:00
Fabien Potencier
4927d0c8a3 changed some PHPUnit assertions to more specific ones 2014-03-01 18:25:29 +01:00
Fabien Potencier
8f379217b8 Revert "bug #10207 [DomCrawler] Fixed filterXPath() chaining (robbertkl)"
This reverts commit c11c5888f3, reversing
changes made to e453c4589d.
2014-02-18 17:26:04 +01:00
Shane Preece
23acd26d4a [DomCrawler] Added support for <area> tags to be treated as links 2014-02-11 14:35:22 +00:00
Robbert Klarenbeek
43a771614c [DomCrawler] Fixed filterXPath() chaining 2014-02-05 17:30:33 +01:00
Robbert Klarenbeek
816cf179ee [DomCrawler] Fixed incorrect handling of image inputs 2014-02-04 21:33:58 +01:00
Fabien Potencier
9b27d8a7a9 fixed CS 2014-01-26 22:32:47 +01:00
Daniel Wehner
3db1b10efd allow the TextAreaFormField to be used with valid/invalid HTML 2014-01-26 22:32:17 +01:00
bronze1man
acb2df0842 fix #9321 Crawler::addHtmlContent add gbk encoding support 2013-12-29 19:30:30 +01:00
Jakub Zalas
72d6322e25 [DomCrawler] Fixed creating form objects from form nodes. 2013-12-29 12:48:17 +01:00
Fabien Potencier
15baa81fdc fixed acronyms 2013-12-28 09:33:14 +01:00
Fabien Potencier
61dd06ea27 fixed CS 2013-10-30 09:30:20 +01:00
Robert Kiss
bb59ac2879 fixed HTML5 form attribute handling XPath query 2013-09-25 11:22:53 +02:00
Fabien Potencier
775a39c5c3 Merge branch '2.2' into 2.3
* 2.2:
  [Locale] added support for the position argument to NumberFormatter::parse()
  [Locale] added some more stubs for the number formatter
  [Yaml] fixed typo
  [Yaml] fixed a test on PHP < 5.4
  [DomCrawler]Crawler guess charset from html
  fixed PHP 5.3 compatibility
  [Yaml] reverted previous merge partially (refs #8897)
  [Security] remove unused logger
  [Security] fix typo
  [Yaml] Fixed filename in the ParseException message

Conflicts:
	src/Symfony/Component/Console/Input/InputDefinition.php
	src/Symfony/Component/Locale/Stub/StubNumberFormatter.php
	src/Symfony/Component/Locale/Tests/Stub/StubNumberFormatterTest.php
2013-09-22 20:04:39 +02:00
bronze1man
e5282e8ec0 [DomCrawler]Crawler guess charset from html 2013-09-19 18:37:12 +02:00
Fabien Potencier
0ebb8bc8a2 merged branch kepten/ticket_6239 (PR #8197)
This PR was squashed before being merged into the 2.3 branch (closes #8197).

Discussion
----------

[DomCrawler] fixed HTML5 form attribute handling

Fixed HTML5 form attribute handling and improved a test case to test more thoroughly

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #6239
| License       | MIT
| Doc PR        | no

Commits
-------

04e730e [DomCrawler] fixed HTML5 form attribute handling
2013-09-17 11:47:59 +02:00
Robert Kiss
04e730ec2e [DomCrawler] fixed HTML5 form attribute handling 2013-09-17 11:47:58 +02:00
Fabien Potencier
af101a5a63 Merge branch '2.2' into 2.3
* 2.2:
  fixed CS
  typo first->second
  Fixed variable name used in translation cache

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php
	src/Symfony/Component/CssSelector/Node/FunctionNode.php
	src/Symfony/Component/Finder/Tests/Iterator/RealIteratorTestCase.php
2013-07-01 14:17:23 +02:00
Fabien Potencier
fdf2d6228c fixed CS 2013-07-01 14:15:46 +02:00
Fabien Potencier
d849d5d134 Merge branch '2.2' into 2.3
* 2.2:
  Throw exception if value is passed to VALUE_NONE input, long syntax
  fixed date type format pattern regex
  [FrameworkBundle] tweaked previous merge (refs #8242)
  do not re-register commands each time a Console\Application is run
  [Process] moved env check to the Process class (refs #8227)
  fix issue where $_ENV contains array vals
  [DomCrawler] Fix handling file:// without a host
  [Form] corrected interface bind() method defined against in deprecation notice
  [Finder] Fix SplFileInfo::getContents isn't working with ssh2 protocol

Conflicts:
	src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php
	src/Symfony/Component/DomCrawler/Link.php
	src/Symfony/Component/Form/Form.php
2013-06-13 09:51:49 +02:00
Dmitrii Chekaliuk
41399360e8 [DomCrawler] Fix handling file:// without a host 2013-06-13 02:54:36 +03:00
Fabien Potencier
2f915f72f6 Merge branch '2.2' into 2.3
* 2.2:
  Revert "[Console] ensure exit code between 0-254"
  fix many-to-many Propel1 ModelChoiceList
  [Console] ensure exit code between 0-254
  [DomCrawler] Fixed a fatal error when setting a value in a malformed field name.
  [Console] fix status code when Exception::getCode returns something like 0.1
  Fixed exit code for exceptions with error code 0
  instantiate valid commands only

Conflicts:
	src/Symfony/Component/Console/Application.php
2013-06-11 09:15:14 +02:00
Pierre-Yves LEBECQ
bce6bd2858 [DomCrawler] Fixed a fatal error when setting a value in a malformed field name. 2013-06-08 13:27:47 +02:00
Fabien Potencier
f989c846fe Merge branch '2.2' into 2.3
* 2.2:
  [CssSelector] Fix :nth-last-child() translation
  Fix Crawler::children() to not trigger a notice for childless node

Conflicts:
	src/Symfony/Component/CssSelector/Node/FunctionNode.php
	src/Symfony/Component/CssSelector/Tests/Node/FunctionNodeTest.php
2013-05-19 21:00:48 +02:00
Fabien Potencier
7b5e68053f Merge branch '2.1' into 2.2
* 2.1:
  [CssSelector] Fix :nth-last-child() translation
  Fix Crawler::children() to not trigger a notice for childless node
2013-05-19 21:00:13 +02:00
Dmitrii Chekaliuk
91b84903b7 Fix Crawler::children() to not trigger a notice for childless node 2013-05-16 03:06:15 +03:00