Mercurial > hg > isophonics-drupal-site
comparison vendor/nikic/php-parser/test/PhpParser/Lexer/EmulativeTest.php @ 13:5fb285c0d0e3
Update Drupal core to 8.4.7 via Composer. Security update; I *think* we've
been lucky to get away with this so far, as we don't support self-registration
which seems to be used by the so-called "drupalgeddon 2" attack that 8.4.5
was vulnerable to.
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:33:26 +0100 |
parents | 4c8ae668cc8c |
children | 129ea1e6d783 |
comparison
equal
deleted
inserted
replaced
12:7a779792577d | 13:5fb285c0d0e3 |
---|---|
1 <?php | 1 <?php declare(strict_types=1); |
2 | 2 |
3 namespace PhpParser\Lexer; | 3 namespace PhpParser\Lexer; |
4 | 4 |
5 use PhpParser\LexerTest; | 5 use PhpParser\LexerTest; |
6 use PhpParser\Parser\Tokens; | 6 use PhpParser\Parser\Tokens; |
7 | 7 |
8 require_once __DIR__ . '/../LexerTest.php'; | 8 require_once __DIR__ . '/../LexerTest.php'; |
9 | 9 |
10 class EmulativeTest extends LexerTest | 10 class EmulativeTest extends LexerTest |
11 { | 11 { |
12 protected function getLexer(array $options = array()) { | 12 protected function getLexer(array $options = []) { |
13 return new Emulative($options); | 13 return new Emulative($options); |
14 } | 14 } |
15 | 15 |
16 /** | 16 /** |
17 * @dataProvider provideTestReplaceKeywords | 17 * @dataProvider provideTestReplaceKeywords |
35 $this->assertSame(Tokens::T_STRING, $lexer->getNextToken()); | 35 $this->assertSame(Tokens::T_STRING, $lexer->getNextToken()); |
36 $this->assertSame(0, $lexer->getNextToken()); | 36 $this->assertSame(0, $lexer->getNextToken()); |
37 } | 37 } |
38 | 38 |
39 public function provideTestReplaceKeywords() { | 39 public function provideTestReplaceKeywords() { |
40 return array( | 40 return [ |
41 // PHP 5.5 | 41 // PHP 5.5 |
42 array('finally', Tokens::T_FINALLY), | 42 ['finally', Tokens::T_FINALLY], |
43 array('yield', Tokens::T_YIELD), | 43 ['yield', Tokens::T_YIELD], |
44 | 44 |
45 // PHP 5.4 | 45 // PHP 5.4 |
46 array('callable', Tokens::T_CALLABLE), | 46 ['callable', Tokens::T_CALLABLE], |
47 array('insteadof', Tokens::T_INSTEADOF), | 47 ['insteadof', Tokens::T_INSTEADOF], |
48 array('trait', Tokens::T_TRAIT), | 48 ['trait', Tokens::T_TRAIT], |
49 array('__TRAIT__', Tokens::T_TRAIT_C), | 49 ['__TRAIT__', Tokens::T_TRAIT_C], |
50 | 50 |
51 // PHP 5.3 | 51 // PHP 5.3 |
52 array('__DIR__', Tokens::T_DIR), | 52 ['__DIR__', Tokens::T_DIR], |
53 array('goto', Tokens::T_GOTO), | 53 ['goto', Tokens::T_GOTO], |
54 array('namespace', Tokens::T_NAMESPACE), | 54 ['namespace', Tokens::T_NAMESPACE], |
55 array('__NAMESPACE__', Tokens::T_NS_C), | 55 ['__NAMESPACE__', Tokens::T_NS_C], |
56 ); | 56 ]; |
57 } | 57 } |
58 | 58 |
59 /** | 59 /** |
60 * @dataProvider provideTestLexNewFeatures | 60 * @dataProvider provideTestLexNewFeatures |
61 */ | 61 */ |
84 $this->assertSame($stringifiedToken, $text); | 84 $this->assertSame($stringifiedToken, $text); |
85 $this->assertSame(0, $lexer->getNextToken()); | 85 $this->assertSame(0, $lexer->getNextToken()); |
86 } | 86 } |
87 | 87 |
88 public function provideTestLexNewFeatures() { | 88 public function provideTestLexNewFeatures() { |
89 return array( | 89 return [ |
90 array('yield from', array( | 90 ['yield from', [ |
91 array(Tokens::T_YIELD_FROM, 'yield from'), | 91 [Tokens::T_YIELD_FROM, 'yield from'], |
92 )), | 92 ]], |
93 array("yield\r\nfrom", array( | 93 ["yield\r\nfrom", [ |
94 array(Tokens::T_YIELD_FROM, "yield\r\nfrom"), | 94 [Tokens::T_YIELD_FROM, "yield\r\nfrom"], |
95 )), | 95 ]], |
96 array('...', array( | 96 ['...', [ |
97 array(Tokens::T_ELLIPSIS, '...'), | 97 [Tokens::T_ELLIPSIS, '...'], |
98 )), | 98 ]], |
99 array('**', array( | 99 ['**', [ |
100 array(Tokens::T_POW, '**'), | 100 [Tokens::T_POW, '**'], |
101 )), | 101 ]], |
102 array('**=', array( | 102 ['**=', [ |
103 array(Tokens::T_POW_EQUAL, '**='), | 103 [Tokens::T_POW_EQUAL, '**='], |
104 )), | 104 ]], |
105 array('??', array( | 105 ['??', [ |
106 array(Tokens::T_COALESCE, '??'), | 106 [Tokens::T_COALESCE, '??'], |
107 )), | 107 ]], |
108 array('<=>', array( | 108 ['<=>', [ |
109 array(Tokens::T_SPACESHIP, '<=>'), | 109 [Tokens::T_SPACESHIP, '<=>'], |
110 )), | 110 ]], |
111 array('0b1010110', array( | 111 ['0b1010110', [ |
112 array(Tokens::T_LNUMBER, '0b1010110'), | 112 [Tokens::T_LNUMBER, '0b1010110'], |
113 )), | 113 ]], |
114 array('0b1011010101001010110101010010101011010101010101101011001110111100', array( | 114 ['0b1011010101001010110101010010101011010101010101101011001110111100', [ |
115 array(Tokens::T_DNUMBER, '0b1011010101001010110101010010101011010101010101101011001110111100'), | 115 [Tokens::T_DNUMBER, '0b1011010101001010110101010010101011010101010101101011001110111100'], |
116 )), | 116 ]], |
117 array('\\', array( | 117 ['\\', [ |
118 array(Tokens::T_NS_SEPARATOR, '\\'), | 118 [Tokens::T_NS_SEPARATOR, '\\'], |
119 )), | 119 ]], |
120 array("<<<'NOWDOC'\nNOWDOC;\n", array( | 120 ["<<<'NOWDOC'\nNOWDOC;\n", [ |
121 array(Tokens::T_START_HEREDOC, "<<<'NOWDOC'\n"), | 121 [Tokens::T_START_HEREDOC, "<<<'NOWDOC'\n"], |
122 array(Tokens::T_END_HEREDOC, 'NOWDOC'), | 122 [Tokens::T_END_HEREDOC, 'NOWDOC'], |
123 array(ord(';'), ';'), | 123 [ord(';'), ';'], |
124 )), | 124 ]], |
125 array("<<<'NOWDOC'\nFoobar\nNOWDOC;\n", array( | 125 ["<<<'NOWDOC'\nFoobar\nNOWDOC;\n", [ |
126 array(Tokens::T_START_HEREDOC, "<<<'NOWDOC'\n"), | 126 [Tokens::T_START_HEREDOC, "<<<'NOWDOC'\n"], |
127 array(Tokens::T_ENCAPSED_AND_WHITESPACE, "Foobar\n"), | 127 [Tokens::T_ENCAPSED_AND_WHITESPACE, "Foobar\n"], |
128 array(Tokens::T_END_HEREDOC, 'NOWDOC'), | 128 [Tokens::T_END_HEREDOC, 'NOWDOC'], |
129 array(ord(';'), ';'), | 129 [ord(';'), ';'], |
130 )), | 130 ]], |
131 ); | 131 ]; |
132 } | 132 } |
133 } | 133 } |