Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(73)

Side by Side Diff: third_party/WebKit/LayoutTests/intersection-observer/unclipped-root.html

Issue 1983383002: Convert IntersectionObserver tests to use testRunner.runIdleTasks. (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: rebase Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <script src="../resources/js-test.js"></script> 2 <script src="../resources/js-test.js"></script>
3 <script src="helper-functions.js"></script> 3 <script src="../resources/intersection-observer-helper-functions.js"></script>
4 <style> 4 <style>
5 #root { 5 #root {
6 overflow: visible; 6 overflow: visible;
7 height: 200px; 7 height: 200px;
8 width: 200px; 8 width: 200px;
9 border: 7px solid black; 9 border: 7px solid black;
10 } 10 }
11 #target { 11 #target {
12 width: 100px; 12 width: 100px;
13 height: 100px; 13 height: 100px;
(...skipping 11 matching lines...) Expand all
25 var entries = []; 25 var entries = [];
26 var observer = new IntersectionObserver( 26 var observer = new IntersectionObserver(
27 changes => { entries.push(...changes) }, 27 changes => { entries.push(...changes) },
28 { root: document.getElementById("root") } 28 { root: document.getElementById("root") }
29 ); 29 );
30 30
31 onload = function() { 31 onload = function() {
32 observer.observe(target); 32 observer.observe(target);
33 entries.push(...observer.takeRecords()); 33 entries.push(...observer.takeRecords());
34 shouldBeEqualToNumber("entries.length", 0); 34 shouldBeEqualToNumber("entries.length", 0);
35 // See README for explanation of double RAF. 35 waitForNotification(step0);
36 requestAnimationFrame(() => { requestAnimationFrame(step0) });
37 } 36 }
38 37
39 function step0() { 38 function step0() {
40 entries.push(...observer.takeRecords());
41 shouldBeEqualToNumber("entries.length", 0); 39 shouldBeEqualToNumber("entries.length", 0);
42 target.style.transform = "translateY(195px)"; 40 target.style.transform = "translateY(195px)";
43 requestAnimationFrame(step1); 41 waitForNotification(step1);
44 } 42 }
45 43
46 function step1() { 44 function step1() {
47 entries.push(...observer.takeRecords());
48 shouldBeEqualToNumber("entries.length", 1); 45 shouldBeEqualToNumber("entries.length", 1);
49 if (entries.length > 0) { 46 if (entries.length > 0) {
50 shouldBeEqualToNumber("entries[0].boundingClientRect.left", 15); 47 shouldBeEqualToNumber("entries[0].boundingClientRect.left", 15);
51 shouldBeEqualToNumber("entries[0].boundingClientRect.right", 115); 48 shouldBeEqualToNumber("entries[0].boundingClientRect.right", 115);
52 shouldBeEqualToNumber("entries[0].boundingClientRect.top", 210); 49 shouldBeEqualToNumber("entries[0].boundingClientRect.top", 210);
53 shouldBeEqualToNumber("entries[0].boundingClientRect.bottom", 310); 50 shouldBeEqualToNumber("entries[0].boundingClientRect.bottom", 310);
54 shouldBeEqualToNumber("entries[0].intersectionRect.left", 15); 51 shouldBeEqualToNumber("entries[0].intersectionRect.left", 15);
55 shouldBeEqualToNumber("entries[0].intersectionRect.right", 115); 52 shouldBeEqualToNumber("entries[0].intersectionRect.right", 115);
56 shouldBeEqualToNumber("entries[0].intersectionRect.top", 210); 53 shouldBeEqualToNumber("entries[0].intersectionRect.top", 210);
57 shouldBeEqualToNumber("entries[0].intersectionRect.bottom", 222); 54 shouldBeEqualToNumber("entries[0].intersectionRect.bottom", 222);
58 shouldBeEqualToNumber("entries[0].rootBounds.left", 8); 55 shouldBeEqualToNumber("entries[0].rootBounds.left", 8);
59 shouldBeEqualToNumber("entries[0].rootBounds.right", 222); 56 shouldBeEqualToNumber("entries[0].rootBounds.right", 222);
60 shouldBeEqualToNumber("entries[0].rootBounds.top", 8); 57 shouldBeEqualToNumber("entries[0].rootBounds.top", 8);
61 shouldBeEqualToNumber("entries[0].rootBounds.bottom", 222); 58 shouldBeEqualToNumber("entries[0].rootBounds.bottom", 222);
62 shouldEvaluateToSameObject("entries[0].target", target); 59 shouldEvaluateToSameObject("entries[0].target", target);
63 } 60 }
64 61
65 finishJSTest(); 62 finishJSTest();
66 } 63 }
67 </script> 64 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698