Commit Graph

17 Commits

Author SHA1 Message Date
Alexander
2f07966677 [Yaml] Add test showing that dates before 01 Jan 1970 are correctly parsed 2012-12-12 11:54:56 +01:00
Fabien Potencier
b27b749025 made usage of Composer autoloader for subtree-split unit tests 2012-11-09 14:10:06 +01:00
Fabien Potencier
c4c5d3c02d merged branch jakzal/yamlDoubleQuotesDumperFix (PR #4320)
Commits
-------

b631073 [Yaml] Fixed double quotes escaping in Dumper.

Discussion
----------

[Yaml] Fixed double quotes escaping in Dumper

Issue #4308 is caused by Dumper::escapeWithDoubleQuotes() which uses [str_replace()](http://php.net/str_replace).

From the php docs:

> Because str_replace() replaces left to right, it might replace a previously inserted value when doing multiple replacements.

We should be very careful in deciding about the order of elements in $escapees array. I'd really appreciate if someone reviewed my fix. Tests say I didn't break anything but I'm not sure what percentage of Yaml specification is covered by tests.

Bug fix: yes
Feature addition: no
Backwards compatibility break: not that I know
Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/jakzal/symfony.png?branch=yamlDoubleQuotesDumperFix)](http://travis-ci.org/jakzal/symfony)
Fixes the following tickets: #4308

---------------------------------------------------------------------------

by travisbot at 2012-05-18T08:53:51Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1364279) (merged 5192722c into a04acc89).

---------------------------------------------------------------------------

by travisbot at 2012-05-18T23:19:49Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1371539) (merged ecaa1aab into fc3c609b).

---------------------------------------------------------------------------

by dinamic at 2012-05-19T07:35:21Z

Something is really wrong with this method. You can see clearly that multiple characters would fail proper escaping.

Here's an example:
```
$value = '\\\\"some value\n \"some quoted string\" and \'some single quotes one\'"';
var_dump(Escaper::escapeWithDoubleQuotes($value));
string(72) ""\\\"some value\n \\some quoted string\\ and 'some single quotes one'\"""
```

To begin with the backslash - in the initial value you have 2 (escaped ones), that after escaping should result in 4, not in 1 (escaped). I guess this behavior has to be verified with the importer, but imho it does not seem right.

Does anyone know why this escaping wasn't done using a regular expression in first place?

---------------------------------------------------------------------------

by clemens-tolboom at 2012-05-19T10:18:58Z

Searching for https://duckduckgo.com/?q=what+is+\xc2\x85 the table on http://stackoverflow.com/questions/6609895/efficiently-replace-bad-characters is interesting enough to decide we need way more documentation on this file.

\xc2\x85 seems to be triple dot (ellipses)
\xe2\x80\xa9 seems to be paragraph separator see http://drupal.org/node/914360#comment-3468550

Conflicts:
	src/Symfony/Component/Yaml/Escaper.php
2012-10-29 12:15:41 +01:00
Fabien Potencier
d100ffaf76 fixed CS 2012-07-09 14:54:20 +02:00
Włodzimierz Gajda
18f8fc7ff0 [Finder] tests for Yaml class 2012-07-04 18:29:04 +02:00
Fabien Potencier
a1b73887f7 [Yaml] fixed parsing when a mapping is mixed within a sequence and vice-versa (closes #4634) 2012-07-01 11:19:53 +02:00
Fabien Potencier
3ab9a6eec5 [Yaml] fixed string parsing (closes #4561) 2012-06-13 14:57:32 +02:00
Tim Nagel
4ac48d9e6c Added failing YAML inline string to tests 2012-06-13 08:07:25 +10:00
Fabien Potencier
37678e1715 merged branch paul-matthews/master (PR #4042)
Commits
-------

478227d Fixed quoting issues with Yaml Inline Parser

Discussion
----------

[Yaml] fix parsing quotes problem

Added some basic checking for quotes on their own within strings. Used single quote ' followed by "," and ":" to denote the end of the current string to test.

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #4021
Todo: N/A

---------------------------------------------------------------------------

by fabpot at 2012-05-07T09:22:56Z

After doing the requested changes, can you squash your commits? Thanks.

---------------------------------------------------------------------------

by paul-matthews at 2012-05-09T13:29:45Z

Resolved and squashed

---------------------------------------------------------------------------

by travisbot at 2012-05-09T13:30:30Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1285048) (merged 5ce6d4e1 into 6c714095).

---------------------------------------------------------------------------

by travisbot at 2012-05-09T13:31:06Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1285057) (merged 3592fcec into e54f4e46).

---------------------------------------------------------------------------

by travisbot at 2012-05-09T13:33:40Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1285094) (merged e209f786 into e54f4e46).

---------------------------------------------------------------------------

by travisbot at 2012-05-09T13:37:42Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1285153) (merged 0967b513 into e54f4e46).

---------------------------------------------------------------------------

by fabpot at 2012-05-09T14:00:29Z

It looks like that another commit is in your PR that should not be there.

---------------------------------------------------------------------------

by paul-matthews at 2012-05-09T15:52:35Z

Right-o will remove

---------------------------------------------------------------------------

by paul-matthews at 2012-05-09T15:54:15Z

resolved

---------------------------------------------------------------------------

by travisbot at 2012-05-09T15:57:15Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1286339) (merged fc276209 into e66a0bb3).

---------------------------------------------------------------------------

by fabpot at 2012-05-10T05:20:18Z

Apparently, some tests do not pass anymore after the patch. Can you have a look at them? Thanks.

---------------------------------------------------------------------------

by paul-matthews at 2012-05-10T11:20:45Z

Sure - looking into it.

---------------------------------------------------------------------------

by paul-matthews at 2012-05-10T17:55:53Z

I believe that's fixed.

The entire suite works locally now.

---------------------------------------------------------------------------

by travisbot at 2012-05-10T17:55:54Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1297641) (merged 884c02ed into fae4523f).

---------------------------------------------------------------------------

by paul-matthews at 2012-05-10T17:57:03Z

Unsure why travis fails.

---------------------------------------------------------------------------

by travisbot at 2012-05-10T18:00:28Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1297650) (merged 478227d9 into fae4523f).

---------------------------------------------------------------------------

by stof at 2012-06-09T13:24:52Z

@fabpot 👍
2012-06-09 16:40:39 +02:00
Fabien Potencier
398f445c32 fixed test 2012-05-16 07:44:57 +02:00
Fabien Potencier
41621e42e9 fixed phpdoc @param alignment 2012-05-15 22:19:31 +02:00
Fabien Potencier
d212a30cc0 removed some files from check_cs as they have been fixed now 2012-05-11 18:04:46 +02:00
Paul Matthews
478227d9ac Fixed quoting issues with Yaml Inline Parser
* Added test parse error in parseQuotedScalar
  * Expecting to throw tests, previously trimmed string
  * More details on issue: https://github.com/symfony/symfony/issues/4021
* Enforces single quote escaping when within string quotes
  * Shortens the scope of the validation match
  * Stricter matching rules
* Ensures double quoted strings are not parsed incorrectly
* Split quote matching into 2 types of quotes
  * Separates single and double quotes
  * Fixes intollerence for un escaped double quote
2012-05-10 18:54:47 +01:00
Włodzimierz Gajda
80a2a92edb [2.1][Component][Yaml] fix 4022 2012-05-08 09:18:55 +02:00
Fabien Potencier
76ef8da030 merged 2.0 2012-04-25 12:18:06 +02:00
Fabien Potencier
539634cbaa merged 2.0 2012-04-20 12:18:51 +02:00
Fabien Potencier
fea6b79acd moved component and bridge unit tests to the src/ directory
This is the first step to make each Symfony Component and Bridge self-contained.
2012-03-29 08:37:22 +02:00