Skip to content

Commit

Permalink
feat(htmlhint): add script-disabled rule (#301)
Browse files Browse the repository at this point in the history
  • Loading branch information
thedaviddias committed Sep 4, 2018
1 parent e01cd44 commit bfb7a75
Show file tree
Hide file tree
Showing 4 changed files with 56 additions and 37 deletions.
2 changes: 1 addition & 1 deletion lib/htmlhint.js

Large diffs are not rendered by default.

45 changes: 9 additions & 36 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 21 additions & 0 deletions src/rules/script-disabled.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
HTMLHint.addRule({
id: 'script-disabled',
description: 'The <script> tag cannot be used.',
init: function(parser, reporter) {
'use strict';

var self = this;

parser.addListener('tagstart', function(event) {
if (event.tagName.toLowerCase() === 'script') {
reporter.error(
'The <script> tag cannot be used.',
event.line,
event.col,
self,
event.raw
);
}
});
}
});
25 changes: 25 additions & 0 deletions test/rules/script-disabled.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
var expect = require('expect.js'),
HTMLHint = require('../../index').HTMLHint;
var ruldId = 'script-disabled',
ruleOptions = {};
ruleOptions[ruldId] = true;
describe('Rules: ' + ruldId, function() {
it('Add external script file should result in an error', function() {
var code = '<body><script src="test.js"></script></body>',
messages = HTMLHint.verify(code, ruleOptions);
expect(messages.length).to.be(1);
expect(messages[0].rule.id).to.be(ruldId);
expect(messages[0].line).to.be(1);
expect(messages[0].col).to.be(7);
expect(messages[0].type).to.be('error');
});
it('Add inline script should result in an error', function() {
var code = '<body><script>var test = "test";</script></body>',
messages = HTMLHint.verify(code, ruleOptions);
expect(messages.length).to.be(1);
expect(messages[0].rule.id).to.be(ruldId);
expect(messages[0].line).to.be(1);
expect(messages[0].col).to.be(7);
expect(messages[0].type).to.be('error');
});
});

0 comments on commit bfb7a75

Please sign in to comment.