- commit
- 366304d63decc82c4a47193c1429a7a1c1342167
- parent
- 06be400da1dfb9eb9e42494ae0f7c23af6542f42
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2017-02-17 08:27
add tests
Diffstat
| M | package.json | 7 | +++++-- |
| A | test/index.js | 127 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
2 files changed, 132 insertions, 2 deletions
diff --git a/package.json b/package.json
@@ -4,7 +4,8 @@ 4 4 "description": "A stylelint plugin checks selectors with a regular expression", 5 5 "main": "index.js", 6 6 "scripts": {7 -1 "lint": "jshint --exclude node_modules ."-1 7 "lint": "jshint --exclude node_modules .", -1 8 "test": "istanbul cover test/index.js" 8 9 }, 9 10 "repository": { 10 11 "type": "git", @@ -29,6 +30,8 @@ 29 30 "stylelint": "^7.8.0" 30 31 }, 31 32 "devDependencies": {32 -1 "jshint": "^2.9.4"-1 33 "istanbul": "^0.4.5", -1 34 "jshint": "^2.9.4", -1 35 "stylelint-test-rule-tape": "^0.2.0" 33 36 } 34 37 }
diff --git a/test/index.js b/test/index.js
@@ -0,0 +1,127 @@
-1 1 var testRule = require('stylelint-test-rule-tape');
-1 2 var selectorPattern = require('..');
-1 3
-1 4 testRule(selectorPattern.rule, {
-1 5 ruleName: selectorPattern.ruleName,
-1 6 config: 'bem',
-1 7 skipBasicChecks: true,
-1 8
-1 9 accept: [
-1 10 { code: '.block {}' },
-1 11 { code: '.block-test {}' },
-1 12 { code: '.block-test__element-test {}' },
-1 13 { code: '.block-test--modifier-test {}' },
-1 14 { code: '.block__element--modifier {}' },
-1 15 { code: '.u-utility-class {}' },
-1 16 ],
-1 17
-1 18 reject: [
-1 19 { code: '.blockTest {}', },
-1 20 { code: '.block_test {}' },
-1 21 { code: '.block__element__element {}' },
-1 22 { code: '.block.has-state {}' },
-1 23 { code: '.u-utilityClass {}' },
-1 24 { code: '.block.block {}' },
-1 25 { code: '.block .block {}' },
-1 26 ],
-1 27 });
-1 28
-1 29 testRule(selectorPattern.rule, {
-1 30 ruleName: selectorPattern.ruleName,
-1 31 config: 'suit',
-1 32 skipBasicChecks: true,
-1 33
-1 34 accept: [
-1 35 { code: '.Component {}' },
-1 36 { code: '.ComponentTest {}' },
-1 37 { code: '.ComponentTest-elementTest {}' },
-1 38 { code: '.ComponentTest--modifierTest {}' },
-1 39 { code: '.Component.has-state {}' },
-1 40 { code: '.Component { &.has-state {} }' },
-1 41 { code: '.Component-element--modifier.has-state {}' },
-1 42 { code: '.u-utilityClass {}' },
-1 43 ],
-1 44
-1 45 reject: [
-1 46 { code: '.component {}' },
-1 47 { code: '.Component_test {}' },
-1 48 { code: '.Component-element-element {}' },
-1 49 { code: '.u-utility-class {}' },
-1 50 { code: '.Component.Component {}' },
-1 51 { code: '.Component .Component {}' },
-1 52 ],
-1 53 });
-1 54
-1 55 testRule(selectorPattern.rule, {
-1 56 ruleName: selectorPattern.ruleName,
-1 57 config: 'itcss',
-1 58 skipBasicChecks: true,
-1 59
-1 60 accept: [
-1 61 { code: '.o-object-test {}' },
-1 62 { code: '.c-component-test {}' },
-1 63 { code: '.u-utility-test {}' },
-1 64 { code: '.t-theme-test {}' },
-1 65 { code: '.s-scope-test {}' },
-1 66 { code: '.is-state-test {}' },
-1 67 { code: '.has-state-test {}' },
-1 68 { code: '._hack-test {}' },
-1 69 { code: '.js-hook-test {}' },
-1 70 { code: '.qa-hook-test {}' },
-1 71 ],
-1 72
-1 73 reject: [
-1 74 { code: '.o-objectTest {}' },
-1 75 { code: '.o-object_test {}' },
-1 76 { code: '.component {}' },
-1 77 { code: '.o-object.has-state {}' },
-1 78 { code: '.o-object .o-object {}' },
-1 79 ],
-1 80 });
-1 81
-1 82 testRule(selectorPattern.rule, {
-1 83 ruleName: selectorPattern.ruleName,
-1 84 config: '^[a-z]+$',
-1 85 skipBasicChecks: true,
-1 86
-1 87 accept: [
-1 88 { code: 'foobar {}' },
-1 89 { code: 'abc {}' },
-1 90 { code: 'foobar { &nested {} }' },
-1 91 { code: 'foobar, abs {}' },
-1 92 ],
-1 93
-1 94 reject: [
-1 95 { code: '.foobar {}' },
-1 96 { code: 'fooBar {}' },
-1 97 { code: 'foo bar {}' },
-1 98 { code: 'foo_bar {}' },
-1 99 { code: 'foo-bar {}' },
-1 100 { code: 'foobar, .abs {}' },
-1 101 ],
-1 102 });
-1 103
-1 104 testRule(selectorPattern.rule, {
-1 105 ruleName: selectorPattern.ruleName,
-1 106 config: ['^{foo}({bar})?$', {
-1 107 filter: /^[a-z]/,
-1 108 subpatterns: {
-1 109 foo: 'foo-*',
-1 110 bar: 'bar',
-1 111 }
-1 112 }],
-1 113 skipBasicChecks: true,
-1 114
-1 115 accept: [
-1 116 { code: 'foobar {}' },
-1 117 { code: 'foo {}' },
-1 118 { code: 'foo--- {}' },
-1 119 { code: 'foo---bar {}' },
-1 120 { code: '#foo_bar {}' },
-1 121 ],
-1 122
-1 123 reject: [
-1 124 { code: 'fooo {}' },
-1 125 { code: 'bar {}' },
-1 126 ],
-1 127 });