OtherContextSensitiveKeywordsTest
extends AbstractTokenizerTestCase
in package
Tests the conversion of PHPCS native context sensitive keyword tokens to T_STRING.
Tags
Table of Contents
Properties
- $fileExtension : string
- The file extension of the test case file (without leading dot).
- $phpcsFile : File
- The \PHP_CodeSniffer\Files\File object containing the parsed contents of the test case file.
- $tabWidth : int
- The tab width setting to use when tokenizing the file.
Methods
- clearResolvedTokensCache() : void
- Clear the static "resolved tokens" cache property on the Tokenizer\PHP class.
- clearTokenCache() : void
- Clear the "resolved tokens" cache before running this test as otherwise the code under test may not be run during the test.
- dataKeywords() : array<string|int, mixed>
- Data provider.
- dataStrings() : array<string, array<string|int, string>>
- Data provider.
- testKeywords() : void
- Test that context sensitive keyword is tokenized as keyword when it should be keyword.
- testStrings() : void
- Test that context sensitive keyword is tokenized as string when it should be string.
- getTargetToken() : int
- Get the token pointer for a target token based on a specific comment found on the line before.
- initializeFile() : void
- Initialize & tokenize \PHP_CodeSniffer\Files\File with code from the test case file.
Properties
$fileExtension
The file extension of the test case file (without leading dot).
protected
string
$fileExtension
= 'inc'
This allows child classes to overrule the default inc with, for instance,
js or css when applicable.
$phpcsFile
The \PHP_CodeSniffer\Files\File object containing the parsed contents of the test case file.
protected
File
$phpcsFile
$tabWidth
The tab width setting to use when tokenizing the file.
protected
int
$tabWidth
= 4
This allows for test case files to use a different tab width than the default.
Methods
clearResolvedTokensCache()
Clear the static "resolved tokens" cache property on the Tokenizer\PHP class.
public
static clearResolvedTokensCache() : void
This method should be used selectively by tests to ensure the code under test is actually hit by the test testing the code.
clearTokenCache()
Clear the "resolved tokens" cache before running this test as otherwise the code under test may not be run during the test.
public
static clearTokenCache() : void
Tags
dataKeywords()
Data provider.
public
static dataKeywords() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>dataStrings()
Data provider.
public
static dataStrings() : array<string, array<string|int, string>>
Tags
Return values
array<string, array<string|int, string>>testKeywords()
Test that context sensitive keyword is tokenized as keyword when it should be keyword.
public
testKeywords(string $testMarker, string $expectedTokenType) : void
Parameters
- $testMarker : string
-
The comment which prefaces the target token in the test file.
- $expectedTokenType : string
-
The expected token type.
Tags
testStrings()
Test that context sensitive keyword is tokenized as string when it should be string.
public
testStrings(string $testMarker) : void
Parameters
- $testMarker : string
-
The comment which prefaces the target token in the test file.
Tags
getTargetToken()
Get the token pointer for a target token based on a specific comment found on the line before.
protected
getTargetToken(string $commentString, int|string|array<string|int, mixed> $tokenType[, string $tokenContent = null ]) : int
Note: the test delimiter comment MUST start with "/* test" to allow this function to distinguish between comments used in a test and test delimiters.
Parameters
- $commentString : string
-
The delimiter comment to look for.
- $tokenType : int|string|array<string|int, mixed>
-
The type of token(s) to look for.
- $tokenContent : string = null
-
Optional. The token content for the target token.
Return values
intinitializeFile()
Initialize & tokenize \PHP_CodeSniffer\Files\File with code from the test case file.
protected
initializeFile() : void
The test case file for a unit test class has to be in the same directory directory and use the same file name as the test class, using the .inc extension.