From 9bcc46b342cfb888f16c180cb0b3103335def5f1 Mon Sep 17 00:00:00 2001 From: Amaury Levé Date: Thu, 21 Jun 2018 14:55:09 +0200 Subject: Rule S4653: Units should be valid (#50) --- its/plugin/pom.xml | 6 ++++++ its/plugin/projects/css-plugin-test-project/src/file1.css | 10 ---------- its/plugin/projects/css-plugin-test-project/src/file2.less | 11 ----------- its/plugin/projects/css-plugin-test-project/src/file3.scss | 12 ------------ its/plugin/projects/css-plugin-test-project/src/file4.html | 10 ---------- its/plugin/projects/issues-project/src/file1.css | 4 ++++ its/plugin/projects/issues-project/src/file2.less | 4 ++++ its/plugin/projects/issues-project/src/file3.scss | 4 ++++ its/plugin/projects/metrics-project/src/file1.css | 9 +++++++++ its/plugin/projects/metrics-project/src/file2.less | 11 +++++++++++ its/plugin/projects/metrics-project/src/file3.scss | 12 ++++++++++++ its/plugin/projects/metrics-project/src/file4.html | 10 ++++++++++ its/plugin/src/test/java/org/sonar/css/its/IssuesTest.java | 7 +++---- its/plugin/src/test/java/org/sonar/css/its/MetricsTest.java | 12 ++++++------ its/plugin/src/test/java/org/sonar/css/its/Tests.java | 2 +- 15 files changed, 70 insertions(+), 54 deletions(-) delete mode 100644 its/plugin/projects/css-plugin-test-project/src/file1.css delete mode 100644 its/plugin/projects/css-plugin-test-project/src/file2.less delete mode 100644 its/plugin/projects/css-plugin-test-project/src/file3.scss delete mode 100644 its/plugin/projects/css-plugin-test-project/src/file4.html create mode 100644 its/plugin/projects/issues-project/src/file1.css create mode 100644 its/plugin/projects/issues-project/src/file2.less create mode 100644 its/plugin/projects/issues-project/src/file3.scss create mode 100644 its/plugin/projects/metrics-project/src/file1.css create mode 100644 its/plugin/projects/metrics-project/src/file2.less create mode 100644 its/plugin/projects/metrics-project/src/file3.scss create mode 100644 its/plugin/projects/metrics-project/src/file4.html (limited to 'its/plugin') diff --git a/its/plugin/pom.xml b/its/plugin/pom.xml index 24aa42c..ec3b408 100644 --- a/its/plugin/pom.xml +++ b/its/plugin/pom.xml @@ -27,6 +27,12 @@ org.assertj assertj-core + + org.sonarsource.css + sonar-css-plugin + ${version} + test + diff --git a/its/plugin/projects/css-plugin-test-project/src/file1.css b/its/plugin/projects/css-plugin-test-project/src/file1.css deleted file mode 100644 index 621aea1..0000000 --- a/its/plugin/projects/css-plugin-test-project/src/file1.css +++ /dev/null @@ -1,10 +0,0 @@ -.class1 { - background-color: #2d5e8b; -} -.class1 .class2 { - background-color: #ffw; /* issue here */ - color: #2d5e8b; - foo: "some text"; -} - -/* some comment */ \ No newline at end of file diff --git a/its/plugin/projects/css-plugin-test-project/src/file2.less b/its/plugin/projects/css-plugin-test-project/src/file2.less deleted file mode 100644 index 691fd11..0000000 --- a/its/plugin/projects/css-plugin-test-project/src/file2.less +++ /dev/null @@ -1,11 +0,0 @@ -@color-base: #2d5e8b; -.class1 { - background-color: @color-base; - .class2 { - background-color: #fff; - color: @color-base; - foo: "some text"; - } -} - -/* some comment */ \ No newline at end of file diff --git a/its/plugin/projects/css-plugin-test-project/src/file3.scss b/its/plugin/projects/css-plugin-test-project/src/file3.scss deleted file mode 100644 index fd62422..0000000 --- a/its/plugin/projects/css-plugin-test-project/src/file3.scss +++ /dev/null @@ -1,12 +0,0 @@ -$firstValue: 62.5%; - -$firstValue: 24px !default; - -body { - font-size: $firstValue; - foo: "some text"; -} - -// body font size = 62.5% - -/* some comment */ \ No newline at end of file diff --git a/its/plugin/projects/css-plugin-test-project/src/file4.html b/its/plugin/projects/css-plugin-test-project/src/file4.html deleted file mode 100644 index 499a20b..0000000 --- a/its/plugin/projects/css-plugin-test-project/src/file4.html +++ /dev/null @@ -1,10 +0,0 @@ - -Example - -

Hello World!

diff --git a/its/plugin/projects/issues-project/src/file1.css b/its/plugin/projects/issues-project/src/file1.css new file mode 100644 index 0000000..b0dcf70 --- /dev/null +++ b/its/plugin/projects/issues-project/src/file1.css @@ -0,0 +1,4 @@ +.class1 { + background-color: #ffw; /* S4647 | color-no-invalid-hex */ + width: 100pixels; /* S4653 | unit-no-unknown */ +} \ No newline at end of file diff --git a/its/plugin/projects/issues-project/src/file2.less b/its/plugin/projects/issues-project/src/file2.less new file mode 100644 index 0000000..b0dcf70 --- /dev/null +++ b/its/plugin/projects/issues-project/src/file2.less @@ -0,0 +1,4 @@ +.class1 { + background-color: #ffw; /* S4647 | color-no-invalid-hex */ + width: 100pixels; /* S4653 | unit-no-unknown */ +} \ No newline at end of file diff --git a/its/plugin/projects/issues-project/src/file3.scss b/its/plugin/projects/issues-project/src/file3.scss new file mode 100644 index 0000000..b0dcf70 --- /dev/null +++ b/its/plugin/projects/issues-project/src/file3.scss @@ -0,0 +1,4 @@ +.class1 { + background-color: #ffw; /* S4647 | color-no-invalid-hex */ + width: 100pixels; /* S4653 | unit-no-unknown */ +} \ No newline at end of file diff --git a/its/plugin/projects/metrics-project/src/file1.css b/its/plugin/projects/metrics-project/src/file1.css new file mode 100644 index 0000000..fc4bf73 --- /dev/null +++ b/its/plugin/projects/metrics-project/src/file1.css @@ -0,0 +1,9 @@ +.class1 { + background-color: #2d5e8b; +} +.class1 .class2 { + color: #2d5e8b; + foo: "some text"; +} + +/* some comment */ \ No newline at end of file diff --git a/its/plugin/projects/metrics-project/src/file2.less b/its/plugin/projects/metrics-project/src/file2.less new file mode 100644 index 0000000..691fd11 --- /dev/null +++ b/its/plugin/projects/metrics-project/src/file2.less @@ -0,0 +1,11 @@ +@color-base: #2d5e8b; +.class1 { + background-color: @color-base; + .class2 { + background-color: #fff; + color: @color-base; + foo: "some text"; + } +} + +/* some comment */ \ No newline at end of file diff --git a/its/plugin/projects/metrics-project/src/file3.scss b/its/plugin/projects/metrics-project/src/file3.scss new file mode 100644 index 0000000..fd62422 --- /dev/null +++ b/its/plugin/projects/metrics-project/src/file3.scss @@ -0,0 +1,12 @@ +$firstValue: 62.5%; + +$firstValue: 24px !default; + +body { + font-size: $firstValue; + foo: "some text"; +} + +// body font size = 62.5% + +/* some comment */ \ No newline at end of file diff --git a/its/plugin/projects/metrics-project/src/file4.html b/its/plugin/projects/metrics-project/src/file4.html new file mode 100644 index 0000000..499a20b --- /dev/null +++ b/its/plugin/projects/metrics-project/src/file4.html @@ -0,0 +1,10 @@ + +Example + +

Hello World!

diff --git a/its/plugin/src/test/java/org/sonar/css/its/IssuesTest.java b/its/plugin/src/test/java/org/sonar/css/its/IssuesTest.java index 0f9de2e..d70597d 100644 --- a/its/plugin/src/test/java/org/sonar/css/its/IssuesTest.java +++ b/its/plugin/src/test/java/org/sonar/css/its/IssuesTest.java @@ -25,6 +25,7 @@ import java.util.List; import org.junit.BeforeClass; import org.junit.ClassRule; import org.junit.Test; +import org.sonar.css.plugin.CssRules; import org.sonarqube.ws.Issues.Issue; import org.sonarqube.ws.client.issues.SearchRequest; @@ -33,7 +34,7 @@ import static org.sonar.css.its.Tests.newWsClient; public class IssuesTest { - private static String PROJECT_KEY = "css-plugin-test-project"; + private static String PROJECT_KEY = "issues-project"; @ClassRule public static Orchestrator orchestrator = Tests.ORCHESTRATOR; @@ -49,9 +50,7 @@ public class IssuesTest { request.setComponentKeys(Collections.singletonList(PROJECT_KEY)); List issuesList = newWsClient().issues().search(request).getIssuesList(); - assertThat(issuesList).extracting("line").containsOnly(5); - assertThat(issuesList).extracting("component").containsOnly(PROJECT_KEY + ":src/file1.css"); - assertThat(issuesList).extracting("rule").containsOnly("css:S4647"); + assertThat(issuesList).extracting("rule").hasSize(CssRules.getRuleClasses().size() * 3); } } diff --git a/its/plugin/src/test/java/org/sonar/css/its/MetricsTest.java b/its/plugin/src/test/java/org/sonar/css/its/MetricsTest.java index 9af016d..4e6280c 100644 --- a/its/plugin/src/test/java/org/sonar/css/its/MetricsTest.java +++ b/its/plugin/src/test/java/org/sonar/css/its/MetricsTest.java @@ -30,7 +30,7 @@ import static org.sonar.css.its.Tests.getProjectMeasureAsDouble; public class MetricsTest { - private static String PROJECT_KEY = "css-plugin-test-project"; + private static String PROJECT_KEY = "metrics-project"; @ClassRule public static Orchestrator orchestrator = Tests.ORCHESTRATOR; @@ -42,14 +42,14 @@ public class MetricsTest { @Test public void test() { - assertThat(getProjectMeasureAsDouble("lines", PROJECT_KEY)).isEqualTo(33); - assertThat(getProjectMeasureAsDouble("ncloc", PROJECT_KEY)).isEqualTo(23); - assertThat(getProjectMeasureAsDouble("comment_lines", PROJECT_KEY)).isEqualTo(5); + assertThat(getProjectMeasureAsDouble("lines", PROJECT_KEY)).isEqualTo(32); + assertThat(getProjectMeasureAsDouble("ncloc", PROJECT_KEY)).isEqualTo(22); + assertThat(getProjectMeasureAsDouble("comment_lines", PROJECT_KEY)).isEqualTo(4); assertThat(getMeasure("ncloc_data", PROJECT_KEY + ":src/file1.css").getValue()) - .contains("1=1;", "2=1;", "3=1;", "4=1;", "5=1;", "6=1;", "7=1;", "8=1"); + .contains("1=1;", "2=1;", "3=1;", "4=1;", "5=1;", "6=1;", "7=1"); assertThat(getMeasure("comment_lines_data", PROJECT_KEY + ":src/file1.css").getValue()) - .contains("5=1;", "10=1"); + .contains("9=1"); assertThat(getMeasure("ncloc_data", PROJECT_KEY + ":src/file2.less").getValue()) .contains("1=1;", "2=1;", "3=1;", "4=1;", "5=1;", "6=1;", "7=1;", "8=1;", "9=1"); diff --git a/its/plugin/src/test/java/org/sonar/css/its/Tests.java b/its/plugin/src/test/java/org/sonar/css/its/Tests.java index eb6a01e..31b2f78 100644 --- a/its/plugin/src/test/java/org/sonar/css/its/Tests.java +++ b/its/plugin/src/test/java/org/sonar/css/its/Tests.java @@ -52,7 +52,7 @@ public class Tests { static { OrchestratorBuilder orchestratorBuilder = Orchestrator.builderEnv() .addPlugin(PLUGIN_LOCATION) - .setSonarVersion(System.getProperty("sonar.runtimeVersion", "7.2-RC1")); + .setSonarVersion(System.getProperty("sonar.runtimeVersion", "7.2")); ORCHESTRATOR = orchestratorBuilder.build(); } -- cgit v1.2.3