Skip to content

Commit 0fd1528

Browse files
julienwrniwa
andauthored
jQuery workloads: use :nth-child() in a querySelector call in each iteration (#367)
This PR fixes the issue #365: jQuery test only ever marks the first todo item as completed The bug was caused by jQuery replacing the whole todo list whenever each todo item is toggled. Fixed it by running querySelector with :nth-child in each iteration. Co-authored-by: Ryosuke Niwa <[email protected]>
1 parent 9837ccc commit 0fd1528

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

resources/tests.mjs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -566,9 +566,8 @@ Suites.push({
566566
}
567567
}),
568568
new BenchmarkTestStep("CompletingAllItems", (page) => {
569-
const checkboxes = page.querySelectorAll(".toggle");
570-
for (let i = 0; i < numberOfItemsToAdd; i++)
571-
checkboxes[i].click();
569+
for (let i = 1; i <= numberOfItemsToAdd; i++)
570+
page.querySelector(`li:nth-child(${i}) .toggle`).click();
572571
}),
573572
new BenchmarkTestStep("DeletingAllItems", (page) => {
574573
for (let i = numberOfItemsToAdd - 1; i >= 0; i--)
@@ -596,9 +595,8 @@ Suites.push({
596595
}
597596
}),
598597
new BenchmarkTestStep("CompletingAllItems", (page) => {
599-
const checkboxes = page.querySelectorAll(".toggle");
600-
for (let i = 0; i < numberOfItemsToAdd; i++)
601-
checkboxes[i].click();
598+
for (let i = 1; i <= numberOfItemsToAdd; i++)
599+
page.querySelector(`li:nth-child(${i}) .toggle`).click();
602600
}),
603601
new BenchmarkTestStep("DeletingAllItems", (page) => {
604602
for (let i = numberOfItemsToAdd - 1; i >= 0; i--)

0 commit comments

Comments
 (0)