Speed tests up by avoiding page loads
This commit is contained in:
@@ -14,7 +14,7 @@ let page: puppeteer.Page;
|
|||||||
const width = 1024;
|
const width = 1024;
|
||||||
const height = 768;
|
const height = 768;
|
||||||
|
|
||||||
describe('FitAddon', () => {
|
describe.only('FitAddon', () => {
|
||||||
before(async function(): Promise<any> {
|
before(async function(): Promise<any> {
|
||||||
this.timeout(20000);
|
this.timeout(20000);
|
||||||
browser = await puppeteer.launch({
|
browser = await puppeteer.launch({
|
||||||
@@ -24,25 +24,25 @@ describe('FitAddon', () => {
|
|||||||
});
|
});
|
||||||
page = (await browser.pages())[0];
|
page = (await browser.pages())[0];
|
||||||
await page.setViewport({ width, height });
|
await page.setViewport({ width, height });
|
||||||
|
await page.goto(APP);
|
||||||
|
await openTerminal();
|
||||||
});
|
});
|
||||||
|
|
||||||
after(async () => {
|
after(async () => {
|
||||||
await browser.close();
|
await browser.close();
|
||||||
});
|
});
|
||||||
|
|
||||||
beforeEach(async function(): Promise<any> {
|
it('no terminal', async function(): Promise<any> {
|
||||||
this.timeout(20000);
|
await page.evaluate(`window.fit = new FitAddon();`);
|
||||||
await page.goto(APP);
|
assert.equal(await page.evaluate(`window.fit.proposeDimensions()`), undefined);
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('proposeDimensions', () => {
|
describe('proposeDimensions', () => {
|
||||||
it('no terminal', async function(): Promise<any> {
|
afterEach(async () => {
|
||||||
await page.evaluate(`window.fit = new FitAddon();`);
|
return unloadFit();
|
||||||
assert.equal(await page.evaluate(`window.fit.proposeDimensions()`), undefined);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it('default', async function(): Promise<any> {
|
it('default', async function(): Promise<any> {
|
||||||
await openTerminal();
|
|
||||||
await loadFit();
|
await loadFit();
|
||||||
assert.deepEqual(await page.evaluate(`window.fit.proposeDimensions()`), {
|
assert.deepEqual(await page.evaluate(`window.fit.proposeDimensions()`), {
|
||||||
cols: 87,
|
cols: 87,
|
||||||
@@ -51,7 +51,6 @@ describe('FitAddon', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('width', async function(): Promise<any> {
|
it('width', async function(): Promise<any> {
|
||||||
await openTerminal();
|
|
||||||
await loadFit(1008);
|
await loadFit(1008);
|
||||||
assert.deepEqual(await page.evaluate(`window.fit.proposeDimensions()`), {
|
assert.deepEqual(await page.evaluate(`window.fit.proposeDimensions()`), {
|
||||||
cols: 110,
|
cols: 110,
|
||||||
@@ -60,7 +59,6 @@ describe('FitAddon', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('small', async function(): Promise<any> {
|
it('small', async function(): Promise<any> {
|
||||||
await openTerminal();
|
|
||||||
await loadFit(1, 1);
|
await loadFit(1, 1);
|
||||||
assert.deepEqual(await page.evaluate(`window.fit.proposeDimensions()`), {
|
assert.deepEqual(await page.evaluate(`window.fit.proposeDimensions()`), {
|
||||||
cols: 2,
|
cols: 2,
|
||||||
@@ -70,8 +68,11 @@ describe('FitAddon', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe('fit', () => {
|
describe('fit', () => {
|
||||||
|
afterEach(async () => {
|
||||||
|
return unloadFit();
|
||||||
|
});
|
||||||
|
|
||||||
it('default', async function(): Promise<any> {
|
it('default', async function(): Promise<any> {
|
||||||
await openTerminal();
|
|
||||||
await loadFit();
|
await loadFit();
|
||||||
await page.evaluate(`window.fit.fit()`);
|
await page.evaluate(`window.fit.fit()`);
|
||||||
assert.equal(await page.evaluate(`window.term.cols`), 87);
|
assert.equal(await page.evaluate(`window.term.cols`), 87);
|
||||||
@@ -79,7 +80,6 @@ describe('FitAddon', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('width', async function(): Promise<any> {
|
it('width', async function(): Promise<any> {
|
||||||
await openTerminal();
|
|
||||||
await loadFit(1008);
|
await loadFit(1008);
|
||||||
await page.evaluate(`window.fit.fit()`);
|
await page.evaluate(`window.fit.fit()`);
|
||||||
assert.equal(await page.evaluate(`window.term.cols`), 110);
|
assert.equal(await page.evaluate(`window.term.cols`), 110);
|
||||||
@@ -87,7 +87,6 @@ describe('FitAddon', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('small', async function(): Promise<any> {
|
it('small', async function(): Promise<any> {
|
||||||
await openTerminal();
|
|
||||||
await loadFit(1, 1);
|
await loadFit(1, 1);
|
||||||
await page.evaluate(`window.fit.fit()`);
|
await page.evaluate(`window.fit.fit()`);
|
||||||
assert.equal(await page.evaluate(`window.term.cols`), 2);
|
assert.equal(await page.evaluate(`window.term.cols`), 2);
|
||||||
@@ -105,6 +104,10 @@ async function loadFit(width: number = 800, height: number = 450): Promise<void>
|
|||||||
`);
|
`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function unloadFit(): Promise<void> {
|
||||||
|
await page.evaluate(`window.fit.dispose();`);
|
||||||
|
}
|
||||||
|
|
||||||
async function openTerminal(options: ITerminalOptions = {}): Promise<void> {
|
async function openTerminal(options: ITerminalOptions = {}): Promise<void> {
|
||||||
await page.evaluate(`window.term = new Terminal(${JSON.stringify(options)})`);
|
await page.evaluate(`window.term = new Terminal(${JSON.stringify(options)})`);
|
||||||
await page.evaluate(`window.term.open(document.querySelector('#terminal-container'))`);
|
await page.evaluate(`window.term.open(document.querySelector('#terminal-container'))`);
|
||||||
|
|||||||
Reference in New Issue
Block a user