/opt/cpanel/ea-wappspector/vendor/squizlabs/php_codesniffer/tests/Core/Tokenizers/PHP
NameSizeModeActions
AnonClassParenthesisOwnerTest.inc5590644editdlrm
AnonClassParenthesisOwnerTest.php62670644editdlrm
ArrayKeywordTest.inc12820644editdlrm
ArrayKeywordTest.php68490644editdlrm
AttributesParseError1Test.inc1660644editdlrm
AttributesParseError1Test.php21070644editdlrm
AttributesParseError2Test.inc1570644editdlrm
AttributesParseError2Test.php20130644editdlrm
AttributesParseError3Test.inc2210644editdlrm
AttributesParseError3Test.php22530644editdlrm
AttributesParseError4Test.inc1780644editdlrm
AttributesParseError4Test.php26000644editdlrm
AttributesTest.inc27350644editdlrm
AttributesTest.php273870644editdlrm
BackfillAsymmetricVisibilityTest.inc27260644editdlrm
BackfillAsymmetricVisibilityTest.php130230644editdlrm
BackfillEnumTest.inc16080644editdlrm
BackfillEnumTest.php96270644editdlrm
BackfillExplicitOctalNotationTest.inc4030644editdlrm
BackfillExplicitOctalNotationTest.php52120644editdlrm
BackfillFnTokenParseErrorTest.inc1300644editdlrm
BackfillFnTokenParseErrorTest.php17620644editdlrm
BackfillFnTokenTest.inc53220644editdlrm
BackfillFnTokenTest.php353920644editdlrm
BackfillMatchTokenTest.inc74330644editdlrm
BackfillMatchTokenTest.php245580644editdlrm
BackfillNumericSeparatorTest.inc14850644editdlrm
BackfillNumericSeparatorTest.php148440644editdlrm
BackfillReadonlyTest.inc54300644editdlrm
BackfillReadonlyTest.php141780644editdlrm
BitwiseOrTest.inc72080644editdlrm
BitwiseOrTest.php116950644editdlrm
ContextSensitiveKeywordsTest.inc89030644editdlrm
ContextSensitiveKeywordsTest.php286690644editdlrm
DefaultKeywordTest.inc55370644editdlrm
DefaultKeywordTest.php106800644editdlrm
DNFTypesParseError1Test.inc5800644editdlrm
DNFTypesParseError1Test.php28300644editdlrm
DNFTypesParseError2Test.inc16020644editdlrm
DNFTypesParseError2Test.php101610644editdlrm
DNFTypesTest.inc99580644editdlrm
DNFTypesTest.php282940644editdlrm
DoubleArrowTest.inc81300644editdlrm
DoubleArrowTest.php127440644editdlrm
DoubleQuotedStringTest.inc8030644editdlrm
DoubleQuotedStringTest.php62870644editdlrm
EnumCaseTest.inc20770644editdlrm
EnumCaseTest.php62910644editdlrm
ExitKeywordTest.inc24230644editdlrm
ExitKeywordTest.php95470644editdlrm
FinallyTest.inc6360644editdlrm
FinallyTest.php32150644editdlrm
GotoLabelTest.inc15640644editdlrm
GotoLabelTest.php66900644editdlrm
HeredocNowdocTest.inc4770644editdlrm
HeredocNowdocTest.php69740644editdlrm
HeredocParseErrorTest.inc2460644editdlrm
HeredocParseErrorTest.php13320644editdlrm
HeredocStringTest.inc26280644editdlrm
HeredocStringTest.php68180644editdlrm
NamedFunctionCallArgumentsTest.inc138750644editdlrm
NamedFunctionCallArgumentsTest.php343590644editdlrm
NullableVsInlineThenParseErrorTest.inc3130644editdlrm
NullableVsInlineThenParseErrorTest.php13850644editdlrm
NullableVsInlineThenTest.inc24100644editdlrm
NullableVsInlineThenTest.php58110644editdlrm
NullsafeObjectOperatorTest.inc5670644editdlrm
NullsafeObjectOperatorTest.php50280644editdlrm
OtherContextSensitiveKeywordsTest.inc145260644editdlrm
OtherContextSensitiveKeywordsTest.php400410644editdlrm
PHPOpenTagEOF1Test.inc1480644editdlrm
PHPOpenTagEOF1Test.php18220644editdlrm
PHPOpenTagEOF2Test.inc1490644editdlrm
PHPOpenTagEOF2Test.php18230644editdlrm
PHPOpenTagEOF3Test.inc1580644editdlrm
PHPOpenTagEOF3Test.php18320644editdlrm
ResolveSimpleTokenTest.inc7460644editdlrm
ResolveSimpleTokenTest.php105570644editdlrm
ShortArrayTest.inc28320644editdlrm
ShortArrayTest.php80360644editdlrm
StableCommentWhitespaceTest.inc23830644editdlrm
StableCommentWhitespaceTest.php375730644editdlrm
StableCommentWhitespaceWinTest.inc11280644editdlrm
StableCommentWhitespaceWinTest.php129850644editdlrm
TypedConstantsTest.inc70240644editdlrm
TypedConstantsTest.php246170644editdlrm
TypeIntersectionTest.inc68490644editdlrm
TypeIntersectionTest.php115890644editdlrm
UndoNamespacedNameSingleTokenTest.inc50930644editdlrm
UndoNamespacedNameSingleTokenTest.php693440644editdlrm
YieldTest.inc15820644editdlrm
YieldTest.php162760644editdlrm
Edit: /opt/cpanel/ea-wappspector/vendor/squizlabs/php_codesniffer/tests/Core/Tokenizers/PHP/YieldTest.php (16276B)
* @copyright 2021 Squiz Pty Ltd (ABN 77 084 670 600) * @license https://github.com/PHPCSStandards/PHP_CodeSniffer/blob/HEAD/licence.txt BSD Licence */ namespace PHP_CodeSniffer\Tests\Core\Tokenizers\PHP; use PHP_CodeSniffer\Tests\Core\Tokenizers\AbstractTokenizerTestCase; use PHP_CodeSniffer\Util\Tokens; /** * Tests the tokenization of the `yield` and `yield from` keywords. * * @covers PHP_CodeSniffer\Tokenizers\PHP::tokenize */ final class YieldTest extends AbstractTokenizerTestCase { /** * Test that the yield keyword is tokenized as such. * * @param string $testMarker The comment which prefaces the target token in the test file. * @param string $expectedContent Expected token content. * * @dataProvider dataYieldKeyword * * @return void */ public function testYieldKeyword($testMarker, $expectedContent) { $tokens = $this->phpcsFile->getTokens(); $target = $this->getTargetToken($testMarker, [T_YIELD, T_YIELD_FROM, T_STRING]); $tokenArray = $tokens[$target]; $this->assertSame(T_YIELD, $tokenArray['code'], 'Token tokenized as '.$tokenArray['type'].', not T_YIELD (code)'); // This assertion would fail on PHP 5.4 with PHPUnit 4 as PHPUnit polyfills the `T_YIELD` token too, but // with a different value, which causes the token 'type' to be set to `UNKNOWN`. // This issue _only_ occurs when running the tests, not when running PHPCS outside of a test situation. // The PHPUnit polyfilled token is declared in the PHP_CodeCoverage_Report_HTML_Renderer_File class // in vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/File.php. if (PHP_VERSION_ID >= 50500) { $this->assertSame('T_YIELD', $tokenArray['type'], 'Token tokenized as '.$tokenArray['type'].', not T_YIELD (type)'); } $this->assertSame($expectedContent, $tokenArray['content'], 'Token content does not match expectation'); }//end testYieldKeyword() /** * Data provider. * * @see testYieldKeyword() * * @return array> */ public static function dataYieldKeyword() { return [ 'yield' => [ 'testMarker' => '/* testYield */', 'expectedContent' => 'yield', ], 'yield followed by comment' => [ 'testMarker' => '/* testYieldFollowedByComment */', 'expectedContent' => 'YIELD', ], 'yield at end of file, live coding' => [ 'testMarker' => '/* testYieldLiveCoding */', 'expectedContent' => 'yield', ], ]; }//end dataYieldKeyword() /** * Test that the yield from keyword is tokenized as a single token when it in on a single line * and only has whitespace between the words. * * @param string $testMarker The comment which prefaces the target token in the test file. * @param string $expectedContent Expected token content. * * @dataProvider dataYieldFromKeywordSingleToken * * @return void */ public function testYieldFromKeywordSingleToken($testMarker, $expectedContent) { $tokens = $this->phpcsFile->getTokens(); $target = $this->getTargetToken($testMarker, [T_YIELD, T_YIELD_FROM, T_STRING]); $tokenArray = $tokens[$target]; $this->assertSame(T_YIELD_FROM, $tokenArray['code'], 'Token tokenized as '.$tokenArray['type'].', not T_YIELD_FROM (code)'); $this->assertSame('T_YIELD_FROM', $tokenArray['type'], 'Token tokenized as '.$tokenArray['type'].', not T_YIELD_FROM (type)'); if (isset($tokenArray['orig_content']) === true) { $this->assertSame($expectedContent, $tokenArray['orig_content'], 'Token (orig) content does not match expectation'); } else { $this->assertSame($expectedContent, $tokenArray['content'], 'Token content does not match expectation'); } }//end testYieldFromKeywordSingleToken() /** * Data provider. * * @see testYieldFromKeywordSingleToken() * * @return array> */ public static function dataYieldFromKeywordSingleToken() { return [ 'yield from' => [ 'testMarker' => '/* testYieldFrom */', 'expectedContent' => 'yield from', ], 'yield from with extra space between' => [ 'testMarker' => '/* testYieldFromWithExtraSpacesBetween */', 'expectedContent' => 'Yield From', ], 'yield from with tab between' => [ 'testMarker' => '/* testYieldFromWithTabBetween */', 'expectedContent' => 'yield from', ], ]; }//end dataYieldFromKeywordSingleToken() /** * Test that the yield from keyword is tokenized as a single token when it in on a single line * and only has whitespace between the words. * * @param string $testMarker The comment which prefaces the target token in the test file. * @param array> $expectedTokens The tokenization expected. * * @dataProvider dataYieldFromKeywordMultiToken * * @return void */ public function testYieldFromKeywordMultiToken($testMarker, $expectedTokens) { $tokens = $this->phpcsFile->getTokens(); $target = $this->getTargetToken($testMarker, [T_YIELD, T_YIELD_FROM, T_STRING]); foreach ($expectedTokens as $nr => $tokenInfo) { $this->assertSame( constant($tokenInfo['type']), $tokens[$target]['code'], 'Token tokenized as '.Tokens::tokenName($tokens[$target]['code']).', not '.$tokenInfo['type'].' (code)' ); $this->assertSame( $tokenInfo['type'], $tokens[$target]['type'], 'Token tokenized as '.$tokens[$target]['type'].', not '.$tokenInfo['type'].' (type)' ); $this->assertSame( $tokenInfo['content'], $tokens[$target]['content'], 'Content of token '.($nr + 1).' ('.$tokens[$target]['type'].') does not match expectations' ); ++$target; } }//end testYieldFromKeywordMultiToken() /** * Data provider. * * @see testYieldFromKeywordMultiToken() * * @return array>>> */ public static function dataYieldFromKeywordMultiToken() { return [ 'yield from with new line' => [ 'testMarker' => '/* testYieldFromSplitByNewLines */', 'expectedTokens' => [ [ 'type' => 'T_YIELD_FROM', 'content' => 'yield', ], [ 'type' => 'T_WHITESPACE', 'content' => ' ', ], [ 'type' => 'T_WHITESPACE', 'content' => ' ', ], [ 'type' => 'T_WHITESPACE', 'content' => ' ', ], [ 'type' => 'T_YIELD_FROM', 'content' => 'FROM', ], [ 'type' => 'T_WHITESPACE', 'content' => ' ', ], ], ], 'yield from with comment' => [ 'testMarker' => '/* testYieldFromSplitByComment */', 'expectedTokens' => [ [ 'type' => 'T_YIELD_FROM', 'content' => 'yield', ], [ 'type' => 'T_WHITESPACE', 'content' => ' ', ], [ 'type' => 'T_COMMENT', 'content' => '/* comment */', ], [ 'type' => 'T_WHITESPACE', 'content' => ' ', ], [ 'type' => 'T_YIELD_FROM', 'content' => 'from', ], [ 'type' => 'T_WHITESPACE', 'content' => ' ', ], ], ], 'yield from with trailing comment' => [ 'testMarker' => '/* testYieldFromWithTrailingComment */', 'expectedTokens' => [ [ 'type' => 'T_YIELD_FROM', 'content' => 'yield', ], [ 'type' => 'T_WHITESPACE', 'content' => ' ', ], [ 'type' => 'T_COMMENT', 'content' => '// comment ', ], [ 'type' => 'T_WHITESPACE', 'content' => ' ', ], [ 'type' => 'T_YIELD_FROM', 'content' => 'from', ], [ 'type' => 'T_WHITESPACE', 'content' => ' ', ], ], ], 'yield from with trailing annotation' => [ 'testMarker' => '/* testYieldFromWithTrailingAnnotation */', 'expectedTokens' => [ [ 'type' => 'T_YIELD_FROM', 'content' => 'yield', ], [ 'type' => 'T_WHITESPACE', 'content' => ' ', ], [ 'type' => 'T_PHPCS_IGNORE', 'content' => '// phpcs:ignore Stnd.Cat.Sniff -- for reasons. ', ], [ 'type' => 'T_WHITESPACE', 'content' => ' ', ], [ 'type' => 'T_YIELD_FROM', 'content' => 'from', ], [ 'type' => 'T_WHITESPACE', 'content' => ' ', ], ], ], 'yield from with new line and comment' => [ 'testMarker' => '/* testYieldFromSplitByNewLineAndComments */', 'expectedTokens' => [ [ 'type' => 'T_YIELD_FROM', 'content' => 'yield', ], [ 'type' => 'T_WHITESPACE', 'content' => ' ', ], [ 'type' => 'T_WHITESPACE', 'content' => ' ', ], [ 'type' => 'T_COMMENT', 'content' => '/* comment line 1 ', ], [ 'type' => 'T_COMMENT', 'content' => ' line 2 */', ], [ 'type' => 'T_WHITESPACE', 'content' => ' ', ], [ 'type' => 'T_WHITESPACE', 'content' => ' ', ], [ 'type' => 'T_COMMENT', 'content' => '// another comment ', ], [ 'type' => 'T_WHITESPACE', 'content' => ' ', ], [ 'type' => 'T_YIELD_FROM', 'content' => 'from', ], [ 'type' => 'T_WHITESPACE', 'content' => ' ', ], ], ], 'yield from with new line and annotation' => [ 'testMarker' => '/* testYieldFromSplitByNewLineAndAnnotation */', 'expectedTokens' => [ [ 'type' => 'T_YIELD_FROM', 'content' => 'YIELD', ], [ 'type' => 'T_WHITESPACE', 'content' => ' ', ], [ 'type' => 'T_WHITESPACE', 'content' => ' ', ], [ 'type' => 'T_PHPCS_DISABLE', 'content' => '// @phpcs:disable Stnd.Cat.Sniff -- for reasons. ', ], [ 'type' => 'T_WHITESPACE', 'content' => ' ', ], [ 'type' => 'T_YIELD_FROM', 'content' => 'From', ], [ 'type' => 'T_WHITESPACE', 'content' => ' ', ], ], ], ]; }//end dataYieldFromKeywordMultiToken() /** * Test that 'yield' or 'from' when not used as the reserved keyword are tokenized as `T_STRING`. * * @param string $testMarker The comment which prefaces the target token in the test file. * * @dataProvider dataYieldNonKeyword * * @return void */ public function testYieldNonKeyword($testMarker) { $tokens = $this->phpcsFile->getTokens(); $target = $this->getTargetToken($testMarker, [T_YIELD, T_YIELD_FROM, T_STRING]); $tokenArray = $tokens[$target]; $this->assertSame(T_STRING, $tokenArray['code'], 'Token tokenized as '.$tokenArray['type'].', not T_STRING (code)'); $this->assertSame('T_STRING', $tokenArray['type'], 'Token tokenized as '.$tokenArray['type'].', not T_STRING (type)'); }//end testYieldNonKeyword() /** * Data provider. * * @see testYieldNonKeyword() * * @return array> */ public static function dataYieldNonKeyword() { return [ 'yield used as class name' => ['/* testYieldUsedAsClassName */'], 'yield used as class constant name' => ['/* testYieldUsedAsClassConstantName */'], 'yield used as method name' => ['/* testYieldUsedAsMethodName */'], 'yield used as property access 1' => ['/* testYieldUsedAsPropertyName1 */'], 'yield used as property access 2' => ['/* testYieldUsedAsPropertyName2 */'], 'yield used as class constant access' => ['/* testYieldUsedForClassConstantAccess1 */'], 'from used as class constant access' => ['/* testFromUsedForClassConstantAccess1 */'], 'yield used as method name with ref' => ['/* testYieldUsedAsMethodNameReturnByRef */'], ]; }//end dataYieldNonKeyword() }//end class