Interface SingleFileVerifier

  • All Known Implementing Classes:
    InternalIssueVerifier

    public interface SingleFileVerifier
    Example:
       Path path = Paths.get("main.js");
    
       SingleFileVerifier verifier = SingleFileVerifier.create(path, UTF_8);
    
       // use an AST visitor to add all the comment
       verifier.addComment(12, 20, " Noncompliant {{Rule message}}", 2, 0);
    
       // report all issues raised by one rule
       verifier.reportIssue("Issue on file").onFile();
    
       verifier.reportIssue("Issue on line").onLine(4);
    
       verifier.reportIssue("Issue on range").onRange(9, 11, 9, 13)
         .addSecondary(6, 9, 6, 11, "msg");
    
       verifier.assertOneOrMoreIssues();
     
    Example 2:
       // to expect to issue, use:
       verifier.assertNoIssues();
     
    • Method Detail

      • create

        static SingleFileVerifier create​(Path sourceFilePath,
                                         Charset encoding)
        Parameters:
        sourceFilePath -
        encoding - encoding used to load source file
      • addComment

        SingleFileVerifier addComment​(int line,
                                      int column,
                                      String content,
                                      int prefixLength,
                                      int suffixLength)
        Should be called for all comment of the analyzed source file. Example:
          void visitComment(CommentToken token) {
            verifier.addComment(token.line(), token.column(), token.text(), COMMENT_PREFIX_LENGTH, COMMENT_SUFFIX_LENGTH);
          }
         
        Parameters:
        line - start at 1, beginning of the comment
        column - start at 1, beginning of the comment prefix
        content - content of the comment with prefix and suffix
        prefixLength - for example, if the prefix is '//' then the length is 2
        suffixLength - for example, if the suffix is '-->' then the length is 3
      • reportIssue

        SingleFileVerifier.IssueBuilder reportIssue​(String message)
        Each issue raised by a rule should be reported using this method.
           verifier.reportIssue("Issue on file").onFile();
        
           verifier.reportIssue("Issue on line").onLine(line);
        
           verifier.reportIssue("Issue on range with a secondary location").onRange(line, column, endLine, endColumn)
             .addSecondary(secondary.line, secondary.column, secondary.endLine, secondary.endColumn, "Secondary message");
         
        Parameters:
        message - issue message
      • assertOneOrMoreIssues

        void assertOneOrMoreIssues()
        Run the comparison and expect to find at least one issue.
      • assertNoIssues

        void assertNoIssues()
        Run the comparison and expect to find no issue.