yoda-seo-tips
Version:
SEO tips from Yoda
28 lines • 1.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const assert = require("assert");
const cheerio = require("cheerio");
const rules_1 = require("./rules");
describe('Rules test', () => {
it('mustHaveAttribute', () => {
let r = rules_1.mustHaveAttribute('img', 'alt', () => 'error1');
assertRule(r, '<img alt="">', []);
assertRule(r, '<img >', ['error1']);
});
it('mustHaveElement', () => {
let r = rules_1.mustHaveElement('head > title', () => 'error2');
assertRule(r, '<head><title></title></head>', []);
assertRule(r, '', ['error2']);
});
it('mustHaveNoMoreThan', () => {
let r = rules_1.mustHaveNoMoreThan('b', 2, () => 'error3');
assertRule(r, '<b></b><b></b>', []);
assertRule(r, '<b></b><b></b><b></b>', ['error3']);
});
function assertRule(rule, doc, expectedReports) {
let reports = [];
rule(cheerio.load(doc), (msg) => reports.push(msg));
assert.deepEqual(reports, expectedReports);
}
});
//# sourceMappingURL=rulesTest.js.map