aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-css-plugin
diff options
context:
space:
mode:
Diffstat (limited to 'sonar-css-plugin')
-rw-r--r--sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/AtRuleNoUnknown.java2
-rw-r--r--sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/PropertyNoUnknown.java13
-rw-r--r--sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/SelectorPseudoClassNoUnknown.java2
-rw-r--r--sonar-css-plugin/src/test/java/org/sonar/css/plugin/rules/CssRuleTest.java12
4 files changed, 24 insertions, 5 deletions
diff --git a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/AtRuleNoUnknown.java b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/AtRuleNoUnknown.java
index 224b39d..bed6846 100644
--- a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/AtRuleNoUnknown.java
+++ b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/AtRuleNoUnknown.java
@@ -27,7 +27,7 @@ import org.sonar.check.RuleProperty;
@Rule(key = "S4662")
public class AtRuleNoUnknown implements CssRule {
- private static final String DEFAULT_IGNORED_AT_RULES = "at-root,content,debug,each,else,error,for,function,if,include,mixin,return,warn,while,extend";
+ private static final String DEFAULT_IGNORED_AT_RULES = "value,at-root,content,debug,each,else,error,for,function,if,include,mixin,return,warn,while,extend";
@RuleProperty(
key = "ignoreAtRules",
diff --git a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/PropertyNoUnknown.java b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/PropertyNoUnknown.java
index 9c9f75a..670a6b4 100644
--- a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/PropertyNoUnknown.java
+++ b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/PropertyNoUnknown.java
@@ -21,6 +21,9 @@ package org.sonar.css.plugin.rules;
import org.sonar.check.Rule;
+import java.util.Arrays;
+import java.util.List;
+
@Rule(key = "S4654")
public class PropertyNoUnknown implements CssRule {
@@ -28,4 +31,14 @@ public class PropertyNoUnknown implements CssRule {
public String stylelintKey() {
return "property-no-unknown";
}
+
+ @Override
+ public List<Object> stylelintOptions() {
+ return Arrays.asList(true, new StylelintIgnoreOption());
+ }
+
+ private static class StylelintIgnoreOption {
+ // Used by GSON serialization
+ private final String[] ignoreProperties = {"composes", "exportedKey", "localAlias"};
+ }
}
diff --git a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/SelectorPseudoClassNoUnknown.java b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/SelectorPseudoClassNoUnknown.java
index 56d254a..a669a33 100644
--- a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/SelectorPseudoClassNoUnknown.java
+++ b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/SelectorPseudoClassNoUnknown.java
@@ -39,6 +39,6 @@ public class SelectorPseudoClassNoUnknown implements CssRule {
private static class StylelintIgnoreOption {
// Used by GSON serialization
- private final String[] ignorePseudoClasses = {"local", "global"};
+ private final String[] ignorePseudoClasses = {"local", "global", "export", "import"};
}
}
diff --git a/sonar-css-plugin/src/test/java/org/sonar/css/plugin/rules/CssRuleTest.java b/sonar-css-plugin/src/test/java/org/sonar/css/plugin/rules/CssRuleTest.java
index 195f7c6..feca51e 100644
--- a/sonar-css-plugin/src/test/java/org/sonar/css/plugin/rules/CssRuleTest.java
+++ b/sonar-css-plugin/src/test/java/org/sonar/css/plugin/rules/CssRuleTest.java
@@ -21,7 +21,6 @@ package org.sonar.css.plugin.rules;
import com.google.gson.Gson;
import java.lang.reflect.InvocationTargetException;
-import java.util.Collections;
import java.util.Set;
import org.junit.Test;
import org.mockito.internal.util.collections.Sets;
@@ -45,6 +44,7 @@ public class CssRuleTest {
Set<Class> rulesWithStylelintOptions = Sets.newSet(
AtRuleNoUnknown.class,
DeclarationBlockNoDuplicateProperties.class,
+ PropertyNoUnknown.class,
SelectorPseudoClassNoUnknown.class);
for (Class ruleClass : CssRules.getRuleClasses()) {
@@ -60,13 +60,19 @@ public class CssRuleTest {
@Test
public void selector_pseudo_class_options() {
String optionsAsJson = new Gson().toJson(new SelectorPseudoClassNoUnknown().stylelintOptions());
- assertThat(optionsAsJson).isEqualTo("[true,{\"ignorePseudoClasses\":[\"local\",\"global\"]}]");
+ assertThat(optionsAsJson).isEqualTo("[true,{\"ignorePseudoClasses\":[\"local\",\"global\",\"export\",\"import\"]}]");
+ }
+
+ @Test
+ public void property_no_unknown_options() {
+ String optionsAsJson = new Gson().toJson(new PropertyNoUnknown().stylelintOptions());
+ assertThat(optionsAsJson).isEqualTo("[true,{\"ignoreProperties\":[\"composes\",\"exportedKey\",\"localAlias\"]}]");
}
@Test
public void at_rule_unknown_default() {
String optionsAsJson = new Gson().toJson(new AtRuleNoUnknown().stylelintOptions());
- assertThat(optionsAsJson).isEqualTo("[true,{\"ignoreAtRules\":[\"at-root\",\"content\",\"debug\",\"each\",\"else\",\"error\",\"for\",\"function\",\"if\",\"include\",\"mixin\",\"return\",\"warn\",\"while\",\"extend\"]}]");
+ assertThat(optionsAsJson).isEqualTo("[true,{\"ignoreAtRules\":[\"value\",\"at-root\",\"content\",\"debug\",\"each\",\"else\",\"error\",\"for\",\"function\",\"if\",\"include\",\"mixin\",\"return\",\"warn\",\"while\",\"extend\"]}]");
}
@Test