Commit Graph

16824 Commits

Author SHA1 Message Date
Fabien Potencier
c11c5888f3 bug #10207 [DomCrawler] Fixed filterXPath() chaining (robbertkl)
This PR was merged into the 2.3 branch.

Discussion
----------

[DomCrawler] Fixed filterXPath() chaining

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | debatable (see below)
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #10206
| License       | MIT
| Doc PR        |

As @stof mentions in #10206, each node in the Crawler can belong to a different \DOMDocument. Therefore, I've made each node do its own XPath, relative to itself, and add all the results to a new Crawler. This way, all resulting nodes are still part of their original \DOMDocument and thus can reach all of their parent nodes.

No current tests break on this change. I've added a new test for this case, by checking if the number of parents is correct after obtaining a node through chaining of `filterXPath()`.

Now for BC: I can think of a number of cases where this change would give a different result. However, it's debatable/unclear if:
- the old behavior was a bug in the first place (which would validate this change), or
- the old behavior was intended (which would make this a BC breaking change)

As an example, consider the following HTML:
```html
<div name="a"><div name="b"><div name="c"></div></div></div>
```
What would happen if we run this:
```php
echo $crawler->filterXPath('//div')->filterXPath('div')->filterXPath('div')->attr('name');
```
Aside from breaking reachability of the parent nodes by chaining, with the original code it would echo 'a'.
With this patch it would echo 'c', which, to me, makes more sense.

Commits
-------

43a7716 [DomCrawler] Fixed filterXPath() chaining
2014-02-05 17:38:09 +01:00
Robbert Klarenbeek
43a771614c [DomCrawler] Fixed filterXPath() chaining 2014-02-05 17:30:33 +01:00
Fabien Potencier
e453c4589d bug #10205 [DomCrawler] Fixed incorrect handling of image inputs (robbertkl)
This PR was merged into the 2.3 branch.

Discussion
----------

[DomCrawler] Fixed incorrect handling of image inputs

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

A possible approach to fix #10204, but I'm open to suggestions to fix this another way, as this might not be the most 'elegant' way.

Initially, my thoughts were to create a new DomCrawler\Field\FormField subclass, especially for image inputs. However, this does not solve the problem, because such a FormField would still exist under 1 name in the FormFieldRegistry.

Instead, I've changed it to have 2 separate FormFields instead (which both reference the same input node), with different names (.x and .y) so that both values can be set separately and will both be submitted.

Commits
-------

816cf17 [DomCrawler] Fixed incorrect handling of image inputs
2014-02-05 14:01:06 +01:00
Robbert Klarenbeek
816cf179ee [DomCrawler] Fixed incorrect handling of image inputs 2014-02-04 21:33:58 +01:00
Fabien Potencier
42e4c7bddf [EventDispatcher] simplified code for TraceableEventDispatcher 2014-02-04 16:16:44 +01:00
Fabien Potencier
bcb5239b5e bug #10199 fix ProcessPipes (nicolas-grekas)
This PR was merged into the 2.5-dev branch.

Discussion
----------

fix ProcessPipes

Commits
-------

076d417 fix ProcessPipes
2014-02-04 15:10:18 +01:00
Nicolas Grekas
076d417977 fix ProcessPipes 2014-02-04 14:50:18 +01:00
Fabien Potencier
22970e007e Merge branch '2.4'
* 2.4:
  added missing @deprecated tag
  Fixed recursion level incrementing in FlattenException::flattenArgs().
  [HttpKernel] fixed wrong reference in TraceableEventDispatcher

Conflicts:
	src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
2014-02-04 12:21:37 +01:00
jochenvdv
2efe461a46 Allow retrieving unstopped stopwatch events
Section:
  - added method getEvent()

Stopwatch:
  - added method getEvent()

StopwatchTest:
  - modified testStart() to test for getEvent() method
  - added testUnknownEvent()
2014-02-04 12:05:45 +01:00
Fabien Potencier
aca1686895 Merge branch '2.3' into 2.4
* 2.3:
  added missing @deprecated tag
  Fixed recursion level incrementing in FlattenException::flattenArgs().
  [HttpKernel] fixed wrong reference in TraceableEventDispatcher

Conflicts:
	src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
2014-02-04 11:54:30 +01:00
jochenvdv
d3d097d659 Include running periods in duration
StopwatchEvent:
  - method getDuration() now includes periods that are not stopped yet

StopwatchEventTest:
  - added testDurationBeforeStop()
2014-02-04 11:29:47 +01:00
Fabien Potencier
bea1537964 minor #10186 Made some HHVM-related fixes (fabpot)
This PR was merged into the 2.5-dev branch.

Discussion
----------

Made some HHVM-related fixes

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

Commits
-------

1240758 [Routing] fixed CS
e223395 [Debug] fixed case differences between PHP and HHVM (classes are case-insensitive anyway in PHP)
23acc24 [Debug] made order of suggestions predictable in error messages
2014-02-04 08:17:17 +01:00
Fabien Potencier
6a4d765c43 bug #10191 [HttpKernel] fixed wrong reference in TraceableEventDispatcher (fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpKernel] fixed wrong reference in TraceableEventDispatcher

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

This PR fixes #9748 and #9727 by removing the `id` state. Only private method signatures have been changed, so that qualifies for a fix in 2.3.

The `getNotCalledListeners()` is a bit special as it tries to get non-called listeners. It passes `null` as the event id as if a listener has been called more than once, getting the first call is enough.

Commits
-------

acd3317 [HttpKernel] fixed wrong reference in TraceableEventDispatcher
2014-02-04 08:14:12 +01:00
Fabien Potencier
5e12d749eb minor #10188 [TwigBundle] added missing @deprecated tag (fabpot)
This PR was submitted for the 2.3-dev branch but it was merged into the 2.3 branch instead (closes #10188).

Discussion
----------

[TwigBundle] added missing @deprecated tag

Commits
-------

ee08582 [TwigBundle] added missing @deprecated tag
2014-02-04 08:13:30 +01:00
Fabien Potencier
fefd4df4a5 added missing @deprecated tag 2014-02-04 08:13:29 +01:00
Fabien Potencier
7a1190874f bug #10195 [Debug] Fixed recursion level incrementing in FlattenException::flattenArgs(). (sun)
This PR was submitted for the 2.3-dev branch but it was merged into the 2.3 branch instead (closes #10195).

Discussion
----------

[Debug] Fixed recursion level incrementing in FlattenException::flattenArgs().

The internal `$level` variable for tracking the recursion level is pre-incremented on the parent level of the recursion already.

This causes later array elements in an array that has more than 10 elements to get obscured by `'*DEEP NESTED ARRAY*'`, even though the elements are on the first/top level of the array.

The incremented `$level` value needs to be passed to the recursive call to `FlattenException::flattenArgs()` only.

Discovered in debugging exceptions in Drupal (which happens to use very large multi-dimensional arrays for legacy reasons).

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

Commits
-------

1b1501b Fixed recursion level incrementing in FlattenException::flattenArgs().
2014-02-04 08:06:39 +01:00
sun
de32b8e3b9 Fixed recursion level incrementing in FlattenException::flattenArgs(). 2014-02-04 08:06:39 +01:00
Fabien Potencier
4c9e30714d Merge branch '2.4'
* 2.4:
  $default can be string
  Fix wording for Process class documentation
  Option can be bool too (eg. --force)
  [Form] Update DateTime objects only if the actual value has changed
  Revert "bug #10091 [Translation] Update PluralizationRules.php (guilhermeblanco)"
  [HttpFoundation] fixed typo
  Added delta for Request comparison
  add zh_TW validator translations
  Added Bulgarian translation for security component
2014-02-03 18:15:42 +01:00
Fabien Potencier
3d91128d05 Merge branch '2.3' into 2.4
* 2.3:
  $default can be string
  Fix wording for Process class documentation
  Option can be bool too (eg. --force)
  [Form] Update DateTime objects only if the actual value has changed
  Revert "bug #10091 [Translation] Update PluralizationRules.php (guilhermeblanco)"
  [HttpFoundation] fixed typo
  Added delta for Request comparison
  add zh_TW validator translations
  Added Bulgarian translation for security component
2014-02-03 18:15:33 +01:00
Fabien Potencier
acd3317de8 [HttpKernel] fixed wrong reference in TraceableEventDispatcher 2014-02-03 18:13:40 +01:00
Fabien Potencier
1e8988083c Revert "minor #10160 [Translation] [Loader] Add INI_SCANNER_RAW to parse ini files (TeLiXj)"
This reverts commit 7c3a3e11cf, reversing
changes made to d61f4921e6.
2014-02-03 13:28:27 +01:00
Fabien Potencier
12407586b2 [Routing] fixed CS 2014-02-03 12:24:19 +01:00
Fabien Potencier
e22339596d [Debug] fixed case differences between PHP and HHVM (classes are case-insensitive anyway in PHP) 2014-02-03 11:14:27 +01:00
Fabien Potencier
23acc24015 [Debug] made order of suggestions predictable in error messages 2014-02-03 11:14:18 +01:00
Fabien Potencier
10d4d56106 removed unneded test groups 2014-02-03 09:12:26 +01:00
Fabien Potencier
51d3d62946 feature #8655 Adds PTY mode & convenience method mustRun() (schmittjoh)
This PR was merged into the 2.5-dev branch.

Discussion
----------

Adds PTY mode & convenience method mustRun()

This makes two additions. I've split them into separate commits so that you can pull them separately if required.

1. Adds PTY mode.
In contrast to the existing TTY mode, the proc_open call becomes the master not the process currently executing.

2. Adds a ``mustRun`` method
This is merely for convenience:

```php
# Before
$proc = new Process($cmd);
if (0 !== $proc->run()) {
    throw new ProcessFailedException($proc);
}

$proc = new Process($cmd);
if (0 !== $proc->run()) {
    throw new ProcessFailedException($proc);
}

# After
(new Process($cmd))->mustRun();
(new Process($cmd))->mustRun();

Commits
-------

dbd264a adds cache for isPtySupported()
6c11207 attempts to fix tests on Travis
2ff1870 adds convenience method mustRun
53441aa adds support for PTY mode
2014-02-03 09:11:05 +01:00
Fabien Potencier
d22a1eea70 minor #10184 [Console] $default can be string (Jmoati)
This PR was submitted for the 2.3-dev branch but it was merged into the 2.3 branch instead (closes #10184).

Discussion
----------

[Console] $default can be string

Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
License of the code: MIT

Commits
-------

39ab7f3 [Console] $default can be string
2014-02-03 07:37:36 +01:00
Jacques Moati
7e389fe955 $default can be string 2014-02-03 07:37:35 +01:00
Fabien Potencier
6e5576b9e1 minor #10177 [Process] Fix wording for class documentation (lol768)
This PR was submitted for the 2.3-dev branch but it was merged into the 2.3 branch instead (closes #10177).

Discussion
----------

[Process] Fix wording for class documentation

| Q             | A
| ------------- | ---
| Fixed tickets | ----
| License       | MIT

"ease start" didn't make a lot of sense. This PR fixes this minor wording issue.

Commits
-------

51f5a57 Fix wording for Process class documentation
2014-02-02 16:17:32 +01:00
lol768
905f2a091b Fix wording for Process class documentation 2014-02-02 16:17:32 +01:00
Fabien Potencier
7affb71196 minor #10172 [WebProfilerBundle] Use inline images instead of asset() in form-panel (Danez)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[WebProfilerBundle] Use inline images instead of asset() in form-panel

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | silexphp/Silex-WebProfiler#33
| License       | MIT
| Doc PR        |

In the ```form.html.twig```-template in dev-master the twig function ```assert()``` is used to load the images for the toggle-buttons. This is bad, as the profiler is also used in other projects, which maybe do not have an ```assert()``` function, like Silex.
 In version 2.4.x this is not an issue, as the new images were introduced for 2.5.

I change the assert() part to inline data-images with this [converter](http://www.askapache.com/online-tools/base64-image-converter/). Compression was enabled, so the images should be as small as possible. I also compressed the toolbar-icon a little bit further.

While switching between before (dev-master) and after (this PR) I have not spotted any visual difference.

Commits
-------

12eabd8 remove unused icons
f259157 Further compress icon
eb6d02c Use inline images instead of asset() function
2014-02-01 20:51:15 +01:00
Daniel Tschinder
12eabd8d60 remove unused icons 2014-02-01 20:22:15 +01:00
Fabien Potencier
7d07d24bfd minor #10174 [Console] Option can be bool too (eg. --force) (Jmoati)
This PR was submitted for the 2.3-dev branch but it was merged into the 2.3 branch instead (closes #10174).

Discussion
----------

[Console] Option can be bool too (eg. --force)

Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
License of the code: MIT

Commits
-------

aa87eeb Option can be bool too (eg. --force)
2014-02-01 19:09:00 +01:00
Jacques Moati
418429275d Option can be bool too (eg. --force) 2014-02-01 19:08:59 +01:00
Fabien Potencier
7c3a3e11cf minor #10160 [Translation] [Loader] Add INI_SCANNER_RAW to parse ini files (TeLiXj)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Translation] [Loader] Add INI_SCANNER_RAW to parse ini files

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

INI_SCANNER_RAW change the default scanner mode of parse_ini_files to parse all values without evaluate. This allow values with single quotes, "no" and "false" and raise an error if you use the deprecated "#" as comment character.
This change is specially good for shared translations, because a translator haven't to know that he can't use a few restricted terms.
And has a residual improvement: it's twice fast that use the default value (INI_SCANNER_NORMAL) in my tests

Commits
-------

5ef60f1 [Translation] [Loader] Add INI_SCANNER_RAW to parse ini files
2014-02-01 17:52:05 +01:00
Daniel Tschinder
f2591572ea Further compress icon 2014-01-31 22:00:20 +01:00
Daniel Tschinder
eb6d02cd15 Use inline images instead of asset() function
For compatibility to other projects using assert() should not be used in webProfiler-templates.
2014-01-31 18:39:01 +01:00
TeLiXj
5ef60f1494 [Translation] [Loader] Add INI_SCANNER_RAW to parse ini files
| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | yes
| Deprecations? | no
| Tests pass?   | no
| Fixed tickets | 
| License       | MIT
| Doc PR        | 

INI_SCANNER_RAW change the default scanner mode of parse_ini_files to parse all values without evaluate. This allow values with single quotes, "no" and "false" and raise an error if you use the deprecated "#" as comment character.
This change is specially good for shared translations, because a translator haven't to know that he can't use a few restricted terms.
And has a residual improvement: it's twice fast that use the default value (INI_SCANNER_NORMAL) in my tests
2014-01-29 22:47:07 +01:00
Fabien Potencier
e973fa45f5 bug #10151 [Form] Update DateTime objects only if the actual value has changed (peterrehm)
This PR was squashed before being merged into the 2.3 branch (closes #10151).

Discussion
----------

[Form] Update DateTime objects only if the actual value has changed

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

Right now the Form component replaces DateTime fields with new Objects, therefore the hash is changing.
This leads to unnecessary database updated when working with doctrine. With this patch the DateTime object
of the actual entity is only replaced if the value has been changed.

Commits
-------

1f22d3a [Form] Update DateTime objects only if the actual value has changed
2014-01-29 07:46:08 +01:00
Peter Rehm
1f22d3a564 [Form] Update DateTime objects only if the actual value has changed 2014-01-29 07:46:08 +01:00
Fabien Potencier
c476d13b57 Revert "bug #10091 [Translation] Update PluralizationRules.php (guilhermeblanco)"
This reverts commit 61625b466d, reversing
changes made to 3558588891.
2014-01-28 16:54:04 +01:00
Fabien Potencier
625a4b9650 [HttpFoundation] fixed typo 2014-01-28 16:07:56 +01:00
Fabien Potencier
d61f4921e6 minor #10149 Fixed grammar in Hungarian translations (r1pp3rj4ck)
This PR was merged into the 2.5-dev branch.

Discussion
----------

Fixed grammar in Hungarian translations

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

Commits
-------

7f74049 Fixed grammar in Hungarian translations
2014-01-28 10:28:20 +01:00
r1pp3rj4ck
7f740493ba Fixed grammar in Hungarian translations 2014-01-27 23:45:52 +01:00
Fabien Potencier
0808ceb1fe minor #10143 [Tests] [HttpKernel] Added delta for Request comparison (lavoiesl)
This PR was submitted for the 2.3-dev branch but it was merged into the 2.3 branch instead (closes #10143).

Discussion
----------

[Tests] [HttpKernel] Added delta for Request comparison

| Q             | A
| ------------- | ---
| Bug fix?      | yes (in tests only)
| New feature?  | -
| BC breaks?    | -
| Deprecations? | -
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Sometimes, tests are failing because REQUEST_TIME changes between the creation of the various sub-requests.

By using delta, we allow a maximum of one second of difference.
Since this is a shady behaviour, I added minimal explanation as comments

Example: https://travis-ci.org/symfony/symfony/jobs/17668158#L511

Commits
-------

3a67309 [Tests] [HttpKernel] Added delta for Request comparison
2014-01-27 08:59:15 +01:00
Sébastien Lavoie
72d45839f0 Added delta for Request comparison
Sometimes, tests are failing because REQUEST_TIME
changes between the creation of the various sub-requests.

By using delta, we allow maximum of second of difference.

Example: https://travis-ci.org/symfony/symfony/jobs/17668158#L511
2014-01-27 08:59:15 +01:00
Fabien Potencier
0cb789a369 minor #10144 [Validator][Translation] add zh_TW validator translations (RickySu)
This PR was merged into the 2.3 branch.

Discussion
----------

[Validator][Translation] add zh_TW validator translations

add Traditional Chinese validator translations.

Commits
-------

c755e85 add zh_TW validator translations
2014-01-27 08:55:41 +01:00
Ricky Su
c755e85a39 add zh_TW validator translations 2014-01-27 09:55:33 +08:00
Fabien Potencier
6e9446c4cf minor #10141 [Security] added Bulgarian translation (RoumenDamianoff)
This PR was submitted for the 2.3-dev branch but it was merged into the 2.3 branch instead (closes #10141).

Discussion
----------

[Security] added Bulgarian translation

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

Commits
-------

8fceeac Added Bulgarian translation for security component
2014-01-26 22:34:10 +01:00
Roumen Damianoff
e9cc2283c8 Added Bulgarian translation for security component 2014-01-26 22:34:10 +01:00