Page MenuHomePhabricator

D7662.diff

diff --git a/src/parser/xhpast/api/XHPASTNode.php b/src/parser/xhpast/api/XHPASTNode.php
--- a/src/parser/xhpast/api/XHPASTNode.php
+++ b/src/parser/xhpast/api/XHPASTNode.php
@@ -149,7 +149,7 @@
$value = $this->getSemanticString();
$type = $value[0];
- $value = substr($value, 1, -1);
+ $value = preg_replace('/^b?[\'"]|[\'"]$/i', '', $value);
$esc = false;
$len = strlen($value);
$out = '';
diff --git a/src/parser/xhpast/api/__tests__/XHPASTTreeTestCase.php b/src/parser/xhpast/api/__tests__/XHPASTTreeTestCase.php
--- a/src/parser/xhpast/api/__tests__/XHPASTTreeTestCase.php
+++ b/src/parser/xhpast/api/__tests__/XHPASTTreeTestCase.php
@@ -33,6 +33,7 @@
$this->assertEval('simple string', "'simple string'");
$this->assertEval('42', "'42'");
+ $this->assertEval('binary string', "b'binary string'");
$this->assertEval(3.1415926, "3.1415926");
$this->assertEval(42, '42');
$this->assertEval(

File Metadata

Mime Type
text/x-diff
Storage Engine
amazon-s3
Storage Format
Raw Data
Storage Handle
phabricator/kg/vw/tj7nmkypxohw52yo
Default Alt Text
D7662.diff (965 B)

Event Timeline