spec/pmd_spec.rb in danger-pmd-0.1.1 vs spec/pmd_spec.rb in danger-pmd-0.2.0
- old
+ new
@@ -12,10 +12,30 @@
before do
@dangerfile = testing_dangerfile
@pmd = @dangerfile.pmd
end
+ it "Check default Gradle task" do
+ expect(@pmd.gradle_task).to eq("pmd")
+ end
+
+ it "Set custom Gradle task" do
+ custom_task = "pmdStagingDebug"
+ @pmd.gradle_task = custom_task
+ expect(@pmd.gradle_task).to eq(custom_task)
+ end
+
+ it "Check default skip Gradle task" do
+ expect(@pmd.skip_gradle_task).to eq(false)
+ end
+
+ it "Set custom skip Gradle task" do
+ skip_gradle_task = true
+ @pmd.skip_gradle_task = skip_gradle_task
+ expect(@pmd.skip_gradle_task).to eq(skip_gradle_task)
+ end
+
it "Check default report file path" do
expect(@pmd.report_file).to eq("app/build/reports/pmd/pmd.xml")
end
it "Set custom report file path" do
@@ -32,80 +52,71 @@
custom_report_paths = ["custom-path/pmd_report_1.xml", "custom-path/pmd_report_2.xml"]
@pmd.report_files = custom_report_paths
expect(@pmd.report_files).to eq(custom_report_paths)
end
- it "Check default Gradle task" do
- expect(@pmd.gradle_task).to eq("pmd")
+ it "Check default root path" do
+ expect(@pmd.root_path).to eq(Dir.pwd)
end
- it "Set custom Gradle task" do
- custom_task = "pmdStagingDebug"
- @pmd.gradle_task = custom_task
- expect(@pmd.gradle_task).to eq(custom_task)
+ it "Set custom root path" do
+ root_path = "/Users/developer/sample/"
+ @pmd.root_path = root_path
+ expect(@pmd.root_path).to eq(root_path)
end
- it "Check default skip Gradle task" do
- expect(@pmd.skip_gradle_task).to eq(false)
- end
-
- it "Skip Gradle task" do
- skip_gradle_task = true
- @pmd.skip_gradle_task = skip_gradle_task
- expect(@pmd.skip_gradle_task).to eq(skip_gradle_task)
- end
-
it "Report with report file" do
target_files = [
- "/Users/developer/sample/app/src/main/java/com/android/sample/MainActivity.java",
- "/Users/developer/sample/app/src/main/java/com/android/sample/Tools.java",
- "/Users/developer/sample/app/src/test/java/com/android/sample/ExampleUnitTest.java",
- "/Users/developer/sample/app/src/test/java/com/android/sample/ToolsTest.java"
+ "app/src/main/java/com/android/sample/MainActivity.java",
+ "app/src/main/java/com/android/sample/Tools.java",
+ "app/src/test/java/com/android/sample/ExampleUnitTest.java",
+ "app/src/test/java/com/android/sample/ToolsTest.java"
]
allow_any_instance_of(Danger::DangerPmd).to receive(:target_files).and_return(target_files)
@pmd.report_file = "spec/fixtures/pmd_report.xml"
+ @pmd.root_path = "/Users/developer/sample/"
@pmd.skip_gradle_task = true
pmd_issues = @pmd.report
expect(pmd_issues).not_to be_nil
expect(pmd_issues.length).to be(4)
pmd_issue1 = pmd_issues[0]
expect(pmd_issue1).not_to be_nil
- expect(pmd_issue1.source_path).to eq("/Users/developer/sample/app/src/main/java/com/android/sample/Tools.java")
expect(pmd_issue1.absolute_path).to eq("/Users/developer/sample/app/src/main/java/com/android/sample/Tools.java")
+ expect(pmd_issue1.relative_path).to eq("app/src/main/java/com/android/sample/Tools.java")
expect(pmd_issue1.violations).not_to be_nil
expect(pmd_issue1.violations.length).to eq(1)
expect(pmd_issue1.violations.first).not_to be_nil
expect(pmd_issue1.violations.first.line).to eq(5)
expect(pmd_issue1.violations.first.description).to eq("The utility class name 'Tools' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper)'")
pmd_issue2 = pmd_issues[1]
expect(pmd_issue2).not_to be_nil
- expect(pmd_issue2.source_path).to eq("/Users/developer/sample/app/src/main/java/com/android/sample/MainActivity.java")
expect(pmd_issue2.absolute_path).to eq("/Users/developer/sample/app/src/main/java/com/android/sample/MainActivity.java")
+ expect(pmd_issue2.relative_path).to eq("app/src/main/java/com/android/sample/MainActivity.java")
expect(pmd_issue2.violations).not_to be_nil
expect(pmd_issue2.violations.length).to eq(1)
expect(pmd_issue2.violations.first).not_to be_nil
expect(pmd_issue2.violations.first.line).to eq(39)
expect(pmd_issue2.violations.first.description).to eq("Use equals() to compare strings instead of '==' or '!='")
pmd_issue3 = pmd_issues[2]
expect(pmd_issue3).not_to be_nil
- expect(pmd_issue3.source_path).to eq("/Users/developer/sample/app/src/test/java/com/android/sample/ExampleUnitTest.java")
expect(pmd_issue3.absolute_path).to eq("/Users/developer/sample/app/src/test/java/com/android/sample/ExampleUnitTest.java")
+ expect(pmd_issue3.relative_path).to eq("app/src/test/java/com/android/sample/ExampleUnitTest.java")
expect(pmd_issue3.violations).not_to be_nil
expect(pmd_issue3.violations.length).to eq(1)
expect(pmd_issue3.violations.first).not_to be_nil
expect(pmd_issue3.violations.first.line).to eq(15)
expect(pmd_issue3.violations.first.description).to eq("The JUnit 4 test method name 'addition_isCorrect' doesn't match '[a-z][a-zA-Z0-9]*'")
pmd_issue4 = pmd_issues[3]
expect(pmd_issue4).not_to be_nil
- expect(pmd_issue4.source_path).to eq("/Users/developer/sample/app/src/test/java/com/android/sample/ToolsTest.java")
expect(pmd_issue4.absolute_path).to eq("/Users/developer/sample/app/src/test/java/com/android/sample/ToolsTest.java")
+ expect(pmd_issue4.relative_path).to eq("app/src/test/java/com/android/sample/ToolsTest.java")
expect(pmd_issue4.violations).not_to be_nil
expect(pmd_issue4.violations.length).to eq(2)
expect(pmd_issue4.violations[0]).not_to be_nil
expect(pmd_issue4.violations[0].line).to eq(12)
expect(pmd_issue4.violations[0].description).to eq("The JUnit 4 test method name 'getLabel_1' doesn't match '[a-z][a-zA-Z0-9]*'")
@@ -114,36 +125,37 @@
expect(pmd_issue4.violations[1].description).to eq("The JUnit 4 test method name 'getLabel_2' doesn't match '[a-z][a-zA-Z0-9]*'")
end
it "Report with report file not in target files" do
target_files = [
- "/Users/developer/sample/app/src/main/java/com/android/sample/Tools.java",
- "/Users/developer/sample/app/src/test/java/com/android/sample/ToolsTest.java"
+ "app/src/main/java/com/android/sample/Tools.java",
+ "app/src/test/java/com/android/sample/ToolsTest.java"
]
allow_any_instance_of(Danger::DangerPmd).to receive(:target_files).and_return(target_files)
@pmd.report_file = "spec/fixtures/pmd_report.xml"
+ @pmd.root_path = "/Users/developer/sample/"
@pmd.skip_gradle_task = true
pmd_issues = @pmd.report
expect(pmd_issues).not_to be_nil
expect(pmd_issues.length).to be(2)
pmd_issue1 = pmd_issues[0]
expect(pmd_issue1).not_to be_nil
- expect(pmd_issue1.source_path).to eq("/Users/developer/sample/app/src/main/java/com/android/sample/Tools.java")
expect(pmd_issue1.absolute_path).to eq("/Users/developer/sample/app/src/main/java/com/android/sample/Tools.java")
+ expect(pmd_issue1.relative_path).to eq("app/src/main/java/com/android/sample/Tools.java")
expect(pmd_issue1.violations).not_to be_nil
expect(pmd_issue1.violations.length).to eq(1)
expect(pmd_issue1.violations.first).not_to be_nil
expect(pmd_issue1.violations.first.line).to eq(5)
expect(pmd_issue1.violations.first.description).to eq("The utility class name 'Tools' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper)'")
pmd_issue2 = pmd_issues[1]
expect(pmd_issue2).not_to be_nil
- expect(pmd_issue2.source_path).to eq("/Users/developer/sample/app/src/test/java/com/android/sample/ToolsTest.java")
expect(pmd_issue2.absolute_path).to eq("/Users/developer/sample/app/src/test/java/com/android/sample/ToolsTest.java")
+ expect(pmd_issue2.relative_path).to eq("app/src/test/java/com/android/sample/ToolsTest.java")
expect(pmd_issue2.violations).not_to be_nil
expect(pmd_issue2.violations.length).to eq(2)
expect(pmd_issue2.violations[0]).not_to be_nil
expect(pmd_issue2.violations[0].line).to eq(12)
expect(pmd_issue2.violations[0].description).to eq("The JUnit 4 test method name 'getLabel_1' doesn't match '[a-z][a-zA-Z0-9]*'")
@@ -152,60 +164,61 @@
expect(pmd_issue2.violations[1].description).to eq("The JUnit 4 test method name 'getLabel_2' doesn't match '[a-z][a-zA-Z0-9]*'")
end
it "Report with report files" do
target_files = [
- "/Users/developer/sample/app/src/main/java/com/android/sample/Application.java",
- "/Users/developer/sample/app/src/main/java/com/android/sample/MainActivity.java",
- "/Users/developer/sample/app/src/main/java/com/android/sample/Tools.java",
- "/Users/developer/sample/app/src/main/java/com/android/sample/Utils.java",
- "/Users/developer/sample/app/src/test/java/com/android/sample/ExampleUnitTest.java",
- "/Users/developer/sample/app/src/test/java/com/android/sample/ToolsTest.java"
+ "app/src/main/java/com/android/sample/Application.java",
+ "app/src/main/java/com/android/sample/MainActivity.java",
+ "app/src/main/java/com/android/sample/Tools.java",
+ "app/src/main/java/com/android/sample/Utils.java",
+ "app/src/test/java/com/android/sample/ExampleUnitTest.java",
+ "app/src/test/java/com/android/sample/ToolsTest.java"
]
allow_any_instance_of(Danger::DangerPmd).to receive(:target_files).and_return(target_files)
@pmd.report_files = ["spec/fixtures/pmd_report.xml", "spec/fixtures/**/pmd_sub_report.xml"]
+ @pmd.root_path = "/Users/developer/sample"
@pmd.skip_gradle_task = true
pmd_issues = @pmd.report
expect(pmd_issues).not_to be_nil
expect(pmd_issues.length).to be(6)
pmd_issue1 = pmd_issues[0]
expect(pmd_issue1).not_to be_nil
- expect(pmd_issue1.source_path).to eq("/Users/developer/sample/app/src/main/java/com/android/sample/Tools.java")
expect(pmd_issue1.absolute_path).to eq("/Users/developer/sample/app/src/main/java/com/android/sample/Tools.java")
+ expect(pmd_issue1.relative_path).to eq("app/src/main/java/com/android/sample/Tools.java")
expect(pmd_issue1.violations).not_to be_nil
expect(pmd_issue1.violations.length).to eq(1)
expect(pmd_issue1.violations.first).not_to be_nil
expect(pmd_issue1.violations.first.line).to eq(5)
expect(pmd_issue1.violations.first.description).to eq("The utility class name 'Tools' doesn't match '[A-Z][a-zA-Z0-9]+(Utils?|Helper)'")
pmd_issue2 = pmd_issues[1]
expect(pmd_issue2).not_to be_nil
- expect(pmd_issue2.source_path).to eq("/Users/developer/sample/app/src/main/java/com/android/sample/MainActivity.java")
expect(pmd_issue2.absolute_path).to eq("/Users/developer/sample/app/src/main/java/com/android/sample/MainActivity.java")
+ expect(pmd_issue2.relative_path).to eq("app/src/main/java/com/android/sample/MainActivity.java")
expect(pmd_issue2.violations).not_to be_nil
expect(pmd_issue2.violations.length).to eq(1)
expect(pmd_issue2.violations.first).not_to be_nil
expect(pmd_issue2.violations.first.line).to eq(39)
expect(pmd_issue2.violations.first.description).to eq("Use equals() to compare strings instead of '==' or '!='")
pmd_issue3 = pmd_issues[2]
expect(pmd_issue3).not_to be_nil
- expect(pmd_issue3.source_path).to eq("/Users/developer/sample/app/src/test/java/com/android/sample/ExampleUnitTest.java")
expect(pmd_issue3.absolute_path).to eq("/Users/developer/sample/app/src/test/java/com/android/sample/ExampleUnitTest.java")
+ expect(pmd_issue3.relative_path).to eq("app/src/test/java/com/android/sample/ExampleUnitTest.java")
expect(pmd_issue3.violations).not_to be_nil
expect(pmd_issue3.violations.length).to eq(1)
expect(pmd_issue3.violations.first).not_to be_nil
expect(pmd_issue3.violations.first.line).to eq(15)
expect(pmd_issue3.violations.first.description).to eq("The JUnit 4 test method name 'addition_isCorrect' doesn't match '[a-z][a-zA-Z0-9]*'")
pmd_issue4 = pmd_issues[3]
expect(pmd_issue4).not_to be_nil
- expect(pmd_issue4.source_path).to eq("/Users/developer/sample/app/src/test/java/com/android/sample/ToolsTest.java")
expect(pmd_issue4.absolute_path).to eq("/Users/developer/sample/app/src/test/java/com/android/sample/ToolsTest.java")
+ expect(pmd_issue4.relative_path).to eq("app/src/test/java/com/android/sample/ToolsTest.java")
expect(pmd_issue4.violations).not_to be_nil
expect(pmd_issue4.violations.length).to eq(2)
expect(pmd_issue4.violations[0]).not_to be_nil
expect(pmd_issue4.violations[0].line).to eq(12)
expect(pmd_issue4.violations[0].description).to eq("The JUnit 4 test method name 'getLabel_1' doesn't match '[a-z][a-zA-Z0-9]*'")
@@ -213,12 +226,12 @@
expect(pmd_issue4.violations[1].line).to eq(18)
expect(pmd_issue4.violations[1].description).to eq("The JUnit 4 test method name 'getLabel_2' doesn't match '[a-z][a-zA-Z0-9]*'")
pmd_issue5 = pmd_issues[4]
expect(pmd_issue5).not_to be_nil
- expect(pmd_issue5.source_path).to eq("/Users/developer/sample/app/src/main/java/com/android/sample/Utils.java")
expect(pmd_issue5.absolute_path).to eq("/Users/developer/sample/app/src/main/java/com/android/sample/Utils.java")
+ expect(pmd_issue5.relative_path).to eq("app/src/main/java/com/android/sample/Utils.java")
expect(pmd_issue5.violations).not_to be_nil
expect(pmd_issue5.violations.length).to eq(2)
expect(pmd_issue5.violations[0]).not_to be_nil
expect(pmd_issue5.violations[0].line).to eq(23)
expect(pmd_issue5.violations[0].description).to eq("These nested if statements could be combined")
@@ -226,11 +239,11 @@
expect(pmd_issue5.violations[1].line).to eq(45)
expect(pmd_issue5.violations[1].description).to eq("The String literal \"unused\" appears 4 times in this file; the first occurrence is on line 45")
pmd_issue6 = pmd_issues[5]
expect(pmd_issue6).not_to be_nil
- expect(pmd_issue6.source_path).to eq("/Users/developer/sample/app/src/main/java/com/android/sample/Application.java")
expect(pmd_issue6.absolute_path).to eq("/Users/developer/sample/app/src/main/java/com/android/sample/Application.java")
+ expect(pmd_issue6.relative_path).to eq("app/src/main/java/com/android/sample/Application.java")
expect(pmd_issue6.violations).not_to be_nil
expect(pmd_issue6.violations.length).to eq(1)
expect(pmd_issue6.violations[0]).not_to be_nil
expect(pmd_issue6.violations[0].line).to eq(135)
expect(pmd_issue6.violations[0].description).to eq("The String literal \"label\" appears 5 times in this file; the first occurrence is on line 135")