Class JavaCheckVerifier
java.lang.Object
org.sonar.java.checks.verifier.internal.JavaCheckVerifier
- All Implemented Interfaces:
CheckVerifier
-
Method Summary
Modifier and TypeMethodDescriptionAdds a collection of files with an expected status to be verified by the given rule(s).addFiles(org.sonar.api.batch.fs.InputFile.Status status, Collection<String> filenames) Adds a collection of files with an expected status.static JavaCheckVerifierDefines the filename to be verified with the given rule(s).Defines the filenames to be verified with the given rule(s).onFiles(Collection<String> filenames) Defines a collection of filenames to be verified with the given rule(s).voidverifyIssueOnFile(String expectedIssueMessage) Verifies that an issue (only one) is raised directly on the file and not within the content of the file.voidverifyIssueOnProject(String expectedIssueMessage) Verifies that an issue (only one) is raised directly on the project, which would include this file, and not within the content of the file.voidVerifies that all the expected issues are correctly raised by the rule(s), at their expected positions and attributes.voidVerifies that no issues are raised by the rule(s) on the given file(s).withCache(org.sonar.api.batch.sensor.cache.ReadCache readCache, org.sonar.api.batch.sensor.cache.WriteCache writeCache) Tells the verifier to feed the check with cached information in its preScan phase.withCheck(JavaFileScanner check) Defines the check to be verified against at least one test file.withChecks(JavaFileScanner... checks) Defines the check(s) to be verified against at least one test file.withClassPath(Collection<File> classpath) Defines the classpath to be used for the verification.withinAndroidContext(boolean inAndroidContext) Defines whether the current file is an analyzer in an Android context.withJavaVersion(int javaVersionAsInt) Defines the java version syntax to be used for the verification.withJavaVersion(int javaVersionAsInt, boolean enablePreviewFeatures) Defines the java version syntax to be used for the verification.Tells the verifier that no bytecode will be provided.withProjectLevelWorkDir(String rootDirectory) Tells the verifier to feed the check with cached information in its preScan phase.
-
Method Details
-
newInstance
-
withCheck
Description copied from interface:CheckVerifierDefines the check to be verified against at least one test file.- Specified by:
withCheckin interfaceCheckVerifier- Parameters:
check- the rule to be verified- Returns:
- the verifier configured to use the check provided as an argument
-
withChecks
Description copied from interface:CheckVerifierDefines the check(s) to be verified against at least one test file.- Specified by:
withChecksin interfaceCheckVerifier- Parameters:
checks- the rules to be verified- Returns:
- the verifier configured to use the checks provided as argument
-
withClassPath
Description copied from interface:CheckVerifierDefines the classpath to be used for the verification. Usually used when the code of the test files require the knowledge of a particular set of libraries or java compiled classes.- Specified by:
withClassPathin interfaceCheckVerifier- Parameters:
classpath- a collection of files which defines the classes/jars/zips which contains the bytecode to be used as a classpath when executing the rule- Returns:
- the verifier configured to use the files provided as argument as classpath
-
withJavaVersion
Description copied from interface:CheckVerifierDefines the java version syntax to be used for the verification. Usually used when the code of the test files explicitly target a given version (e.g. java 7) where a particular syntax/API has been introduced. Preview features for the specified java version will be disabled by default; useCheckVerifier.withJavaVersion(int, boolean)to enable or disable preview features associated with the specified java version.- Specified by:
withJavaVersionin interfaceCheckVerifier- Parameters:
javaVersionAsInt- defines the java language syntax version to be considered during verification, provided as an integer. For instance, for Java 1.7, use '7'. For Java 12, simply '12'.- Returns:
- the verifier configured to consider the provided test file(s) as following the syntax of the given java version
-
withJavaVersion
Description copied from interface:CheckVerifierDefines the java version syntax to be used for the verification. Usually used when the code of the test files explicitly target a given version (e.g. java 7) where a particular syntax/API has been introduced.- Specified by:
withJavaVersionin interfaceCheckVerifier- Parameters:
javaVersionAsInt- defines the java language syntax version to be considered during verification, provided as an integer. For instance, for Java 1.7, use '7'. For Java 12, simply '12'.enablePreviewFeatures- defines if preview features from the specified java version should be enabled or not- Returns:
- the verifier configured to consider the provided test file(s) as following the syntax of the given java version
-
withinAndroidContext
Description copied from interface:CheckVerifierDefines whether the current file is an analyzer in an Android context.- Specified by:
withinAndroidContextin interfaceCheckVerifier- Returns:
- the verifier currently configured
-
onFile
Description copied from interface:CheckVerifierDefines the filename to be verified with the given rule(s). This file should contain all the "Noncompliant" comments defining the expected issues.- Specified by:
onFilein interfaceCheckVerifier- Parameters:
filename- the file to be analyzed- Returns:
- the verifier configured to consider the provided test file as the source for the rule(s)
-
onFiles
Description copied from interface:CheckVerifierDefines the filenames to be verified with the given rule(s). These files should all contain "Noncompliant" comments defining the expected issues.- Specified by:
onFilesin interfaceCheckVerifier- Parameters:
filenames- the files to be analyzed- Returns:
- the verifier configured to consider the provided test file(s) as source for the rule(s)
-
onFiles
Description copied from interface:CheckVerifierDefines a collection of filenames to be verified with the given rule(s). These files should all contain "Noncompliant" comments defining the expected issues.- Specified by:
onFilesin interfaceCheckVerifier- Parameters:
filenames- a collection of files to be analyzed- Returns:
- the verifier configured to consider the provided test file(s) as source for the rule(s)
-
addFiles
Description copied from interface:CheckVerifierAdds a collection of files with an expected status to be verified by the given rule(s). An exception is thrown if a file by the same filename is already listed to be analyzed.- Specified by:
addFilesin interfaceCheckVerifier- Parameters:
status- The status of the files to be analyzedfilenames- a collection of files to be analyzed- Returns:
- the verifier configured
-
addFiles
public CheckVerifier addFiles(org.sonar.api.batch.fs.InputFile.Status status, Collection<String> filenames) Description copied from interface:CheckVerifierAdds a collection of files with an expected status. An exception is thrown if a file with the same filename is already listed to be analyzed.- Specified by:
addFilesin interfaceCheckVerifier- Parameters:
status- The status of the files to be analyzedfilenames- a collection of files to be analyzed- Returns:
- the verifier configured
-
withoutSemantic
Description copied from interface:CheckVerifierTells the verifier that no bytecode will be provided. This method is usually used in combination withCheckVerifier.verifyNoIssues(), to assert the fact that if no bytecode is provided, the rule will not raise any issues.- Specified by:
withoutSemanticin interfaceCheckVerifier- Returns:
- the verifier configured to consider that no bytecode will be provided for analysis
-
withCache
public CheckVerifier withCache(@Nullable org.sonar.api.batch.sensor.cache.ReadCache readCache, @Nullable org.sonar.api.batch.sensor.cache.WriteCache writeCache) Description copied from interface:CheckVerifierTells the verifier to feed the check with cached information in its preScan phase.- Specified by:
withCachein interfaceCheckVerifier- Parameters:
readCache- A source of information from previous analyseswriteCache- A place to dump information at the end of the analysis- Returns:
- the verifier configured with the caches to use.
-
withProjectLevelWorkDir
Description copied from interface:CheckVerifierTells the verifier to feed the check with cached information in its preScan phase.- Specified by:
withProjectLevelWorkDirin interfaceCheckVerifier- Parameters:
rootDirectory- The path of the project root working directory- Returns:
- the verifier configured with the project root working directory.
-
verifyIssues
public void verifyIssues()Description copied from interface:CheckVerifierVerifies that all the expected issues are correctly raised by the rule(s), at their expected positions and attributes.- Specified by:
verifyIssuesin interfaceCheckVerifier
-
verifyIssueOnFile
Description copied from interface:CheckVerifierVerifies that an issue (only one) is raised directly on the file and not within the content of the file.- Specified by:
verifyIssueOnFilein interfaceCheckVerifier- Parameters:
expectedIssueMessage- the message to be expected with the issue.
-
verifyIssueOnProject
Description copied from interface:CheckVerifierVerifies that an issue (only one) is raised directly on the project, which would include this file, and not within the content of the file.- Specified by:
verifyIssueOnProjectin interfaceCheckVerifier- Parameters:
expectedIssueMessage-
-
verifyNoIssues
public void verifyNoIssues()Description copied from interface:CheckVerifierVerifies that no issues are raised by the rule(s) on the given file(s).- Specified by:
verifyNoIssuesin interfaceCheckVerifier
-