storybook-chrome-screenshot
Version:
A Storybook addon, Save the screenshot image of your stories! via puppeteer.
115 lines • 4.83 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var chalk_1 = __importDefault(require("chalk"));
var Terminal_mock_1 = require("./Terminal.mock");
describe('Terminal', function () {
it('Should be handle production mode', function () {
var _a = Terminal_mock_1.factory(false, false), stdout = _a.stdout, stderr = _a.stderr, term = _a.term, clear = _a.clear;
term.echo('foo', 'bar', 'baz');
expect(stdout.list).toHaveLength(1);
expect(stdout.list[0]).toBe('foo bar baz\n');
expect(stderr.list).toHaveLength(0);
clear();
term.log('title', 'foo');
expect(stdout.list).toHaveLength(0);
expect(stderr.list).toHaveLength(0);
clear();
term.section('cyan', 'TITLE', 'hoge fuga');
expect(stdout.list).toHaveLength(3);
expect(stdout.list[2]).toContain(chalk_1.default.black.bgCyan(' TITLE ') + " hoge fuga");
expect(stderr.list).toHaveLength(0);
clear();
term.blank();
expect(stdout.list).toHaveLength(1);
expect(stdout.list[0]).toBe('\n');
expect(stderr.list).toHaveLength(0);
clear();
term.clear();
expect(stdout.list).toHaveLength(2);
expect(stdout.list[1]).toContain('0f');
expect(stderr.list).toHaveLength(0);
clear();
term.error('error message');
expect(stdout.list).toHaveLength(0);
expect(stderr.list).toHaveLength(1);
expect(stderr.list[0]).toContain(chalk_1.default.black.bgRed(' ERROR ') + " error message");
clear();
});
it('Should be handle silent mode', function () {
var _a = Terminal_mock_1.factory(true, false), stdout = _a.stdout, stderr = _a.stderr, term = _a.term, clear = _a.clear;
term.echo('foo', 'bar', 'baz');
expect(stdout.list).toHaveLength(0);
expect(stderr.list).toHaveLength(0);
clear();
term.log('title', 'foo');
expect(stdout.list).toHaveLength(0);
expect(stderr.list).toHaveLength(0);
clear();
term.section('cyan', 'TITLE', 'hoge fuga');
expect(stdout.list).toHaveLength(0);
expect(stderr.list).toHaveLength(0);
clear();
term.blank();
expect(stdout.list).toHaveLength(0);
expect(stderr.list).toHaveLength(0);
clear();
term.clear();
expect(stdout.list).toHaveLength(0);
expect(stderr.list).toHaveLength(0);
clear();
term.error('error message');
expect(stdout.list).toHaveLength(0);
expect(stderr.list).toHaveLength(1);
clear();
});
it('Should be handle debug mode', function () {
var _a = Terminal_mock_1.factory(false, true), stdout = _a.stdout, stderr = _a.stderr, term = _a.term, clear = _a.clear;
term.echo('foo', 'bar', 'baz');
expect(stdout.list).toHaveLength(1);
expect(stderr.list).toHaveLength(0);
clear();
term.log('title', 'foo');
expect(stdout.list).toHaveLength(1);
expect(stdout.list[0]).toBe(chalk_1.default.black.bgBlue(' DEBUG ') + " " + chalk_1.default.blue('[title]') + " foo\n");
expect(stderr.list).toHaveLength(0);
clear();
term.section('cyan', 'TITLE', 'hoge fuga');
expect(stdout.list).toHaveLength(3);
expect(stderr.list).toHaveLength(0);
clear();
term.blank();
expect(stdout.list).toHaveLength(1);
expect(stderr.list).toHaveLength(0);
clear();
term.clear();
expect(stdout.list).toHaveLength(2);
expect(stderr.list).toHaveLength(0);
clear();
term.error('error message');
expect(stdout.list).toHaveLength(0);
expect(stderr.list).toHaveLength(1);
clear();
});
it('Should be handle progress counter', function () {
var _a = Terminal_mock_1.factory(false, false, true), stdout = _a.stdout, term = _a.term, clear = _a.clear;
term.progressStart('', 10);
expect(stdout.list).toHaveLength(1);
expect(stdout.list[0]).toBe(' 0/10 (0 %)\n');
clear();
for (var i = 0; i < 9; i += 1) {
term.progressTick();
expect(stdout.list).toHaveLength(i + 1);
expect(stdout.list[i]).toBe(" " + (i + 1) + "/10 (" + Math.floor(((i + 1) / 10) * 100) + " %)\n");
}
term.progressTick();
expect(stdout.list).toHaveLength(10);
expect(stdout.list[9]).toBe(' 10/10 (100 %)\n');
clear();
term.progressStop();
expect(term.progressCounter).toBeNull(); // tslint:disable-line: no-any
});
});
//# sourceMappingURL=Terminal.test.js.map