diff options
Diffstat (limited to 'sonar-css-plugin')
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 | 
