| OLD | NEW |
| (Empty) |
| 1 <!-- | |
| 2 Copyright 2013 Google Inc. All Rights Reserved. | |
| 3 | |
| 4 Licensed under the Apache License, Version 2.0 (the "License"); | |
| 5 you may not use this file except in compliance with the License. | |
| 6 You may obtain a copy of the License at | |
| 7 | |
| 8 http://www.apache.org/licenses/LICENSE-2.0 | |
| 9 | |
| 10 Unless required by applicable law or agreed to in writing, software | |
| 11 distributed under the License is distributed on an "AS IS" BASIS, | |
| 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 13 See the License for the specific language governing permissions and | |
| 14 limitations under the License. | |
| 15 --> | |
| 16 <!DOCTYPE html><meta charset="UTF-8"> | |
| 17 <script src="../bootstrap.js"></script> | |
| 18 <script> | |
| 19 "use strict"; | |
| 20 | |
| 21 test(function() { | |
| 22 var element = document.createElement('span'); | |
| 23 assert_styles(element, {}, | |
| 24 'assert_styles should support an element with no parent'); | |
| 25 | |
| 26 document.body.appendChild(element); | |
| 27 var childCount = document.body.children.length; | |
| 28 assert_styles(element, {}); | |
| 29 assert_equals(childCount, document.body.children.length, | |
| 30 'assert_styles should not leave additional elements in the dom'); | |
| 31 }, 'assert_styles reference_element'); | |
| 32 | |
| 33 test(function() { | |
| 34 try { | |
| 35 assert_styles(null, {}); | |
| 36 assert_unreached(); | |
| 37 } catch (e) { | |
| 38 assert_equals(e.message, 'Expected Array, NodeList or Element but got null')
; | |
| 39 } | |
| 40 }, 'assert_styles invalid arguments'); | |
| 41 | |
| 42 test(function() { | |
| 43 var element = document.createElement('span'); | |
| 44 document.body.appendChild(element); | |
| 45 | |
| 46 try { | |
| 47 assert_styles(element, {'left': 'abc123'}, "Description 1"); | |
| 48 assert_unreached(); | |
| 49 } catch (e) { | |
| 50 assert_regexp_match(e.message, /^Tried to set the reference element\'s left
to "abc123" but neither/); | |
| 51 } | |
| 52 | |
| 53 try { | |
| 54 assert_styles(element, {'clip': 'rect(1px 2px 3px 4px)'}); | |
| 55 assert_unreached(); | |
| 56 } catch (e) { | |
| 57 assert_regexp_match(e.message, /Actual - /); | |
| 58 } | |
| 59 }, 'assert_styles given invalid style'); | |
| 60 | |
| 61 test(function() { | |
| 62 var element = document.createElement('span'); | |
| 63 document.body.appendChild(element); | |
| 64 element.style.left = '-100px'; | |
| 65 try { | |
| 66 assert_styles(element, {left: '100px'}); | |
| 67 assert_unreached(); | |
| 68 } catch(e) { | |
| 69 } | |
| 70 }, 'assert_styles should handle negative specified values'); | |
| 71 | |
| 72 test(function() { | |
| 73 var element = document.createElement('span'); | |
| 74 document.body.appendChild(element); | |
| 75 element.style.left = '100px'; | |
| 76 try { | |
| 77 assert_styles(element, {left: '-100px'}); | |
| 78 assert_unreached(); | |
| 79 } catch(e) { | |
| 80 } | |
| 81 }, 'assert_styles should handle negative expected values'); | |
| 82 | |
| 83 test(function() { | |
| 84 var element = document.createElement('span'); | |
| 85 document.body.appendChild(element); | |
| 86 element.style.left = '-100px'; | |
| 87 assert_styles(element, {left: '-100px'}); | |
| 88 }, 'assert_styles should handle negative values'); | |
| 89 | |
| 90 test(function() { | |
| 91 var AssertionError = window.assert_styles_assertion_error; | |
| 92 var assert = window.assert_styles_assert_important_in_array; | |
| 93 | |
| 94 assert('matrix(1%)', ['matrix(1%)']); | |
| 95 assert('matrix(1%)', ['', 'matrix(1%)']); | |
| 96 assert('matrix(1% 1px)', ['matrix(1%, 1px)']); | |
| 97 assert('rect(1px 2px 3px 4px)', ['rect(1px 2px 3px 4px)']); | |
| 98 assert('rect(1px 2px 3px 4px)', ['rect(1px, 2px, 3px, 4px)']); | |
| 99 | |
| 100 try { | |
| 101 assert('', [], 'empty'); | |
| 102 assert_unreached(); | |
| 103 } catch(e) { | |
| 104 assert_regexp_match(e.message, /^empty/); | |
| 105 } | |
| 106 | |
| 107 try { | |
| 108 assert('matrix(1%)', [], 'matrix 1% to empty'); | |
| 109 assert_unreached(); | |
| 110 } catch(e) { | |
| 111 assert_regexp_match(e.message, /^matrix 1% to empty/); | |
| 112 } | |
| 113 | |
| 114 try { | |
| 115 assert('matrix(1%)', [''], 'matrix 1% to empty string'); | |
| 116 assert_unreached(); | |
| 117 } catch(e) { | |
| 118 assert_regexp_match(e.message, /^matrix 1% to empty string\n/); | |
| 119 } | |
| 120 | |
| 121 try { | |
| 122 assert('matrix(1%)', ['matrix(1px)'], 'matrix 1% to matrix 1px'); | |
| 123 assert_unreached(); | |
| 124 } catch(e) { | |
| 125 assert_regexp_match(e.message, /^matrix 1% to matrix 1px/); | |
| 126 } | |
| 127 | |
| 128 /* Check that it only needs to match to 4 significant figures */ | |
| 129 assert('1', [1.0001]); | |
| 130 assert('1.0001', [1]); | |
| 131 try { | |
| 132 assert('1', [1.001]); | |
| 133 assert_unreached(); | |
| 134 } catch(e) { | |
| 135 assert_not_equals(e.message, "assert_unreached: Reached unreachable code"); | |
| 136 } | |
| 137 | |
| 138 assert('10', [10.001]); | |
| 139 assert('10.001', [10]); | |
| 140 try { | |
| 141 assert('10', [10.01]); | |
| 142 assert_unreached(); | |
| 143 } catch(e) { | |
| 144 assert_not_equals(e.message, "assert_unreached: Reached unreachable code"); | |
| 145 } | |
| 146 | |
| 147 assert('2.0', [2.0001]); | |
| 148 assert('2.0001', [2]); | |
| 149 try { | |
| 150 assert('2', [2.001]); | |
| 151 assert_unreached(); | |
| 152 } catch(e) { | |
| 153 assert_not_equals(e.message, "assert_unreached: Reached unreachable code"); | |
| 154 } | |
| 155 | |
| 156 assert('20.0', [20.001]); | |
| 157 assert('20.001', [20]); | |
| 158 try { | |
| 159 assert('20.0', [20.01]); | |
| 160 assert_unreached(); | |
| 161 } catch(e) { | |
| 162 assert_not_equals(e.message, "assert_unreached: Reached unreachable code"); | |
| 163 } | |
| 164 | |
| 165 assert('40e2', [4000.1]); | |
| 166 assert('40.001e2', [4000]); | |
| 167 try { | |
| 168 assert('40e2', [4001]); | |
| 169 assert_unreached(); | |
| 170 } catch(e) { | |
| 171 assert_not_equals(e.message, "assert_unreached: Reached unreachable code"); | |
| 172 } | |
| 173 | |
| 174 assert('40e+3', [40001]); | |
| 175 assert('40.001e+3', [40000]); | |
| 176 try { | |
| 177 assert('40e+3', [40010]); | |
| 178 assert_unreached(); | |
| 179 } catch(e) { | |
| 180 assert_not_equals(e.message, "assert_unreached: Reached unreachable code"); | |
| 181 } | |
| 182 | |
| 183 assert('50e-4', [0.0050001]); | |
| 184 assert('50.001e-4', [0.005]); | |
| 185 try { | |
| 186 assert('50e-4', [0.005001]); | |
| 187 assert_unreached(); | |
| 188 } catch(e) { | |
| 189 assert_not_equals(e.message, "assert_unreached: Reached unreachable code"); | |
| 190 } | |
| 191 | |
| 192 }, 'Checking assert_important_in_array works'); | |
| 193 | |
| 194 test(function() { | |
| 195 var ei = window.assert_styles_extract_important; | |
| 196 | |
| 197 assert_array_equals(ei('1'), [1]); | |
| 198 assert_array_equals(ei('10'), [10]); | |
| 199 assert_array_equals(ei('2.0'), [2.0]); | |
| 200 assert_array_equals(ei('20.0'), [20.0]); | |
| 201 assert_array_equals(ei('40e2'), [4000.0]); | |
| 202 assert_array_equals(ei('40e+3'), [40000.0]); | |
| 203 assert_array_equals(ei('50e-4'), [0.005]); | |
| 204 assert_array_equals(ei('60.6e-4'), [0.00606]); | |
| 205 | |
| 206 assert_array_equals(ei('+1'), [1]); | |
| 207 assert_array_equals(ei('+10'), [10]); | |
| 208 assert_array_equals(ei('+2.0'), [2.0]); | |
| 209 assert_array_equals(ei('+20.0'), [20.0]); | |
| 210 assert_array_equals(ei('+40e2'), [4000.0]); | |
| 211 assert_array_equals(ei('+40e+3'), [40000.0]); | |
| 212 assert_array_equals(ei('+50e-4'), [0.005]); | |
| 213 assert_array_equals(ei('+60.6e-4'), [0.00606]); | |
| 214 | |
| 215 assert_array_equals(ei('-1'), [-1]); | |
| 216 assert_array_equals(ei('-10'), [-10]); | |
| 217 assert_array_equals(ei('-2.0'), [-2.0]); | |
| 218 assert_array_equals(ei('-20.0'), [-20.0]); | |
| 219 assert_array_equals(ei('-40e2'), [-4000]); | |
| 220 assert_array_equals(ei('-50e-3'), [-0.05]); | |
| 221 assert_array_equals(ei('-60.6e-4'), [-0.00606]); | |
| 222 | |
| 223 assert_array_equals(ei('matrix(1%'), ['matrix', 1, '%']); | |
| 224 assert_array_equals(ei('matrix(10px'), ['matrix', 10, 'px']); | |
| 225 assert_array_equals(ei('matrix(2.0em'), ['matrix', 2.0, 'em']); | |
| 226 assert_array_equals(ei('matrix(20.0en'), ['matrix', 20.0, 'en']); | |
| 227 assert_array_equals(ei('matrix(40e2ve'), ['matrix', 4000.0, 've']); | |
| 228 assert_array_equals(ei('matrix(40e+3vw'), ['matrix', 40000.0, 'vw']); | |
| 229 assert_array_equals(ei('matrix(50e-4%'), ['matrix', 0.005, '%']); | |
| 230 | |
| 231 assert_array_equals(ei('matrix('), ['matrix']); | |
| 232 assert_array_equals(ei('blah'), ['blah']); | |
| 233 assert_array_equals(ei('+'), []); | |
| 234 assert_array_equals(ei('none'), ['none']); | |
| 235 assert_array_equals(ei('----'), []); | |
| 236 assert_array_equals(ei('-a'), ['a']); | |
| 237 assert_array_equals(ei('b.j'), ['b', 'j']); | |
| 238 | |
| 239 assert_array_equals(ei('matrix(1, 0, 0, 1, 0, 0)'), | |
| 240 ['matrix', 1, 0, 0, 1, 0, 0]); | |
| 241 assert_array_equals(ei('matrix(1 0 0 1 0 0)'), | |
| 242 ['matrix', 1, 0, 0, 1, 0, 0]); | |
| 243 assert_array_equals(ei('matrix(0.9511, 0.309, -0.309, 0.9511, 0, 0)'), | |
| 244 ['matrix', 0.9511, 0.309, -0.309, 0.9511, 0, 0]); | |
| 245 | |
| 246 }, 'Checking important parts are extracted successfully'); | |
| 247 | |
| 248 </script> | |
| OLD | NEW |