1
0
Fork 0
mirror of https://we.phorge.it/source/arcanist.git synced 2024-11-29 10:12:41 +01:00

Fix the ArcanistXHPASTLinter single quote rule.

Summary: Previously, the `ArcanistXHPASTLinter` was suggesting that `"\1"` be written as `'\1'`, which is incorrect. Therefore, I ensured that all of the cases listed in the [[http://www.php.net/manual/en/language.types.string.php | PHP documentation]] were handled correctly.

Test Plan: `arc unit`

Reviewers: epriestley, #blessed_reviewers

Reviewed By: epriestley, #blessed_reviewers

Subscribers: epriestley, Korvin

Differential Revision: https://secure.phabricator.com/D9182
This commit is contained in:
Joshua Spence 2014-05-18 06:47:37 -07:00 committed by epriestley
parent b21a420071
commit 178b32c6c2
2 changed files with 17 additions and 4 deletions

View file

@ -2389,15 +2389,22 @@ final class ArcanistXHPASTLinter extends ArcanistBaseXHPASTLinter {
// Double quoted strings are allowed when the string contains the // Double quoted strings are allowed when the string contains the
// following characters. // following characters.
static $allowed_chars = array( static $allowed_chars = array(
'\0',
'\n', '\n',
'\r', '\r',
'\f',
'\t', '\t',
'\v', '\v',
'\x', '\e',
'\b', '\f',
'\'', '\'',
'\0',
'\1',
'\2',
'\3',
'\4',
'\5',
'\6',
'\7',
'\x',
); );
$contains_special_chars = false; $contains_special_chars = false;

View file

@ -8,6 +8,9 @@
pht( pht(
"This string requires \x12\x34 double quotes, but ". "This string requires \x12\x34 double quotes, but ".
"this string does not. Here, they are used for consistency."); "this string does not. Here, they are used for consistency.");
pht(
"This string also requires \123\345 double quotes, but ".
"this string does not. Here, they are used for consistency.");
~~~~~~~~~~ ~~~~~~~~~~
advice:3:1 advice:3:1
~~~~~~~~~~ ~~~~~~~~~~
@ -21,3 +24,6 @@ advice:3:1
pht( pht(
"This string requires \x12\x34 double quotes, but ". "This string requires \x12\x34 double quotes, but ".
"this string does not. Here, they are used for consistency."); "this string does not. Here, they are used for consistency.");
pht(
"This string also requires \123\345 double quotes, but ".
"this string does not. Here, they are used for consistency.");