Merge pull request #17048 from calixteman/fix_ink_tests
Remove the timeouts from the inkEditor integration tests
This commit is contained in:
commit
12ca22ba44
@ -17,8 +17,39 @@ const {
|
|||||||
closePages,
|
closePages,
|
||||||
getSelectedEditors,
|
getSelectedEditors,
|
||||||
loadAndWait,
|
loadAndWait,
|
||||||
|
waitForStorageEntries,
|
||||||
} = require("./test_utils.js");
|
} = require("./test_utils.js");
|
||||||
|
|
||||||
|
const waitForClick = async page =>
|
||||||
|
page.evaluate(
|
||||||
|
() =>
|
||||||
|
new Promise(resolve => {
|
||||||
|
window.addEventListener("click", resolve, { once: true });
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
const selectAll = async page => {
|
||||||
|
await page.keyboard.down("Control");
|
||||||
|
await page.keyboard.press("a");
|
||||||
|
await page.keyboard.up("Control");
|
||||||
|
await page.waitForFunction(
|
||||||
|
() => !document.querySelector(".inkEditor.disabled:not(.selectedEditor)")
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
const clearAll = async page => {
|
||||||
|
await selectAll(page);
|
||||||
|
await page.keyboard.down("Control");
|
||||||
|
await page.keyboard.press("Backspace");
|
||||||
|
await page.keyboard.up("Control");
|
||||||
|
await waitForStorageEntries(page, 0);
|
||||||
|
};
|
||||||
|
|
||||||
|
const commit = async page => {
|
||||||
|
await page.keyboard.press("Escape");
|
||||||
|
await page.waitForSelector(".inkEditor.selectedEditor.draggable.disabled");
|
||||||
|
};
|
||||||
|
|
||||||
describe("Ink Editor", () => {
|
describe("Ink Editor", () => {
|
||||||
describe("Basic operations", () => {
|
describe("Basic operations", () => {
|
||||||
let pages;
|
let pages;
|
||||||
@ -46,32 +77,22 @@ describe("Ink Editor", () => {
|
|||||||
for (let i = 0; i < 3; i++) {
|
for (let i = 0; i < 3; i++) {
|
||||||
const x = rect.x + 100 + i * 100;
|
const x = rect.x + 100 + i * 100;
|
||||||
const y = rect.y + 100 + i * 100;
|
const y = rect.y + 100 + i * 100;
|
||||||
|
const promise = waitForClick(page);
|
||||||
await page.mouse.move(x, y);
|
await page.mouse.move(x, y);
|
||||||
await page.mouse.down();
|
await page.mouse.down();
|
||||||
await page.mouse.move(x + 50, y + 50);
|
await page.mouse.move(x + 50, y + 50);
|
||||||
await page.mouse.up();
|
await page.mouse.up();
|
||||||
await page.waitForTimeout(10);
|
await promise;
|
||||||
|
|
||||||
await page.keyboard.press("Escape");
|
await commit(page);
|
||||||
await page.waitForTimeout(10);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
await page.keyboard.down("Control");
|
await clearAll(page);
|
||||||
await page.keyboard.press("a");
|
|
||||||
await page.keyboard.up("Control");
|
|
||||||
await page.waitForTimeout(10);
|
|
||||||
|
|
||||||
expect(await getSelectedEditors(page))
|
|
||||||
.withContext(`In ${browserName}`)
|
|
||||||
.toEqual([0, 1, 2]);
|
|
||||||
|
|
||||||
await page.keyboard.press("Backspace");
|
|
||||||
await page.waitForTimeout(10);
|
|
||||||
|
|
||||||
await page.keyboard.down("Control");
|
await page.keyboard.down("Control");
|
||||||
await page.keyboard.press("z");
|
await page.keyboard.press("z");
|
||||||
await page.keyboard.up("Control");
|
await page.keyboard.up("Control");
|
||||||
await page.waitForTimeout(10);
|
await waitForStorageEntries(page, 3);
|
||||||
|
|
||||||
expect(await getSelectedEditors(page))
|
expect(await getSelectedEditors(page))
|
||||||
.withContext(`In ${browserName}`)
|
.withContext(`In ${browserName}`)
|
||||||
@ -83,13 +104,7 @@ describe("Ink Editor", () => {
|
|||||||
it("must draw, undo/redo and check that the editor don't move", async () => {
|
it("must draw, undo/redo and check that the editor don't move", async () => {
|
||||||
await Promise.all(
|
await Promise.all(
|
||||||
pages.map(async ([browserName, page]) => {
|
pages.map(async ([browserName, page]) => {
|
||||||
await page.keyboard.down("Control");
|
await clearAll(page);
|
||||||
await page.keyboard.press("a");
|
|
||||||
await page.keyboard.up("Control");
|
|
||||||
await page.waitForTimeout(10);
|
|
||||||
|
|
||||||
await page.keyboard.press("Backspace");
|
|
||||||
await page.waitForTimeout(10);
|
|
||||||
|
|
||||||
const rect = await page.$eval(".annotationEditorLayer", el => {
|
const rect = await page.$eval(".annotationEditorLayer", el => {
|
||||||
// With Chrome something is wrong when serializing a DomRect,
|
// With Chrome something is wrong when serializing a DomRect,
|
||||||
@ -100,14 +115,14 @@ describe("Ink Editor", () => {
|
|||||||
|
|
||||||
const xStart = rect.x + 300;
|
const xStart = rect.x + 300;
|
||||||
const yStart = rect.y + 300;
|
const yStart = rect.y + 300;
|
||||||
|
const clickPromise = waitForClick(page);
|
||||||
await page.mouse.move(xStart, yStart);
|
await page.mouse.move(xStart, yStart);
|
||||||
await page.mouse.down();
|
await page.mouse.down();
|
||||||
await page.mouse.move(xStart + 50, yStart + 50);
|
await page.mouse.move(xStart + 50, yStart + 50);
|
||||||
await page.mouse.up();
|
await page.mouse.up();
|
||||||
await page.waitForTimeout(10);
|
await clickPromise;
|
||||||
|
|
||||||
await page.keyboard.press("Escape");
|
await commit(page);
|
||||||
await page.waitForTimeout(10);
|
|
||||||
|
|
||||||
const rectBefore = await page.$eval(".inkEditor canvas", el => {
|
const rectBefore = await page.$eval(".inkEditor canvas", el => {
|
||||||
const { x, y } = el.getBoundingClientRect();
|
const { x, y } = el.getBoundingClientRect();
|
||||||
@ -119,13 +134,13 @@ describe("Ink Editor", () => {
|
|||||||
await page.keyboard.press("z");
|
await page.keyboard.press("z");
|
||||||
await page.keyboard.up("Control");
|
await page.keyboard.up("Control");
|
||||||
|
|
||||||
await page.waitForTimeout(10);
|
await waitForStorageEntries(page, 0);
|
||||||
|
|
||||||
await page.keyboard.down("Control");
|
await page.keyboard.down("Control");
|
||||||
await page.keyboard.press("y");
|
await page.keyboard.press("y");
|
||||||
await page.keyboard.up("Control");
|
await page.keyboard.up("Control");
|
||||||
|
|
||||||
await page.waitForTimeout(10);
|
await waitForStorageEntries(page, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
const rectAfter = await page.$eval(".inkEditor canvas", el => {
|
const rectAfter = await page.$eval(".inkEditor canvas", el => {
|
||||||
@ -170,19 +185,16 @@ describe("Ink Editor", () => {
|
|||||||
|
|
||||||
const x = rect.x + 20;
|
const x = rect.x + 20;
|
||||||
const y = rect.y + 20;
|
const y = rect.y + 20;
|
||||||
|
const clickPromise = waitForClick(page);
|
||||||
await page.mouse.move(x, y);
|
await page.mouse.move(x, y);
|
||||||
await page.mouse.down();
|
await page.mouse.down();
|
||||||
await page.mouse.move(x + 50, y + 50);
|
await page.mouse.move(x + 50, y + 50);
|
||||||
await page.mouse.up();
|
await page.mouse.up();
|
||||||
|
await clickPromise;
|
||||||
|
|
||||||
await page.waitForTimeout(10);
|
await commit(page);
|
||||||
await page.keyboard.press("Escape");
|
|
||||||
await page.waitForTimeout(10);
|
|
||||||
|
|
||||||
await page.keyboard.down("Control");
|
await selectAll(page);
|
||||||
await page.keyboard.press("a");
|
|
||||||
await page.keyboard.up("Control");
|
|
||||||
await page.waitForTimeout(10);
|
|
||||||
|
|
||||||
expect(await getSelectedEditors(page))
|
expect(await getSelectedEditors(page))
|
||||||
.withContext(`In ${browserName}`)
|
.withContext(`In ${browserName}`)
|
||||||
|
Loading…
Reference in New Issue
Block a user