public void Get_HasUserOverrides_NoRulesMatchTheUserOverrides_UserOverridesAreIgnored() { var ruleDefns = new RuleDefinitionsBuilder() .AddRule(ruleKey: "javascript:activeRule1", activeByDefault: true, eslintKey: "active1"); var userSettings = new UserSettingsBuilder() .Add("wrongLanguage:activeRule1", RuleLevel.Off) // Correct rule key but wrong repo -> ignored .Add("javascript:unknownRule", RuleLevel.On); // Right repo, but rule key doesn't match a defined rule -> ignored var testSubject = CreateTestSubject(ruleDefns, userSettings); var result = testSubject.Calculate().ToArray(); result.Length.Should().Be(1); result[0].Key.Should().Be("active1"); }
public void Get_HasUserOverrides_IrregularRules_UserOverridesAreIgnored() { var ruleDefns = new RuleDefinitionsBuilder() .AddRule(ruleKey: "javascript:hotspot1", activeByDefault: false, eslintKey: "hotspot1", ruleType: RuleType.SECURITY_HOTSPOT) .AddRule(ruleKey: "javascript:S2260", activeByDefault: false, eslintKey: null); var userSettings = new UserSettingsBuilder() .Add("javascript:hotspot1", RuleLevel.On) .Add("javascript:S2260", RuleLevel.On); var testSubject = CreateTestSubject(ruleDefns, userSettings); var result = testSubject.Calculate().ToArray(); result.Length.Should().Be(0); }
public void Get_HasUserOverrides_OverridesDefaultActivationLevel( bool onByDefault, bool onInUserSettings) { // The value in the user settings should always override the default var expectedRuleCount = onInUserSettings ? 1 : 0; // Create definition and rule settings with a single rule var ruleDefns = new RuleDefinitionsBuilder() .AddRule(ruleKey: "javascript:rule1", activeByDefault: onByDefault, eslintKey: "esKey"); var userSettingsLevel = onInUserSettings ? RuleLevel.On : RuleLevel.Off; var userSettings = new UserSettingsBuilder() .Add("javascript:rule1", userSettingsLevel); var testSubject = CreateTestSubject(ruleDefns, userSettings); var result = testSubject.Calculate().ToArray(); result.Length.Should().Be(expectedRuleCount); }