@Test public void testOneIssuePerLine() throws Exception { File projectDir = new File("test-resources/mediumtest/xoo/sample"); File tmpDir = temp.newFolder(); FileUtils.copyDirectory(projectDir, tmpDir); AnalysisResult result = tester .newAnalysis(new File(tmpDir, "sonar-project.properties")) .property(OneExternalIssuePerLineSensor.ACTIVATE, "true") .execute(); List<Issue> issues = result.issuesFor(result.inputFile("xources/hello/HelloJava.xoo")); assertThat(issues).isEmpty(); List<ExternalIssue> externalIssues = result.externalIssuesFor(result.inputFile("xources/hello/HelloJava.xoo")); assertThat(externalIssues).hasSize(8 /* lines */); ExternalIssue issue = externalIssues.get(0); assertThat(issue.getTextRange().getStartLine()).isEqualTo(issue.getTextRange().getStartLine()); assertThat(result.adHocRules()).isEmpty(); }
assertThat(issue.getEffort()).isEqualTo(50l); assertThat(issue.getType()).isEqualTo(IssueType.CODE_SMELL); assertThat(issue.getTextRange().getStartLine()).isEqualTo(5); assertThat(issue.getTextRange().getEndLine()).isEqualTo(5); assertThat(issue.getTextRange().getStartOffset()).isEqualTo(3); assertThat(issue.getTextRange().getEndOffset()).isEqualTo(41); assertThat(issue.getType()).isEqualTo(IssueType.BUG); assertThat(issue.getEffort()).isZero(); assertThat(issue.getTextRange().getStartLine()).isEqualTo(3); assertThat(issue.getTextRange().getEndLine()).isEqualTo(3); assertThat(issue.getTextRange().getStartOffset()).isEqualTo(0); assertThat(issue.getTextRange().getEndOffset()).isEqualTo(24);
issue.setRuleKey(ruleKey); if (reportExternalIssue.hasTextRange()) { int startLine = reportExternalIssue.getTextRange().getStartLine(); issue.setLine(startLine); issue.setChecksum(lineHashSeq.getHashForLine(startLine)); DbIssues.Locations.Builder dbLocationsBuilder = DbIssues.Locations.newBuilder(); if (reportExternalIssue.hasTextRange()) { dbLocationsBuilder.setTextRange(convertTextRange(reportExternalIssue.getTextRange()));
int startLine = reportIssue.getTextRange().getStartLine(); issue.setLine(startLine); issue.setChecksum(lineHashSeq.getHashForLine(startLine)); DbIssues.Locations.Builder dbLocationsBuilder = DbIssues.Locations.newBuilder(); if (reportIssue.hasTextRange()) { dbLocationsBuilder.setTextRange(convertTextRange(reportIssue.getTextRange()));