| OLD | NEW | 
| (Empty) |  | 
 |    1 <!DOCTYPE html> | 
 |    2 <html> | 
 |    3 <head> | 
 |    4 <style> | 
 |    5 #alignItemsBaseline { | 
 |    6     align-items: baseline; | 
 |    7 } | 
 |    8  | 
 |    9 #alignItemsStretch { | 
 |   10     align-items: stretch; | 
 |   11 } | 
 |   12  | 
 |   13 #alignItemsStart { | 
 |   14     align-items: start; | 
 |   15 } | 
 |   16  | 
 |   17 #alignItemsEnd { | 
 |   18     align-items: end; | 
 |   19 } | 
 |   20  | 
 |   21 #alignItemsCenter { | 
 |   22     align-items: center; | 
 |   23 } | 
 |   24  | 
 |   25 #alignItemsItemsStart { | 
 |   26     align-items: self-start; | 
 |   27 } | 
 |   28  | 
 |   29 #alignItemsItemsEnd { | 
 |   30     align-items: self-end; | 
 |   31 } | 
 |   32  | 
 |   33 #alignItemsLeft { | 
 |   34     align-items: left; | 
 |   35 } | 
 |   36  | 
 |   37 #alignItemsRight { | 
 |   38     align-items: right; | 
 |   39 } | 
 |   40  | 
 |   41 #alignItemsEndTrue { | 
 |   42     align-items: end true; | 
 |   43 } | 
 |   44  | 
 |   45 #alignItemsCenterTrue { | 
 |   46     align-items: center true; | 
 |   47 } | 
 |   48  | 
 |   49 #alignItemsItemsEndSafe { | 
 |   50     align-items: self-end safe; | 
 |   51 } | 
 |   52  | 
 |   53 #alignItemsItemsStartSafe { | 
 |   54     align-items: self-start safe; | 
 |   55 } | 
 |   56  | 
 |   57 #alignItemsRightSafe { | 
 |   58     align-items: right safe; | 
 |   59 } | 
 |   60  | 
 |   61 #alignItemsLeftTrue { | 
 |   62     align-items: left true; | 
 |   63 } | 
 |   64 </style> | 
 |   65 <script src="../../resources/js-test.js"></script> | 
 |   66 </head> | 
 |   67 <body> | 
 |   68 <div id="alignItemsBaseline"></div> | 
 |   69 <div id="alignItemsStretch"></div> | 
 |   70 <div id="alignItemsStart"></div> | 
 |   71 <div id="alignItemsEnd"></div> | 
 |   72 <div id="alignItemsCenter"></div> | 
 |   73 <div id="alignItemsItemsStart"></div> | 
 |   74 <div id="alignItemsItemsEnd"></div> | 
 |   75 <div id="alignItemsLeft"></div> | 
 |   76 <div id="alignItemsRight"></div> | 
 |   77  | 
 |   78 <div id="alignItemsEndTrue"></div> | 
 |   79 <div id="alignItemsCenterTrue"></div> | 
 |   80 <div id="alignItemsItemsEndSafe"></div> | 
 |   81 <div id="alignItemsItemsStartSafe"></div> | 
 |   82 <div id="alignItemsRightSafe"></div> | 
 |   83 <div id="alignItemsLeftTrue"></div> | 
 |   84 <script> | 
 |   85 description('Test that setting and getting align-items works as expected'); | 
 |   86  | 
 |   87 debug("Test getting align-items set through CSS"); | 
 |   88 var alignItemsBaseline = document.getElementById("alignItemsBaseline"); | 
 |   89 shouldBe("getComputedStyle(alignItemsBaseline, '').getPropertyValue('align-items
     ')", "'baseline'"); | 
 |   90  | 
 |   91 var alignItemsStretch = document.getElementById("alignItemsStretch"); | 
 |   92 shouldBe("getComputedStyle(alignItemsStretch, '').getPropertyValue('align-items'
     )", "'stretch'"); | 
 |   93  | 
 |   94 var alignItemsStart = document.getElementById("alignItemsStart"); | 
 |   95 shouldBe("getComputedStyle(alignItemsStart, '').getPropertyValue('align-items')"
     , "'start'"); | 
 |   96  | 
 |   97 var alignItemsEnd = document.getElementById("alignItemsEnd"); | 
 |   98 shouldBe("getComputedStyle(alignItemsEnd, '').getPropertyValue('align-items')", 
     "'end'"); | 
 |   99  | 
 |  100 var alignItemsCenter = document.getElementById("alignItemsCenter"); | 
 |  101 shouldBe("getComputedStyle(alignItemsCenter, '').getPropertyValue('align-items')
     ", "'center'"); | 
 |  102  | 
 |  103 var alignItemsItemsEnd = document.getElementById("alignItemsItemsEnd"); | 
 |  104 shouldBe("getComputedStyle(alignItemsItemsEnd, '').getPropertyValue('align-items
     ')", "'self-end'"); | 
 |  105  | 
 |  106 var alignItemsItemsStart = document.getElementById("alignItemsItemsStart"); | 
 |  107 shouldBe("getComputedStyle(alignItemsItemsStart, '').getPropertyValue('align-ite
     ms')", "'self-start'"); | 
 |  108  | 
 |  109 var alignItemsLeft = document.getElementById("alignItemsLeft"); | 
 |  110 shouldBe("getComputedStyle(alignItemsLeft, '').getPropertyValue('align-items')",
      "'left'"); | 
 |  111  | 
 |  112 var alignItemsRight = document.getElementById("alignItemsRight"); | 
 |  113 shouldBe("getComputedStyle(alignItemsRight, '').getPropertyValue('align-items')"
     , "'right'"); | 
 |  114  | 
 |  115 var alignItemsEndTrue = document.getElementById("alignItemsEndTrue"); | 
 |  116 shouldBe("getComputedStyle(alignItemsEndTrue, '').getPropertyValue('align-items'
     )", "'end true'"); | 
 |  117  | 
 |  118 var alignItemsCenterTrue = document.getElementById("alignItemsCenterTrue"); | 
 |  119 shouldBe("getComputedStyle(alignItemsCenterTrue, '').getPropertyValue('align-ite
     ms')", "'center true'"); | 
 |  120  | 
 |  121 var alignItemsItemsEndSafe = document.getElementById("alignItemsItemsEndSafe"); | 
 |  122 shouldBe("getComputedStyle(alignItemsItemsEndSafe, '').getPropertyValue('align-i
     tems')", "'self-end safe'"); | 
 |  123  | 
 |  124 var alignItemsItemsStartSafe = document.getElementById("alignItemsItemsStartSafe
     "); | 
 |  125 shouldBe("getComputedStyle(alignItemsItemsStartSafe, '').getPropertyValue('align
     -items')", "'self-start safe'"); | 
 |  126  | 
 |  127 var alignItemsRightSafe = document.getElementById("alignItemsRightSafe"); | 
 |  128 shouldBe("getComputedStyle(alignItemsRightSafe, '').getPropertyValue('align-item
     s')", "'right safe'"); | 
 |  129  | 
 |  130 var alignItemsLeftTrue = document.getElementById("alignItemsLeftTrue"); | 
 |  131 shouldBe("getComputedStyle(alignItemsLeftTrue, '').getPropertyValue('align-items
     ')", "'left true'"); | 
 |  132  | 
 |  133 debug(""); | 
 |  134 debug("Test initial value of align-items through JS"); | 
 |  135 element = document.createElement("div"); | 
 |  136 document.body.appendChild(element); | 
 |  137 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stre
     tch'"); | 
 |  138  | 
 |  139 debug(""); | 
 |  140 debug("Test getting and setting align-items through JS"); | 
 |  141 element = document.createElement("div"); | 
 |  142 document.body.appendChild(element); | 
 |  143 element.style.alignItems = "center"; | 
 |  144 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'cent
     er'"); | 
 |  145  | 
 |  146 element = document.createElement("div"); | 
 |  147 document.body.appendChild(element); | 
 |  148 element.style.alignItems = "true start"; | 
 |  149 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'star
     t true'"); | 
 |  150  | 
 |  151 element.style.alignItems = "auto"; | 
 |  152 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'auto
     '"); | 
 |  153  | 
 |  154 debug(""); | 
 |  155 debug("Test bad combinaisons of align-items"); | 
 |  156 element = document.createElement("div"); | 
 |  157 document.body.appendChild(element); | 
 |  158 element.style.alignItems = "true auto"; | 
 |  159 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stre
     tch'"); | 
 |  160  | 
 |  161 element.style.alignItems = "auto safe"; | 
 |  162 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stre
     tch'"); | 
 |  163  | 
 |  164 element.style.alignItems = "auto left"; | 
 |  165 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stre
     tch'"); | 
 |  166  | 
 |  167 element.style.alignItems = "baseline safe"; | 
 |  168 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stre
     tch'"); | 
 |  169  | 
 |  170 element.style.alignItems = "baseline center"; | 
 |  171 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stre
     tch'"); | 
 |  172  | 
 |  173 element.style.alignItems = "stretch true"; | 
 |  174 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stre
     tch'"); | 
 |  175  | 
 |  176 element.style.alignItems = "stretch right"; | 
 |  177 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stre
     tch'"); | 
 |  178  | 
 |  179 element.style.alignItems = "true true"; | 
 |  180 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stre
     tch'"); | 
 |  181  | 
 |  182 element.style.alignItems = "true safe"; | 
 |  183 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stre
     tch'"); | 
 |  184  | 
 |  185 element.style.alignItems = "center start"; | 
 |  186 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stre
     tch'"); | 
 |  187  | 
 |  188 element.style.alignItems = "stretch true"; | 
 |  189 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stre
     tch'"); | 
 |  190  | 
 |  191 element.style.alignItems = "safe stretch"; | 
 |  192 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stre
     tch'"); | 
 |  193  | 
 |  194 element.style.alignItems = "baseline safe"; | 
 |  195 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stre
     tch'"); | 
 |  196  | 
 |  197 element.style.alignItems = "true baseline"; | 
 |  198 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stre
     tch'"); | 
 |  199  | 
 |  200 element.style.alignItems = "true safe"; | 
 |  201 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stre
     tch'"); | 
 |  202  | 
 |  203 element.style.alignItems = "true safe left"; | 
 |  204 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stre
     tch'"); | 
 |  205  | 
 |  206 element.style.alignItems = "true left safe"; | 
 |  207 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stre
     tch'"); | 
 |  208  | 
 |  209 element.style.alignItems = "left safe true safe"; | 
 |  210 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stre
     tch'"); | 
 |  211  | 
 |  212 debug(""); | 
 |  213 debug("Test the value 'initial'"); | 
 |  214 element.style.alignItems = "center"; | 
 |  215 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'cent
     er'"); | 
 |  216 element.style.alignItems = "initial"; | 
 |  217 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'stre
     tch'"); | 
 |  218  | 
 |  219 debug(""); | 
 |  220 debug("Test the value 'inherit'"); | 
 |  221 parentElement = document.createElement("div"); | 
 |  222 document.body.appendChild(parentElement); | 
 |  223 parentElement.style.alignItems = "end"; | 
 |  224 shouldBe("getComputedStyle(parentElement, '').getPropertyValue('align-items')", 
     "'end'"); | 
 |  225  | 
 |  226 element = document.createElement("div"); | 
 |  227 parentElement.appendChild(element); | 
 |  228 element.style.alignItems = "inherit"; | 
 |  229 shouldBe("getComputedStyle(element, '').getPropertyValue('align-items')", "'end'
     "); | 
 |  230 </script> | 
 |  231 </body> | 
 |  232 </html> | 
| OLD | NEW |