UNPKG

storybook-chrome-screenshot

Version:

A Storybook addon, Save the screenshot image of your stories! via puppeteer.

115 lines 4.83 kB
"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