From 6b06b36c37820513d08c98e3a06d88551e7cc9eb Mon Sep 17 00:00:00 2001 From: Veniamin Krol <153412+vkrol@users.noreply.github.com> Date: Wed, 9 Dec 2020 02:24:32 +0300 Subject: [PATCH] Handle valueless attribute selectors in selector-attribute-name-disallowed-list rule (#5060) --- CHANGELOG.md | 4 ++++ .../__tests__/index.js | 8 +++++++- .../selector-attribute-name-disallowed-list/index.js | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9130192a3b..8669f6a923 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ All notable changes to this project are documented in this file. +## Head + +- Fixed: `selector-attribute-name-disallowed-list` false positives for valueless attribute selectors ([#5060](https://github.com/stylelint/stylelint/pull/5060)). + ## 13.8.0 - Deprecated: `StylelintStandaloneReturnValue.reportedDisables`, `.descriptionlessDisables`, `.needlessDisables`, and `.invalidScopeDisables`. `.reportedDisables` will always be empty and the other properties will always be undefined, since these errors now show up in `.results` instead ([#4973](https://github.com/stylelint/stylelint/pull/4973)). diff --git a/lib/rules/selector-attribute-name-disallowed-list/__tests__/index.js b/lib/rules/selector-attribute-name-disallowed-list/__tests__/index.js index c321ce391d..903abac35c 100644 --- a/lib/rules/selector-attribute-name-disallowed-list/__tests__/index.js +++ b/lib/rules/selector-attribute-name-disallowed-list/__tests__/index.js @@ -5,7 +5,7 @@ const { messages, ruleName } = require('..'); testRule({ ruleName, - config: ['class', 'id', '/^data-/'], + config: ['class', 'disabled', 'id', '/^data-/'], accept: [ { @@ -41,6 +41,12 @@ testRule({ line: 1, column: 2, }, + { + code: '[disabled] { }', + message: messages.rejected('disabled'), + line: 1, + column: 2, + }, { code: '[id~="bar"] { }', message: messages.rejected('id'), diff --git a/lib/rules/selector-attribute-name-disallowed-list/index.js b/lib/rules/selector-attribute-name-disallowed-list/index.js index 28bf32f489..799cacb0bd 100644 --- a/lib/rules/selector-attribute-name-disallowed-list/index.js +++ b/lib/rules/selector-attribute-name-disallowed-list/index.js @@ -34,7 +34,7 @@ function rule(listInput) { return; } - if (!ruleNode.selector.includes('[') || !ruleNode.selector.includes('=')) { + if (!ruleNode.selector.includes('[')) { return; }