Chromium Code Reviews| Index: LayoutTests/fast/selectors/placeholder-shown-long-adjacent-backtracking.html |
| diff --git a/LayoutTests/fast/selectors/placeholder-shown-long-adjacent-backtracking.html b/LayoutTests/fast/selectors/placeholder-shown-long-adjacent-backtracking.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..0f9ed0caa493e46bbcc1fe16046e7bc26095ff28 |
| --- /dev/null |
| +++ b/LayoutTests/fast/selectors/placeholder-shown-long-adjacent-backtracking.html |
| @@ -0,0 +1,93 @@ |
| +<!doctype html> |
| +<html> |
| +<head> |
| +<script src="../../resources/js-test.js"></script> |
|
alancutter (OOO until 2018)
2015/08/20 23:36:45
We should use testharness.js where possible.
ramya.v
2015/08/25 10:24:45
Deleting this file as it is not required for Blink
|
| +<style> |
| +input { |
| + background-color: white; |
| +} |
| +:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown~:not(:placeholder-shown) { |
| + background-color: rgb(1, 2, 3); |
| +} |
| +</style> |
| +</head> |
| +<body> |
| + <div style="display:none"> |
| + <!-- 20 empty --> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input id="target1" type="text" placeholder="WebKit" class="placeholder-not-shown" value="Not Shown!"> |
| + <!-- 19 empty --> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input id="target2" type="text" placeholder="WebKit" class="placeholder-not-shown" value="Not Shown!"> |
| + <!-- 19 empty --> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input type="text" placeholder="WebKit" class="placeholder-shown"> |
| + <input id="target3" type="text" placeholder="WebKit" class="placeholder-not-shown" value="Not Shown!"> |
| + </div> |
| +</body> |
| +<script> |
| +description('Test backtracking of a long chain of :placeholder-shown siblings to catch any issue with register allocation.'); |
|
esprehn
2015/08/21 10:18:10
This is a very weird test for Blink, it seems to b
ramya.v
2015/08/25 10:24:45
Done.
|
| +shouldBe('document.querySelectorAll(":placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown~:not(:placeholder-shown)").length', '3'); |
| +shouldBe('document.querySelectorAll(":placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown~:not(:placeholder-shown)")[0]', 'document.getElementById("target1")'); |
| +shouldBe('document.querySelectorAll(":placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown~:not(:placeholder-shown)")[1]', 'document.getElementById("target2")'); |
| +shouldBe('document.querySelectorAll(":placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown+:placeholder-shown~:not(:placeholder-shown)")[2]', 'document.getElementById("target3")'); |
| +shouldBe('document.querySelectorAll("input").length', '61') |
| +var allTestCases = document.querySelectorAll("input"); |
| +for (var i = 0; i < 61; ++i) |
| + shouldBeEqualToString('getComputedStyle(document.querySelectorAll("input")[' + i + ']).backgroundColor', allTestCases[i].classList.contains('placeholder-shown') ? 'rgb(255, 255, 255)' : 'rgb(1, 2, 3)'); |
| +</script> |
| +</html> |