1 <?php declare(strict_types=1);
3 namespace PhpParser\Node\Scalar;
5 use PHPUnit\Framework\TestCase;
7 class StringTest extends TestCase
10 * @dataProvider provideTestParseEscapeSequences
12 public function testParseEscapeSequences($expected, $string, $quote) {
15 String_::parseEscapeSequences($string, $quote)
20 * @dataProvider provideTestParse
22 public function testCreate($expected, $string) {
25 String_::parse($string)
29 public function provideTestParseEscapeSequences() {
33 ['\\"\\`', '\\"\\`', null],
34 ["\\\$\n\r\t\f\v", '\\\\\$\n\r\t\f\v', null],
36 [chr(255), '\xFF', null],
37 [chr(255), '\377', null],
38 [chr(0), '\400', null],
40 ['\xFF', '\\\\xFF', null],
44 public function provideTestParse() {
54 foreach ($this->provideTestParseEscapeSequences() as $i => $test) {
55 // skip second and third tests, they aren't for double quotes
56 if ($i !== 1 && $i !== 2) {
57 $tests[] = [$test[0], '"' . $test[1] . '"'];