Commit Graph

21 Commits

Author SHA1 Message Date
Fabien Potencier
9188f0507d Merge branch '2.7' into 2.8
* 2.7:
  fixed CS
  fixed test
  fixed CS
  Remove default match from AbstractConfigCommand::findExtension
2016-01-21 10:05:51 +01:00
Fabien Potencier
42862c4668 fixed CS 2016-01-21 07:28:40 +01:00
Fabien Potencier
29e789301a [Yaml] marked some classes as being internal 2015-10-12 13:16:35 +02:00
Dariusz Ruminski
cfa3e95f4d CS fixes 2015-04-16 09:01:03 +02:00
Christian Flothmann
cd4349df50 execute cheaper checks before more expensive ones 2015-01-16 15:59:09 +01:00
pthompson
8fa056bc95 Inline private 'is quoting required' methods in Escaper 2015-01-16 14:15:13 +01:00
Lee Rowlands
a0ec0fe402 Add comment as requested 2015-01-06 19:37:09 +10:00
Lee Rowlands
81a8090dde Remove duplicate 'require' 2015-01-06 14:18:13 +10:00
Peter Thompson
3760e67cb2 [Yaml] Improve YAML boolean escaping
- Moves dumping single-quoting logic into Yaml\Escaper
- Ensures that PHP values which would be interpreted as booleans in
  older versions of the YAML spec are escaped with single quotes when
  dumped by the Dumper.
2015-01-05 12:50:08 +01:00
Graham Campbell
443307edc1 Docblock fixes 2014-11-30 13:33:44 +00: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
Christian Flothmann
a7d0cf2070 properly mask escape sequences in quoted strings 2014-09-04 22:00:25 +02:00
Fabien Potencier
e96b018805 fixed types in phpdocs 2014-04-16 12:30:19 +02:00
Fabien Potencier
93edf44950 [Yaml] fixed some license headers 2013-12-28 08:37:38 +01:00
Christophe Coevoet
af369aee64 [Yaml] Fixed the escaping of strings starting with a dash when dumping
Dashes need to be escaped in character sets in regexes as they are used to
specify a range otherwise.
Refs #9039
2013-10-11 00:23:27 +02: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
Brikou CARRE
e898445b94 removed empty lines/trailing spaces 2011-04-15 21:12:02 +02:00
Fabien Potencier
8c423edfef replaced symfony-project.org by symfony.com 2011-03-06 12:40:06 +01:00
Matthew Lewinski
ed338d9422 [Yaml] Improved support for double quoted values.
Added support for the full range of escaped values in double quoted
strings in chapter 5 of the YAML 1.1 and 1.2 specs. The escaping
and unescaping strategies were factored out into separate classes to
keep the logic isolated.

Added examples from the spec to the unit tests for all escaped values.
2011-03-05 15:39:48 -06:00