UNPKG

yoda-seo-tips

Version:
60 lines 2.67 kB
"use strict"; 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