OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <style> | 4 <style> |
5 #scrollBehaviorInstant { | 5 #scrollBehaviorAuto { |
6 scroll-behavior: instant; | 6 scroll-behavior: auto; |
7 } | 7 } |
8 | 8 |
9 #scrollBehaviorSmooth { | 9 #scrollBehaviorSmooth { |
10 scroll-behavior: smooth; | 10 scroll-behavior: smooth; |
11 } | 11 } |
12 </style> | 12 </style> |
13 <script src="../../resources/js-test.js"></script> | 13 <script src="../../resources/js-test.js"></script> |
14 </head> | 14 </head> |
15 <body> | 15 <body> |
16 <div id="scrollBehaviorInstant"></div> | 16 <div id="scrollBehaviorAuto"></div> |
17 <div id="scrollBehaviorSmooth"></div> | 17 <div id="scrollBehaviorSmooth"></div> |
18 <script> | 18 <script> |
19 description('Test that setting and getting scroll-behavior works as expected'); | 19 description('Test that setting and getting scroll-behavior works as expected'); |
20 | 20 |
21 debug("Test getting scroll-behavior set through CSS"); | 21 debug("Test getting scroll-behavior set through CSS"); |
22 var scrollBehaviorInstant = document.getElementById("scrollBehaviorInstant"); | 22 var scrollBehaviorAuto = document.getElementById("scrollBehaviorAuto"); |
23 shouldBe("getComputedStyle(scrollBehaviorInstant, '').getPropertyValue('scroll-b
ehavior')", "'instant'"); | 23 shouldBe("getComputedStyle(scrollBehaviorAuto, '').getPropertyValue('scroll-beha
vior')", "'auto'"); |
24 | 24 |
25 var scrollBehaviorSmooth = document.getElementById("scrollBehaviorSmooth"); | 25 var scrollBehaviorSmooth = document.getElementById("scrollBehaviorSmooth"); |
26 shouldBe("getComputedStyle(scrollBehaviorSmooth, '').getPropertyValue('scroll-be
havior')", "'smooth'"); | 26 shouldBe("getComputedStyle(scrollBehaviorSmooth, '').getPropertyValue('scroll-be
havior')", "'smooth'"); |
27 | 27 |
28 debug(""); | 28 debug(""); |
29 debug("Test initial value of scroll-behavior"); | 29 debug("Test initial value of scroll-behavior"); |
30 var element = document.createElement("div"); | 30 var element = document.createElement("div"); |
31 document.body.appendChild(element); | 31 document.body.appendChild(element); |
32 shouldBe("getComputedStyle(element, '').getPropertyValue('scroll-behavior')", "'
instant'"); | 32 shouldBe("getComputedStyle(element, '').getPropertyValue('scroll-behavior')", "'
auto'"); |
33 | 33 |
34 debug(""); | 34 debug(""); |
35 debug("Test getting and setting scroll-behavior through JS"); | 35 debug("Test getting and setting scroll-behavior through JS"); |
36 element = document.createElement("div"); | 36 element = document.createElement("div"); |
37 document.body.appendChild(element); | 37 document.body.appendChild(element); |
38 element.style.scrollBehavior = "smooth"; | 38 element.style.scrollBehavior = "smooth"; |
39 shouldBe("getComputedStyle(element, '').getPropertyValue('scroll-behavior')", "'
smooth'"); | 39 shouldBe("getComputedStyle(element, '').getPropertyValue('scroll-behavior')", "'
smooth'"); |
40 | 40 |
41 element.style.scrollBehavior = "instant"; | 41 element.style.scrollBehavior = "auto"; |
42 shouldBe("getComputedStyle(element, '').getPropertyValue('scroll-behavior')", "'
instant'"); | 42 shouldBe("getComputedStyle(element, '').getPropertyValue('scroll-behavior')", "'
auto'"); |
43 | 43 |
44 debug(""); | 44 debug(""); |
45 debug("Test the value 'initial'"); | 45 debug("Test the value 'initial'"); |
46 element.style.scrollBehavior = "smooth"; | 46 element.style.scrollBehavior = "smooth"; |
47 shouldBe("getComputedStyle(element, '').getPropertyValue('scroll-behavior')", "'
smooth'"); | 47 shouldBe("getComputedStyle(element, '').getPropertyValue('scroll-behavior')", "'
smooth'"); |
48 element.style.scrollBehavior = "initial"; | 48 element.style.scrollBehavior = "initial"; |
49 shouldBe("getComputedStyle(element, '').getPropertyValue('scroll-behavior')", "'
instant'"); | 49 shouldBe("getComputedStyle(element, '').getPropertyValue('scroll-behavior')", "'
auto'"); |
50 | 50 |
51 debug(""); | 51 debug(""); |
52 debug("Test the value 'inherit'"); | 52 debug("Test the value 'inherit'"); |
53 var parentElement = document.createElement("div"); | 53 var parentElement = document.createElement("div"); |
54 document.body.appendChild(parentElement); | 54 document.body.appendChild(parentElement); |
55 parentElement.style.scrollBehavior = "smooth"; | 55 parentElement.style.scrollBehavior = "smooth"; |
56 shouldBe("getComputedStyle(parentElement, '').getPropertyValue('scroll-behavior'
)", "'smooth'"); | 56 shouldBe("getComputedStyle(parentElement, '').getPropertyValue('scroll-behavior'
)", "'smooth'"); |
57 element = document.createElement("div"); | 57 element = document.createElement("div"); |
58 parentElement.appendChild(element); | 58 parentElement.appendChild(element); |
59 element.style.scrollBehavior = "inherit"; | 59 element.style.scrollBehavior = "inherit"; |
60 shouldBe("getComputedStyle(element, '').getPropertyValue('scroll-behavior')", "'
smooth'"); | 60 shouldBe("getComputedStyle(element, '').getPropertyValue('scroll-behavior')", "'
smooth'"); |
61 | 61 |
62 debug(""); | 62 debug(""); |
63 debug("Test that scroll-behavior is not inherited by default"); | 63 debug("Test that scroll-behavior is not inherited by default"); |
64 var parentElement = document.createElement("div"); | 64 var parentElement = document.createElement("div"); |
65 document.body.appendChild(parentElement); | 65 document.body.appendChild(parentElement); |
66 parentElement.style.scrollBehavior = "smooth"; | 66 parentElement.style.scrollBehavior = "smooth"; |
67 shouldBe("getComputedStyle(parentElement, '').getPropertyValue('scroll-behavior'
)", "'smooth'"); | 67 shouldBe("getComputedStyle(parentElement, '').getPropertyValue('scroll-behavior'
)", "'smooth'"); |
68 element = document.createElement("div"); | 68 element = document.createElement("div"); |
69 parentElement.appendChild(element); | 69 parentElement.appendChild(element); |
70 shouldBe("getComputedStyle(element, '').getPropertyValue('scroll-behavior')", "'
instant'"); | 70 shouldBe("getComputedStyle(element, '').getPropertyValue('scroll-behavior')", "'
auto'"); |
71 </script> | 71 </script> |
72 </body> | 72 </body> |
73 </html> | 73 </html> |
OLD | NEW |