comparison vendor/psy/psysh/test/CodeCleaner/ListPassTest.php @ 17:129ea1e6d783

Update, including to Drupal core 8.6.10
author Chris Cannam
date Thu, 28 Feb 2019 13:21:36 +0000
parents c2387f117808
children
comparison
equal deleted inserted replaced
16:c2387f117808 17:129ea1e6d783
24 * @dataProvider invalidStatements 24 * @dataProvider invalidStatements
25 * @expectedException \Psy\Exception\ParseErrorException 25 * @expectedException \Psy\Exception\ParseErrorException
26 */ 26 */
27 public function testProcessInvalidStatement($code, $expectedMessage) 27 public function testProcessInvalidStatement($code, $expectedMessage)
28 { 28 {
29 if (method_exists($this, 'setExpectedException')) { 29 if (\method_exists($this, 'setExpectedException')) {
30 $this->setExpectedException('Psy\Exception\ParseErrorException', $expectedMessage); 30 $this->setExpectedException('Psy\Exception\ParseErrorException', $expectedMessage);
31 } else { 31 } else {
32 $this->expectExceptionMessage($expectedMessage); 32 $this->expectExceptionMessage($expectedMessage);
33 } 33 }
34 34
48 $invalidExpr = [ 48 $invalidExpr = [
49 ['list() = array()', $errorEmptyList], 49 ['list() = array()', $errorEmptyList],
50 ['list("a") = array(1)', $errorPhpParserSyntax], 50 ['list("a") = array(1)', $errorPhpParserSyntax],
51 ]; 51 ];
52 52
53 if (version_compare(PHP_VERSION, '7.1', '<')) { 53 if (\version_compare(PHP_VERSION, '7.1', '<')) {
54 return array_merge($invalidExpr, [ 54 return \array_merge($invalidExpr, [
55 ['list("a" => _) = array("a" => 1)', $errorPhpParserSyntax], 55 ['list("a" => _) = array("a" => 1)', $errorPhpParserSyntax],
56 ['[] = []', $errorShortListAssign], 56 ['[] = []', $errorShortListAssign],
57 ['[$a] = [1]', $errorShortListAssign], 57 ['[$a] = [1]', $errorShortListAssign],
58 ['list("a" => $a) = array("a" => 1)', $errorAssocListAssign], 58 ['list("a" => $a) = array("a" => 1)', $errorAssocListAssign],
59 ['[$a[0], $a[1]] = [1, 2]', $errorShortListAssign],
60 ['[$a->b, $a->c] = [1, 2]', $errorShortListAssign],
59 ]); 61 ]);
60 } 62 }
61 63
62 return array_merge($invalidExpr, [ 64 return \array_merge($invalidExpr, [
63 ['list("a" => _) = array("a" => 1)', $errorPhpParserSyntax], 65 ['list("a" => _) = array("a" => 1)', $errorPhpParserSyntax],
64 ['["a"] = [1]', $errorNonVariableAssign], 66 ['["a"] = [1]', $errorNonVariableAssign],
65 ['[] = []', $errorEmptyList], 67 ['[] = []', $errorEmptyList],
66 ['[,] = [1,2]', $errorEmptyList], 68 ['[,] = [1,2]', $errorEmptyList],
69 ['[,,] = [1,2,3]', $errorEmptyList],
67 ]); 70 ]);
68 } 71 }
69 72
70 /** 73 /**
71 * @dataProvider validStatements 74 * @dataProvider validStatements
82 $validExpr = [ 85 $validExpr = [
83 ['list($a) = array(1)'], 86 ['list($a) = array(1)'],
84 ['list($x, $y) = array(1, 2)'], 87 ['list($x, $y) = array(1, 2)'],
85 ]; 88 ];
86 89
87 if (version_compare(PHP_VERSION, '7.1', '>=')) { 90 if (\version_compare(PHP_VERSION, '7.1', '>=')) {
88 return array_merge($validExpr, [ 91 return \array_merge($validExpr, [
89 ['[$a] = array(1)'], 92 ['[$a] = array(1)'],
90 ['list($b) = [2]'], 93 ['list($b) = [2]'],
91 ['[$x, $y] = array(1, 2)'], 94 ['[$x, $y] = array(1, 2)'],
92 ['[$a] = [1]'], 95 ['[$a] = [1]'],
93 ['[$x, $y] = [1, 2]'], 96 ['[$x, $y] = [1, 2]'],
94 ['["_" => $v] = ["_" => 1]'], 97 ['["_" => $v] = ["_" => 1]'],
95 ['[$a,] = [1,2,3]'], 98 ['[$a,] = [1,2,3]'],
96 ['[,$b] = [1,2,3]'], 99 ['[,$b] = [1,2,3]'],
97 ['[$a,,$c] = [1,2,3]'], 100 ['[$a,,$c] = [1,2,3]'],
98 ['[$a,,,] = [1,2,3]'], 101 ['[$a,,,] = [1,2,3]'],
102 ['[$a[0], $a[1]] = [1, 2]'],
103 ['[$a[0][0][0], $a[0][0][1]] = [1, 2]'],
104 ['[$a->b, $a->c] = [1, 2]'],
105 ['[$a->b[0], $a->c[1]] = [1, 2]'],
106 ['[$a[0]->b[0], $a[0]->c[1]] = [1, 2]'],
107 ['[$a[$b->c + $b->d]] = [1]'],
108 ['[$a->c()->d, $a->c()->e] = [1, 2]'],
109 ['[x()->a, x()->b] = [1, 2]'],
99 ]); 110 ]);
100 } 111 }
101 112
102 return $validExpr; 113 return $validExpr;
103 } 114 }