muttley
Version:
Monitor Unit Test Tool
61 lines • 2.97 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const sinon_1 = __importDefault(require("sinon"));
const assert = require("assert");
const render = require("./render");
const fs = require("fs");
describe('render', function () {
describe('renderHeader', function () {
it('it calls write', function () {
const fakeWrite = sinon_1.default.fake();
sinon_1.default.replace(process.stdout, 'write', fakeWrite);
render.renderHeader(100, 10, 12, 93982);
assert(fakeWrite.called);
sinon_1.default.restore();
});
});
describe('renderTable', function () {
it('it handles empty table', function () {
const fakeWrite = sinon_1.default.fake();
sinon_1.default.replace(process.stdout, 'write', fakeWrite);
render.renderTable({ columns: [], rows: [], rowColour: () => render.FgColour.blue });
assert(fakeWrite.calledOnce);
sinon_1.default.restore();
});
it('it handles non empty table', function () {
const columns = [{ name: 'TEST', width: 10, just: 'l', func: (row) => row.prop1 }];
const rows = [{ prop1: 'test prop' }];
const fakeWrite = sinon_1.default.fake();
sinon_1.default.replace(process.stdout, 'write', fakeWrite);
render.renderTable({ columns, rows, rowColour: () => render.FgColour.blue });
const expectedHeaderWrites = 1;
const expectedRowWrites = 3 * rows.length;
assert.equal(fakeWrite.callCount, expectedHeaderWrites + expectedRowWrites);
sinon_1.default.restore();
});
});
describe('renderFileWindow', function () {
it('it works for small window', function () {
const buffer = 'line 1\nline 2\nline3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n';
sinon_1.default.replace(fs, 'readFileSync', sinon_1.default.fake.returns(buffer));
const fakeWrite = sinon_1.default.fake();
sinon_1.default.replace(process.stdout, 'write', fakeWrite);
render.renderFileWindow('ignore', 10, 15);
assert(fakeWrite.called);
sinon_1.default.restore();
});
it('it works for big window', function () {
const buffer = 'line 1\nline 2\nline3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n';
sinon_1.default.replace(fs, 'readFileSync', sinon_1.default.fake.returns(buffer));
const fakeWrite = sinon_1.default.fake();
sinon_1.default.replace(process.stdout, 'write', fakeWrite);
render.renderFileWindow('ignore', 200, 15);
assert(fakeWrite.called);
sinon_1.default.restore();
});
});
});
//# sourceMappingURL=render.t.js.map