All files / src/rules no-dup-attr.spec.ts

100% Statements 16/16
100% Branches 0/0
100% Functions 5/5
100% Lines 16/16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 331x   1x   1x       1x 1x         1x 1x 1x     1x 1x 1x 1x     1x 1x 1x 1x        
import HtmlValidate from '../htmlvalidate';
 
describe('rule no-dup-attr', function() {
 
	const expect = require('chai').expect;
 
	let htmlvalidate: HtmlValidate;
 
	before(function() {
		htmlvalidate = new HtmlValidate({
			rules: { 'no-dup-attr': 'error' },
		});
	});
 
	it('should not report when no attribute is duplicated', function() {
		const report = htmlvalidate.validateString('<p foo="bar"></p>');
		expect(report).to.be.valid;
	});
 
	it('should report when attribute is duplicated', function() {
		const report = htmlvalidate.validateString('<p foo="bar" foo="baz"></p></p>');
		expect(report).to.be.invalid;
		expect(report).to.have.error('no-dup-attr', 'Attribute "foo" duplicated');
	});
 
	it('should report when attribute is duplicated case insensitive', function() {
		const report = htmlvalidate.validateString('<p foo="bar" FOO="baz"></p></p>');
		expect(report).to.be.invalid;
		expect(report).to.have.error('no-dup-attr', 'Attribute "foo" duplicated');
	});
 
});