| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <meta charset="utf-8"> | 2 <meta charset="utf-8"> |
| 3 <script src="../../../resources/testharness.js"></script> | 3 <script src="../../../resources/testharness.js"></script> |
| 4 <script src="../../../resources/testharnessreport.js"></script> | 4 <script src="../../../resources/testharnessreport.js"></script> |
| 5 <script src="resources/shadow-dom.js"></script> | 5 <script src="resources/shadow-dom.js"></script> |
| 6 <div id="container"> | 6 <div id="container"> |
| 7 <h2>dir=rtl inherits into shadow trees</h2> | 7 <h2>dir=rtl inherits into shadow trees</h2> |
| 8 <div id="dir-rtl-inherits" dir="rtl" data-dir-expected="rtl"> | 8 <div id="dir-rtl-inherits" dir="rtl" data-dir-expected="rtl"> |
| 9 <template> | 9 <template> |
| 10 <div id="target">The dir=rtl of host should inherit to shadow trees<
/div> | 10 <div id="target">The dir=rtl of host should inherit to shadow trees<
/div> |
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 160 <shadow></shadow> | 160 <shadow></shadow> |
| 161 </template> | 161 </template> |
| 162 </div> | 162 </div> |
| 163 </div> | 163 </div> |
| 164 <script> | 164 <script> |
| 165 convertTemplatesToShadowRootsWithin(container); | 165 convertTemplatesToShadowRootsWithin(container); |
| 166 | 166 |
| 167 // Test dir="rtl" inherits in shadow trees | 167 // Test dir="rtl" inherits in shadow trees |
| 168 | 168 |
| 169 test(function () { | 169 test(function () { |
| 170 assert_direction("dir=rtl", getNodeInTreeOfTrees("dir-rtl-inherits/target"))
; | 170 assert_direction("dir=rtl", getNodeInComposedTree("dir-rtl-inherits/target")
); |
| 171 }, "dir=rtl inherits into shadow trees"); | 171 }, "dir=rtl inherits into shadow trees"); |
| 172 | 172 |
| 173 test(function () { | 173 test(function () { |
| 174 assert_direction("dir=rtl", getNodeInTreeOfTrees("dir-rtl-distributed")); | 174 assert_direction("dir=rtl", getNodeInComposedTree("dir-rtl-distributed")); |
| 175 }, "dir=rtl applies to the distributed content"); | 175 }, "dir=rtl applies to the distributed content"); |
| 176 | 176 |
| 177 test(function () { | 177 test(function () { |
| 178 assert_direction("dir=rtl", getNodeInTreeOfTrees("dir-rtl-final")); | 178 assert_direction("dir=rtl", getNodeInComposedTree("dir-rtl-final")); |
| 179 }, "dir=rtl applies to the distributed content with multiple shadow roots"); | 179 }, "dir=rtl applies to the distributed content with multiple shadow roots"); |
| 180 | 180 |
| 181 test(function () { | 181 test(function () { |
| 182 assert_direction("dir=rtl", getNodeInTreeOfTrees("dir-rtl-redistributed-mult
ilevel")); | 182 assert_direction("dir=rtl", getNodeInComposedTree("dir-rtl-redistributed-mul
tilevel")); |
| 183 }, "dir=rtl applies to the distributed content (multiple levels)"); | 183 }, "dir=rtl applies to the distributed content (multiple levels)"); |
| 184 | 184 |
| 185 test(function () { | 185 test(function () { |
| 186 assert_direction("dir=rtl", getNodeInTreeOfTrees("dir-rtl-older/target")); | 186 assert_direction("dir=rtl", getNodeInComposedTree("dir-rtl-older/target")); |
| 187 }, "dir=rtl applies to the content in older shadow roots"); | 187 }, "dir=rtl applies to the content in older shadow roots"); |
| 188 | 188 |
| 189 test(function () { | 189 test(function () { |
| 190 assert_direction("dir=rtl", getNodeInTreeOfTrees("dir-rtl-redistributed")); | 190 assert_direction("dir=rtl", getNodeInComposedTree("dir-rtl-redistributed")); |
| 191 }, "dir=rtl applies to the re-distributed content through older shadow roots"); | 191 }, "dir=rtl applies to the re-distributed content through older shadow roots"); |
| 192 | 192 |
| 193 // Test dir="auto" inherits in shadow trees | 193 // Test dir="auto" inherits in shadow trees |
| 194 // dir="auto" calculates the directionality by the first character | 194 // dir="auto" calculates the directionality by the first character |
| 195 | 195 |
| 196 test(function () { | 196 test(function () { |
| 197 assert_direction("English text", getNodeInTreeOfTrees("dir-auto-english")); | 197 assert_direction("English text", getNodeInComposedTree("dir-auto-english")); |
| 198 assert_direction("Hebrew text", getNodeInTreeOfTrees("dir-auto-hebrew")); | 198 assert_direction("Hebrew text", getNodeInComposedTree("dir-auto-hebrew")); |
| 199 assert_direction("Hebrew text", getNodeInTreeOfTrees("dir-auto-hebrew-span")
); | 199 assert_direction("Hebrew text", getNodeInComposedTree("dir-auto-hebrew-span"
)); |
| 200 }, "dir=auto the first character in the shadow trees"); | 200 }, "dir=auto the first character in the shadow trees"); |
| 201 | 201 |
| 202 test(function () { | 202 test(function () { |
| 203 assert_direction("English text", getNodeInTreeOfTrees("dir-auto-distributed-
english")); | 203 assert_direction("English text", getNodeInComposedTree("dir-auto-distributed
-english")); |
| 204 assert_direction("Hebrew text", getNodeInTreeOfTrees("dir-auto-distributed-h
ebrew")); | 204 assert_direction("Hebrew text", getNodeInComposedTree("dir-auto-distributed-
hebrew")); |
| 205 }, "dir=auto the first character in the distributed content"); | 205 }, "dir=auto the first character in the distributed content"); |
| 206 | 206 |
| 207 test(function () { | 207 test(function () { |
| 208 assert_direction("English text", getNodeInTreeOfTrees("dir-auto-final-englis
h")); | 208 assert_direction("English text", getNodeInComposedTree("dir-auto-final-engli
sh")); |
| 209 assert_direction("Hebrew text", getNodeInTreeOfTrees("dir-auto-final-hebrew"
)); | 209 assert_direction("Hebrew text", getNodeInComposedTree("dir-auto-final-hebrew
")); |
| 210 }, "dir=auto the first character in the distributed content with multiple shadow
roots"); | 210 }, "dir=auto the first character in the distributed content with multiple shadow
roots"); |
| 211 | 211 |
| 212 test(function () { | 212 test(function () { |
| 213 assert_direction("English text", getNodeInTreeOfTrees("dir-auto-multilevel-e
nglish")); | 213 assert_direction("English text", getNodeInComposedTree("dir-auto-multilevel-
english")); |
| 214 assert_direction("Hebrew text", getNodeInTreeOfTrees("dir-auto-multilevel-he
brew")); | 214 assert_direction("Hebrew text", getNodeInComposedTree("dir-auto-multilevel-h
ebrew")); |
| 215 }, "dir=auto the first character in the distributed content with multiple levels
of shadow roots"); | 215 }, "dir=auto the first character in the distributed content with multiple levels
of shadow roots"); |
| 216 | 216 |
| 217 test(function () { | 217 test(function () { |
| 218 assert_direction("English text", getNodeInTreeOfTrees("dir-auto-older-englis
h")); | 218 assert_direction("English text", getNodeInComposedTree("dir-auto-older-engli
sh")); |
| 219 assert_direction("Hebrew text", getNodeInTreeOfTrees("dir-auto-older-hebrew"
)); | 219 assert_direction("Hebrew text", getNodeInComposedTree("dir-auto-older-hebrew
")); |
| 220 }, "dir=auto the first character in the distributed content from older shadow ro
ots"); | 220 }, "dir=auto the first character in the distributed content from older shadow ro
ots"); |
| 221 | 221 |
| 222 test(function () { | 222 test(function () { |
| 223 assert_direction("English text", getNodeInTreeOfTrees("dir-auto-redistribute
d-english")); | 223 assert_direction("English text", getNodeInComposedTree("dir-auto-redistribut
ed-english")); |
| 224 assert_direction("Hebrew text", getNodeInTreeOfTrees("dir-auto-redistributed
-hebrew")); | 224 assert_direction("Hebrew text", getNodeInComposedTree("dir-auto-redistribute
d-hebrew")); |
| 225 }, "dir=auto the first character in the re-distributed content through older sha
dow roots"); | 225 }, "dir=auto the first character in the re-distributed content through older sha
dow roots"); |
| 226 | 226 |
| 227 function assert_direction(description, elementToTest) { | 227 function assert_direction(description, elementToTest) { |
| 228 elementToTest.style.webkitBorderStart = "5px solid green"; | 228 elementToTest.style.webkitBorderStart = "5px solid green"; |
| 229 elementToTest.style.webkitBorderEnd = "5px solid red"; | 229 elementToTest.style.webkitBorderEnd = "5px solid red"; |
| 230 var actualColor = document.defaultView.getComputedStyle(elementToTest).getPr
opertyValue("border-right-color"); | 230 var actualColor = document.defaultView.getComputedStyle(elementToTest).getPr
opertyValue("border-right-color"); |
| 231 var dirExpected = elementToTest.dataset.dirExpected; | 231 var dirExpected = elementToTest.dataset.dirExpected; |
| 232 switch (dirExpected) { | 232 switch (dirExpected) { |
| 233 case "ltr": | 233 case "ltr": |
| 234 assert_equals(actualColor, "rgb(255, 0, 0)", description + " should
be left-to-right"); | 234 assert_equals(actualColor, "rgb(255, 0, 0)", description + " should
be left-to-right"); |
| 235 break; | 235 break; |
| 236 case "rtl": | 236 case "rtl": |
| 237 assert_equals(actualColor, "rgb(0, 128, 0)", description + " should
be right-to-left"); | 237 assert_equals(actualColor, "rgb(0, 128, 0)", description + " should
be right-to-left"); |
| 238 break; | 238 break; |
| 239 default: | 239 default: |
| 240 break; | 240 break; |
| 241 } | 241 } |
| 242 } | 242 } |
| 243 | 243 |
| 244 if (window.testRunner) | 244 if (window.testRunner) |
| 245 container.style.display = "none"; | 245 container.style.display = "none"; |
| 246 </script> | 246 </script> |
| OLD | NEW |