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> |