Add complex DOM workloads to tests.mjs disabled by default (#310)
This commit is contained in:
parent
790eed91c9
commit
0672c38f23
2 changed files with 351 additions and 3 deletions
|
|
@ -186,7 +186,7 @@ function updateURL() {
|
|||
// to comma separate only the selected
|
||||
const selectedSuites = Suites.filter((suite) => !suite.disabled);
|
||||
|
||||
if (!selectedSuites.length || selectedSuites.length === Suites.length) {
|
||||
if (!selectedSuites.length) {
|
||||
url.searchParams.delete("tags");
|
||||
url.searchParams.delete("suites");
|
||||
url.searchParams.delete("suite");
|
||||
|
|
@ -202,7 +202,11 @@ function updateURL() {
|
|||
commonTags = new Set(suite.tags.filter((tag) => commonTags.has(tag)));
|
||||
}
|
||||
if (commonTags.size) {
|
||||
url.searchParams.set("tags", [...commonTags][0]);
|
||||
const tags = [...commonTags][0];
|
||||
if (tags === "default")
|
||||
url.searchParams.delete("tags");
|
||||
else
|
||||
url.searchParams.set("tags", tags);
|
||||
url.searchParams.delete("suites");
|
||||
} else {
|
||||
url.searchParams.delete("tags");
|
||||
|
|
|
|||
|
|
@ -182,7 +182,7 @@ Suites.push({
|
|||
Suites.push({
|
||||
name: "TodoMVC-React-Complex-DOM",
|
||||
url: "todomvc/architecture-examples/react-complex/dist/index.html#/home",
|
||||
tags: ["todomvc", "complex"],
|
||||
tags: ["todomvc", "complex", "complex-default"],
|
||||
async prepare(page) {
|
||||
const element = await page.waitForElement(".new-todo");
|
||||
element.focus();
|
||||
|
|
@ -448,6 +448,348 @@ Suites.push({
|
|||
],
|
||||
});
|
||||
|
||||
Suites.push({
|
||||
name: "TodoMVC-JavaScript-ES5-Complex-DOM",
|
||||
url: "todomvc/vanilla-examples/javascript-es5-complex/dist/index.html",
|
||||
tags: ["todomvc", "complex"],
|
||||
disabled: true,
|
||||
async prepare(page) {
|
||||
(await page.waitForElement(".new-todo")).focus();
|
||||
},
|
||||
tests: [
|
||||
new BenchmarkTestStep(`Adding${numberOfItemsToAdd}Items`, (page) => {
|
||||
const newTodo = page.querySelector(".new-todo");
|
||||
for (let i = 0; i < numberOfItemsToAdd; i++) {
|
||||
newTodo.setValue(getTodoText("ja", i));
|
||||
newTodo.dispatchEvent("change");
|
||||
newTodo.enter("keypress");
|
||||
}
|
||||
}),
|
||||
new BenchmarkTestStep("CompletingAllItems", (page) => {
|
||||
const checkboxes = page.querySelectorAll(".toggle");
|
||||
for (let i = 0; i < numberOfItemsToAdd; i++)
|
||||
checkboxes[i].click();
|
||||
}),
|
||||
new BenchmarkTestStep("DeletingAllItems", (page) => {
|
||||
const deleteButtons = page.querySelectorAll(".destroy");
|
||||
for (let i = numberOfItemsToAdd - 1; i >= 0; i--)
|
||||
deleteButtons[i].click();
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
Suites.push({
|
||||
name: "TodoMVC-JavaScript-ES6-Webpack-Complex-DOM",
|
||||
url: "todomvc/vanilla-examples/javascript-es6-webpack-complex/dist/index.html",
|
||||
tags: ["todomvc", "complex", "complex-default"],
|
||||
disabled: true,
|
||||
async prepare(page) {
|
||||
const element = await page.waitForElement(".new-todo");
|
||||
element.focus();
|
||||
},
|
||||
tests: [
|
||||
new BenchmarkTestStep(`Adding${numberOfItemsToAdd}Items`, (page) => {
|
||||
const newTodo = page.querySelector(".new-todo");
|
||||
for (let i = 0; i < numberOfItemsToAdd; i++) {
|
||||
newTodo.setValue(getTodoText("ru", i));
|
||||
newTodo.dispatchEvent("change");
|
||||
newTodo.enter("keypress");
|
||||
}
|
||||
}),
|
||||
new BenchmarkTestStep("CompletingAllItems", (page) => {
|
||||
const checkboxes = page.querySelectorAll(".toggle");
|
||||
for (let i = 0; i < numberOfItemsToAdd; i++)
|
||||
checkboxes[i].click();
|
||||
}),
|
||||
new BenchmarkTestStep("DeletingAllItems", (page) => {
|
||||
const deleteButtons = page.querySelectorAll(".destroy");
|
||||
for (let i = numberOfItemsToAdd - 1; i >= 0; i--)
|
||||
deleteButtons[i].click();
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
Suites.push({
|
||||
name: "TodoMVC-WebComponents-Complex-DOM",
|
||||
url: "todomvc/vanilla-examples/javascript-web-components-complex/dist/index.html",
|
||||
tags: ["todomvc", "webcomponents", "complex"],
|
||||
disabled: true,
|
||||
async prepare(page) {
|
||||
await page.waitForElement("todo-app");
|
||||
},
|
||||
tests: [
|
||||
new BenchmarkTestStep(`Adding${numberOfItemsToAdd}Items`, (page) => {
|
||||
const input = page.querySelector(".new-todo-input", ["todo-app", "todo-topbar"]);
|
||||
for (let i = 0; i < numberOfItemsToAdd; i++) {
|
||||
input.setValue(getTodoText(defaultLanguage, i));
|
||||
input.dispatchEvent("input");
|
||||
input.enter("keyup");
|
||||
}
|
||||
}),
|
||||
new BenchmarkTestStep("CompletingAllItems", (page) => {
|
||||
const items = page.querySelectorAll("todo-item", ["todo-app", "todo-list"]);
|
||||
for (let i = 0; i < numberOfItemsToAdd; i++) {
|
||||
const item = items[i].querySelectorInShadowRoot(".toggle-todo-input");
|
||||
item.click();
|
||||
}
|
||||
}),
|
||||
new BenchmarkTestStep("DeletingAllItems", (page) => {
|
||||
const items = page.querySelectorAll("todo-item", ["todo-app", "todo-list"]);
|
||||
for (let i = numberOfItemsToAdd - 1; i >= 0; i--) {
|
||||
const item = items[i].querySelectorInShadowRoot(".remove-todo-button");
|
||||
item.click();
|
||||
}
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
Suites.push({
|
||||
name: "TodoMVC-React-Redux-Complex-DOM",
|
||||
url: "todomvc/architecture-examples/react-redux-complex/dist/index.html",
|
||||
tags: ["todomvc", "complex"],
|
||||
disabled: true,
|
||||
async prepare(page) {
|
||||
const element = await page.waitForElement(".new-todo");
|
||||
element.focus();
|
||||
},
|
||||
tests: [
|
||||
new BenchmarkTestStep(`Adding${numberOfItemsToAdd}Items`, (page) => {
|
||||
const newTodo = page.querySelector(".new-todo");
|
||||
for (let i = 0; i < numberOfItemsToAdd; i++) {
|
||||
newTodo.setValue(getTodoText(defaultLanguage, i));
|
||||
newTodo.enter("keydown");
|
||||
}
|
||||
}),
|
||||
new BenchmarkTestStep("CompletingAllItems", (page) => {
|
||||
const checkboxes = page.querySelectorAll(".toggle");
|
||||
for (let i = 0; i < numberOfItemsToAdd; i++)
|
||||
checkboxes[i].click();
|
||||
}),
|
||||
new BenchmarkTestStep("DeletingAllItems", (page) => {
|
||||
const deleteButtons = page.querySelectorAll(".destroy");
|
||||
for (let i = numberOfItemsToAdd - 1; i >= 0; i--)
|
||||
deleteButtons[i].click();
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
Suites.push({
|
||||
name: "TodoMVC-Backbone-Complex-DOM",
|
||||
url: "todomvc/architecture-examples/backbone-complex/dist/index.html",
|
||||
tags: ["todomvc", "complex"],
|
||||
disabled: true,
|
||||
async prepare(page) {
|
||||
await page.waitForElement("#appIsReady");
|
||||
const newTodo = page.querySelector(".new-todo");
|
||||
newTodo.focus();
|
||||
},
|
||||
tests: [
|
||||
new BenchmarkTestStep(`Adding${numberOfItemsToAdd}Items`, (page) => {
|
||||
const newTodo = page.querySelector(".new-todo");
|
||||
for (let i = 0; i < numberOfItemsToAdd; i++) {
|
||||
newTodo.setValue(getTodoText(defaultLanguage, i));
|
||||
newTodo.dispatchEvent("change");
|
||||
newTodo.enter("keypress");
|
||||
}
|
||||
}),
|
||||
new BenchmarkTestStep("CompletingAllItems", (page) => {
|
||||
const checkboxes = page.querySelectorAll(".toggle");
|
||||
for (let i = 0; i < numberOfItemsToAdd; i++)
|
||||
checkboxes[i].click();
|
||||
}),
|
||||
new BenchmarkTestStep("DeletingAllItems", (page) => {
|
||||
const deleteButtons = page.querySelectorAll(".destroy");
|
||||
for (let i = numberOfItemsToAdd - 1; i >= 0; i--)
|
||||
deleteButtons[i].click();
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
Suites.push({
|
||||
name: "TodoMVC-Angular-Complex-DOM",
|
||||
url: "todomvc/architecture-examples/angular-complex/dist/index.html",
|
||||
tags: ["todomvc", "complex", "complex-default"],
|
||||
disabled: true,
|
||||
async prepare(page) {
|
||||
const element = await page.waitForElement(".new-todo");
|
||||
element.focus();
|
||||
},
|
||||
tests: [
|
||||
new BenchmarkTestStep(`Adding${numberOfItemsToAdd}Items`, (page) => {
|
||||
const newTodo = page.querySelector(".new-todo");
|
||||
for (let i = 0; i < numberOfItemsToAdd; i++) {
|
||||
newTodo.setValue(getTodoText(defaultLanguage, i));
|
||||
newTodo.dispatchEvent("input");
|
||||
newTodo.enter("keyup");
|
||||
}
|
||||
}),
|
||||
new BenchmarkTestStep("CompletingAllItems", (page) => {
|
||||
const checkboxes = page.querySelectorAll(".toggle");
|
||||
for (let i = 0; i < numberOfItemsToAdd; i++)
|
||||
checkboxes[i].click();
|
||||
}),
|
||||
new BenchmarkTestStep("DeletingAllItems", (page) => {
|
||||
const deleteButtons = page.querySelectorAll(".destroy");
|
||||
for (let i = numberOfItemsToAdd - 1; i >= 0; i--)
|
||||
deleteButtons[i].click();
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
Suites.push({
|
||||
name: "TodoMVC-Vue-Complex-DOM",
|
||||
url: "todomvc/architecture-examples/vue-complex/dist/index.html",
|
||||
tags: ["todomvc", "complex", "complex-default"],
|
||||
disabled: true,
|
||||
async prepare(page) {
|
||||
const element = await page.waitForElement(".new-todo");
|
||||
element.focus();
|
||||
},
|
||||
tests: [
|
||||
new BenchmarkTestStep(`Adding${numberOfItemsToAdd}Items`, (page) => {
|
||||
const newTodo = page.querySelector(".new-todo");
|
||||
for (let i = 0; i < numberOfItemsToAdd; i++) {
|
||||
newTodo.setValue(getTodoText(defaultLanguage, i));
|
||||
newTodo.dispatchEvent("input");
|
||||
newTodo.enter("keyup");
|
||||
}
|
||||
}),
|
||||
new BenchmarkTestStep("CompletingAllItems", (page) => {
|
||||
const checkboxes = page.querySelectorAll(".toggle");
|
||||
for (let i = 0; i < numberOfItemsToAdd; i++)
|
||||
checkboxes[i].click();
|
||||
}),
|
||||
new BenchmarkTestStep("DeletingAllItems", (page) => {
|
||||
const deleteButtons = page.querySelectorAll(".destroy");
|
||||
for (let i = numberOfItemsToAdd - 1; i >= 0; i--)
|
||||
deleteButtons[i].click();
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
Suites.push({
|
||||
name: "TodoMVC-jQuery-Complex-DOM",
|
||||
url: "todomvc/architecture-examples/jquery-complex/dist/index.html",
|
||||
tags: ["todomvc", "complex"],
|
||||
disabled: true,
|
||||
async prepare(page) {
|
||||
await page.waitForElement("#appIsReady");
|
||||
const newTodo = page.getElementById("new-todo");
|
||||
newTodo.focus();
|
||||
},
|
||||
tests: [
|
||||
new BenchmarkTestStep(`Adding${numberOfItemsToAdd}Items`, (page) => {
|
||||
const newTodo = page.querySelector(".new-todo");
|
||||
for (let i = 0; i < numberOfItemsToAdd; i++) {
|
||||
newTodo.setValue(getTodoText(defaultLanguage, i));
|
||||
newTodo.enter("keyup");
|
||||
}
|
||||
}),
|
||||
new BenchmarkTestStep("CompletingAllItems", (page) => {
|
||||
const checkboxes = page.querySelectorAll(".toggle");
|
||||
for (let i = 0; i < numberOfItemsToAdd; i++)
|
||||
checkboxes[i].click();
|
||||
}),
|
||||
new BenchmarkTestStep("DeletingAllItems", (page) => {
|
||||
for (let i = numberOfItemsToAdd - 1; i >= 0; i--)
|
||||
page.querySelector(".destroy").click();
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
Suites.push({
|
||||
name: "TodoMVC-Preact-Complex-DOM",
|
||||
url: "todomvc/architecture-examples/preact-complex/dist/index.html#/home",
|
||||
tags: ["todomvc", "complex", "complex-default"],
|
||||
disabled: true,
|
||||
async prepare(page) {
|
||||
const element = await page.waitForElement(".new-todo");
|
||||
element.focus();
|
||||
},
|
||||
tests: [
|
||||
new BenchmarkTestStep(`Adding${numberOfItemsToAdd}Items`, (page) => {
|
||||
const newTodo = page.querySelector(".new-todo");
|
||||
for (let i = 0; i < numberOfItemsToAdd; i++) {
|
||||
newTodo.setValue(getTodoText(defaultLanguage, i));
|
||||
newTodo.enter("keydown");
|
||||
}
|
||||
}),
|
||||
new BenchmarkTestStep("CompletingAllItems", (page) => {
|
||||
const checkboxes = page.querySelectorAll(".toggle");
|
||||
for (let i = 0; i < numberOfItemsToAdd; i++)
|
||||
checkboxes[i].click();
|
||||
}),
|
||||
new BenchmarkTestStep("DeletingAllItems", (page) => {
|
||||
const deleteButtons = page.querySelectorAll(".destroy");
|
||||
for (let i = numberOfItemsToAdd - 1; i >= 0; i--)
|
||||
deleteButtons[i].click();
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
Suites.push({
|
||||
name: "TodoMVC-Svelte-Complex-DOM",
|
||||
url: "todomvc/architecture-examples/svelte-complex/dist/index.html",
|
||||
tags: ["todomvc", "complex", "complex-default"],
|
||||
disabled: true,
|
||||
async prepare(page) {
|
||||
const element = await page.waitForElement(".new-todo");
|
||||
element.focus();
|
||||
},
|
||||
tests: [
|
||||
new BenchmarkTestStep(`Adding${numberOfItemsToAdd}Items`, (page) => {
|
||||
const newTodo = page.querySelector(".new-todo");
|
||||
for (let i = 0; i < numberOfItemsToAdd; i++) {
|
||||
newTodo.setValue(getTodoText(defaultLanguage, i));
|
||||
newTodo.enter("keydown");
|
||||
}
|
||||
}),
|
||||
new BenchmarkTestStep("CompletingAllItems", (page) => {
|
||||
const checkboxes = page.querySelectorAll(".toggle");
|
||||
for (let i = 0; i < numberOfItemsToAdd; i++)
|
||||
checkboxes[i].click();
|
||||
}),
|
||||
new BenchmarkTestStep("DeletingAllItems", (page) => {
|
||||
const deleteButtons = page.querySelectorAll(".destroy");
|
||||
for (let i = numberOfItemsToAdd - 1; i >= 0; i--)
|
||||
deleteButtons[i].click();
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
Suites.push({
|
||||
name: "TodoMVC-Lit-Complex-DOM",
|
||||
url: "todomvc/architecture-examples/lit-complex/dist/index.html",
|
||||
tags: ["todomvc", "webcomponents", "complex", "complex-default"],
|
||||
disabled: true,
|
||||
async prepare(page) {
|
||||
await page.waitForElement("todo-app");
|
||||
},
|
||||
tests: [
|
||||
new BenchmarkTestStep(`Adding${numberOfItemsToAdd}Items`, (page) => {
|
||||
const newTodo = page.querySelector(".new-todo", ["todo-app", "todo-form"]);
|
||||
for (let i = 0; i < numberOfItemsToAdd; i++) {
|
||||
newTodo.setValue(getTodoText(defaultLanguage, i));
|
||||
newTodo.enter("keydown");
|
||||
}
|
||||
}),
|
||||
new BenchmarkTestStep("CompletingAllItems", (page) => {
|
||||
const todoItems = page.querySelectorAll("todo-item", ["todo-app", "todo-list"]);
|
||||
for (let i = 0; i < numberOfItemsToAdd; i++) {
|
||||
const checkbox = todoItems[i].querySelectorInShadowRoot(".toggle");
|
||||
checkbox.click();
|
||||
}
|
||||
}),
|
||||
new BenchmarkTestStep("DeletingAllItems", (page) => {
|
||||
const todoItems = page.querySelectorAll("todo-item", ["todo-app", "todo-list"]);
|
||||
for (let i = numberOfItemsToAdd - 1; i >= 0; i--) {
|
||||
const deleteButton = todoItems[i].querySelectorInShadowRoot(".destroy");
|
||||
deleteButton.click();
|
||||
}
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
Suites.push({
|
||||
name: "NewsSite-Next",
|
||||
url: "newssite/news-next/dist/index.html#/home",
|
||||
|
|
@ -702,6 +1044,8 @@ Suites.forEach((suite) => {
|
|||
suite.tags = [];
|
||||
if (suite.url.startsWith("tentative/"))
|
||||
suite.tags.unshift("all", "tentative");
|
||||
else if (suite.disabled)
|
||||
suite.tags.unshift("all");
|
||||
else
|
||||
suite.tags.unshift("all", "default");
|
||||
Object.freeze(suite.tags);
|
||||
|
|
|
|||
Loading…
Reference in a new issue