yoda-seo-tips
Version:
SEO tips from Yoda
60 lines • 2.67 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const assert = require("assert");
const validator_1 = require("./validator");
const fs_1 = require("fs");
describe('Html Validator Framework', () => {
var validator = new validator_1.HtmlValidator([
($, report) => {
assert.equal($('html').length, 1);
report('test rule 1');
},
($, report) => {
assert.equal($('html').length, 1);
report('test rule 2');
}
]);
it('Should load html from file', () => __awaiter(this, void 0, void 0, function* () {
let output = outputStub();
yield validator.process('sample1.html', output);
assert.equal(output.get(), 'test rule 1\ntest rule 2\n');
}));
it('Should load html from stream', () => __awaiter(this, void 0, void 0, function* () {
let output = outputStub();
yield validator.process(fs_1.createReadStream('sample1.html'), output);
assert.equal(output.get(), 'test rule 1\ntest rule 2\n');
}));
it('Should write output to file', () => __awaiter(this, void 0, void 0, function* () {
let outFileName = __filename + '.out';
yield validator.process('sample1.html', outFileName);
assert.equal(fs_1.readFileSync(outFileName).toString(), 'test rule 1\ntest rule 2\n');
fs_1.unlinkSync(outFileName);
}));
it('Should throw IO error due to invalid file name', () => __awaiter(this, void 0, void 0, function* () {
let outFileName = '/?*".out';
try {
yield validator.process('sample1.html', outFileName);
assert.fail('Exception not raised');
}
catch (e) {
assert.equal(e.message && e.message.substr(0, 7), 'ENOENT:');
}
}));
});
function outputStub() {
let out = '';
return {
write(msg) { out += msg; },
get() { return out; }
};
}
exports.outputStub = outputStub;
//# sourceMappingURL=validatorTest.js.map