Skip to content

Commit 1b07d90

Browse files
author
Lukas Oppermann
committed
adding test
1 parent 10e14f5 commit 1b07d90

File tree

2 files changed

+53
-0
lines changed

2 files changed

+53
-0
lines changed

test/fixtures/addRule.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.foo {
2+
color: red;
3+
}

test/main.js

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,5 +173,55 @@ describe('gulp-csslint', function() {
173173
stream.write(file);
174174
stream.end();
175175
});
176+
177+
it('should report added rule linting', function(done) {
178+
var a = 0;
179+
180+
var file = getFile('fixtures/addRule.css');
181+
cssLintPlugin.addRule({
182+
id: 'oocss',
183+
name: 'OOCSS',
184+
desc: 'Class names must follow pattern',
185+
browsers: 'All',
186+
187+
//initialization
188+
init: function(parser, reporter) {
189+
'use strict';
190+
var rule = this;
191+
parser.addListener('startrule', function(event) {
192+
var line = event.line,
193+
col = event.col;
194+
195+
for (var i=0,len=event.selectors.length; i < len; i++) {
196+
var selectors = event.selectors[i].text.split(/(?=\.)/);
197+
for (var s=0,l=selectors.length; s < l; s++){
198+
var selector = selectors[s].trim();
199+
if(selector.charAt(0) !== '.'){
200+
return;
201+
}
202+
if(!selector.match(/^\.(_)?(o|c|u|is|has|js|qa)-[a-z0-9]+$/)){
203+
reporter.warn('Bad naming: '+selector, line, col, rule);
204+
}
205+
}
206+
}
207+
});
208+
}
209+
});
210+
211+
var stream = cssLintPlugin();
212+
stream.on('data', function(newFile) {
213+
++a;
214+
should.exist(newFile.csslint.success);
215+
newFile.csslint.success.should.equal(false);
216+
should.exist(newFile.csslint.results);
217+
});
218+
stream.once('end', function() {
219+
a.should.equal(1);
220+
done();
221+
});
222+
223+
stream.write(file);
224+
stream.end();
225+
});
176226
});
177227
});

0 commit comments

Comments
 (0)