blob: 7d824e15701f3eb5d37a844dbc32494c91d95b00 [file] [log] [blame]
import * as path from 'path';
import { expect } from 'chai';
import {
inBazel,
loadCachedTestBed,
takeScreenshot,
TestBed
} from '../../../puppeteer-tests/util';
import { ElementHandle } from 'puppeteer';
describe('autogrow-textarea-sk', () => {
let testBed: TestBed;
before(async () => {
testBed = await loadCachedTestBed(
path.join(__dirname, '..', '..', 'webpack.config.ts')
);
});
let textarea: ElementHandle;
beforeEach(async () => {
await testBed.page.goto(inBazel() ? testBed.baseUrl : `${testBed.baseUrl}/autogrow-textarea-sk.html`);
await testBed.page.setViewport({ width: 800, height: 600 });
textarea = (await testBed.page.$('textarea'))!;
});
it('should render the demo page', async () => {
// Smoke test.
expect(await testBed.page.$$('autogrow-textarea-sk')).to.have.length(2);
});
describe('screenshots', () => {
it('shows the empty view', async () => {
await takeScreenshot(testBed.page, 'infra-sk', 'autogrow-textarea-sk');
});
it('shows small amount of text without growth', async () => {
await textarea.type('A\nfew\nlines don\'t grow the textarea');
await takeScreenshot(testBed.page, 'infra-sk', 'autogrow-textarea-sk_filled');
});
it('shows the textarea grows', async () => {
await textarea.type('A\n\n\nlot\n\n\n\nof lines\n\n\n\n\nhere');
await takeScreenshot(testBed.page, 'infra-sk', 'autogrow-textarea-sk_grow');
});
it('shows the textarea shrinks', async () => {
await textarea.type('Two\nLines');
await takeScreenshot(testBed.page, 'infra-sk', 'autogrow-textarea-sk_shrink');
});
});
});