OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE HTML> |
| 2 <script src="../resources/testharness.js"></script> |
| 3 <script src="../resources/testharnessreport.js"></script> |
| 4 |
| 5 <style> |
| 6 #test1 { |
| 7 --registered-1-a: var(--registered-1-b, 10px); |
| 8 --registered-1-b: var(--registered-1-a, 20px); |
| 9 |
| 10 --registered-1-c: var(--registered-1-b, 30px); |
| 11 --registered-1-d: var(--registered-1-b); |
| 12 --unregistered-1-a:var(--registered-1-a,40px); |
| 13 --unregistered-1-a:var(--registered-1-a); |
| 14 left: var(--registered-1-a, 50px); |
| 15 top: var(--registered-1-b, 60px); |
| 16 } |
| 17 </style> |
| 18 <div id=test1></div> |
| 19 <script> |
| 20 test(function() { |
| 21 CSS.registerProperty({name: '--registered-1-a', syntax: '<length>', initialV
alue: '1px'}); |
| 22 CSS.registerProperty({name: '--registered-1-b', syntax: '<length>', initialV
alue: '2px'}); |
| 23 CSS.registerProperty({name: '--registered-1-c', syntax: '<length>', initialV
alue: '3px'}); |
| 24 CSS.registerProperty({name: '--registered-1-d', syntax: '<length>', initialV
alue: '4px'}); |
| 25 |
| 26 computedStyle = getComputedStyle(test1); |
| 27 assert_equals(computedStyle.getPropertyValue('--registered-1-a'), '1px'); |
| 28 assert_equals(computedStyle.getPropertyValue('--registered-1-b'), '2px'); |
| 29 |
| 30 assert_equals(computedStyle.getPropertyValue('--registered-1-c'), '2px'); |
| 31 assert_equals(computedStyle.getPropertyValue('--registered-1-d'), '2px'); |
| 32 assert_equals(computedStyle.getPropertyValue('--unregistered-1-a'), '1px'); |
| 33 assert_equals(computedStyle.left, '1px'); |
| 34 assert_equals(computedStyle.top, '2px'); |
| 35 }, "A var() cycle between two registered properties is handled correctly."); |
| 36 </script> |
| 37 |
| 38 <style> |
| 39 #test2 { |
| 40 --registered-2-a: var(--unregistered-2-a, 10px); |
| 41 --unregistered-2-a:var(--registered-2-a,20px); |
| 42 |
| 43 --registered-2-b: var(--registered-2-a, 30px); |
| 44 --registered-2-c: var(--registered-2-a); |
| 45 --registered-2-d: var(--unregistered-2-a, 40px); |
| 46 --registered-2-e: var(--unregistered-2-a); |
| 47 --unregistered-2-b:var(--registered-2-a,50px); |
| 48 --unregistered-2-c:var(--registered-2-a); |
| 49 --unregistered-2-d:var(--unregistered-2-a,60px); |
| 50 --unregistered-2-e:var(--unregistered-2-a); |
| 51 left: var(--registered-2-a, 70px); |
| 52 top: var(--unregistered-2-a, 80px); |
| 53 } |
| 54 </style> |
| 55 <div id=test2></div> |
| 56 <script> |
| 57 test(function() { |
| 58 CSS.registerProperty({name: '--registered-2-a', syntax: '<length>', initialV
alue: '1px'}); |
| 59 CSS.registerProperty({name: '--registered-2-b', syntax: '<length>', initialV
alue: '2px'}); |
| 60 CSS.registerProperty({name: '--registered-2-c', syntax: '<length>', initialV
alue: '3px'}); |
| 61 CSS.registerProperty({name: '--registered-2-d', syntax: '<length>', initialV
alue: '4px'}); |
| 62 CSS.registerProperty({name: '--registered-2-e', syntax: '<length>', initialV
alue: '5px'}); |
| 63 |
| 64 computedStyle = getComputedStyle(test2); |
| 65 assert_equals(computedStyle.getPropertyValue('--registered-2-a'), '1px'); |
| 66 assert_equals(computedStyle.getPropertyValue('--unregistered-2-a'), ''); |
| 67 |
| 68 assert_equals(computedStyle.getPropertyValue('--registered-2-b'), '1px'); |
| 69 assert_equals(computedStyle.getPropertyValue('--registered-2-c'), '1px'); |
| 70 assert_equals(computedStyle.getPropertyValue('--registered-2-d'), '40px'); |
| 71 assert_equals(computedStyle.getPropertyValue('--registered-2-e'), '5px'); |
| 72 assert_equals(computedStyle.getPropertyValue('--unregistered-2-b'), '1px'); |
| 73 assert_equals(computedStyle.getPropertyValue('--unregistered-2-c'), '1px'); |
| 74 assert_equals(computedStyle.getPropertyValue('--unregistered-2-d'), '60px'); |
| 75 assert_equals(computedStyle.getPropertyValue('--unregistered-2-e'), ''); |
| 76 assert_equals(computedStyle.left, '1px'); |
| 77 assert_equals(computedStyle.top, '80px'); |
| 78 }, "A var() cycle between a registered properties and an unregistered property i
s handled correctly."); |
| 79 </script> |
| 80 |
| 81 <style> |
| 82 #test3 { |
| 83 --unregistered-3-a:var(--unregistered-3-b,10px); |
| 84 --unregistered-3-b:var(--unregistered-3-a,20px); |
| 85 |
| 86 --registered-3-a: var(--unregistered-3-a, 30px); |
| 87 --registered-3-b: var(--unregistered-3-a); |
| 88 --registered-3-c: var(--unregistered-3-b, 40px); |
| 89 --registered-3-d: var(--registered-3-c, 50px); |
| 90 left: var(--registered-3-d, 60px); |
| 91 top: var(--registered-3-b, 70px); |
| 92 } |
| 93 </style> |
| 94 <div id=test3></div> |
| 95 <script> |
| 96 test(function() { |
| 97 CSS.registerProperty({name: '--registered-3-a', syntax: '<length>', initialV
alue: '1px'}); |
| 98 CSS.registerProperty({name: '--registered-3-b', syntax: '<length>', initialV
alue: '2px'}); |
| 99 CSS.registerProperty({name: '--registered-3-c', syntax: '<length>', initialV
alue: '3px'}); |
| 100 CSS.registerProperty({name: '--registered-3-d', syntax: '<length>', initialV
alue: '4px'}); |
| 101 |
| 102 computedStyle = getComputedStyle(test3); |
| 103 assert_equals(computedStyle.getPropertyValue('--unregistered-3-a'), ''); |
| 104 assert_equals(computedStyle.getPropertyValue('--unregistered-3-b'), ''); |
| 105 |
| 106 assert_equals(computedStyle.getPropertyValue('--registered-3-a'), '30px'); |
| 107 assert_equals(computedStyle.getPropertyValue('--registered-3-b'), '2px'); |
| 108 assert_equals(computedStyle.getPropertyValue('--registered-3-c'), '40px'); |
| 109 assert_equals(computedStyle.getPropertyValue('--registered-3-d'), '40px'); |
| 110 assert_equals(computedStyle.left, '40px'); |
| 111 assert_equals(computedStyle.top, '2px'); |
| 112 }, "A var() cycle between a two unregistered properties is handled correctly."); |
| 113 </script> |
| 114 |
| 115 <style> |
| 116 #test4 { |
| 117 --registered-4-a:var(--unregistered-4-a,hello); |
| 118 --unregistered-4-a:var(--registered-4-a,world); |
| 119 |
| 120 --registered-4-b:var(--unregistered-4-a,meow); |
| 121 --registered-4-c:var(--unregistered-4-a); |
| 122 --unregistered-4-b:var(--unregistered-4-a,woof); |
| 123 --unregistered-4-c:var(--unregistered-4-a); |
| 124 transition-property: var(--registered-4-a, water); |
| 125 } |
| 126 </style> |
| 127 <div id=test4></div> |
| 128 <script> |
| 129 test(function() { |
| 130 CSS.registerProperty({name: '--registered-4-a', syntax: '*'}); |
| 131 CSS.registerProperty({name: '--registered-4-b', syntax: '*', initialValue: '
moo'}); |
| 132 CSS.registerProperty({name: '--registered-4-c', syntax: '*', initialValue: '
circle'}); |
| 133 |
| 134 computedStyle = getComputedStyle(test4); |
| 135 assert_equals(computedStyle.getPropertyValue('--registered-4-a'), ''); |
| 136 assert_equals(computedStyle.getPropertyValue('--unregistered-4-a'), ''); |
| 137 |
| 138 assert_equals(computedStyle.getPropertyValue('--registered-4-b'), 'meow'); |
| 139 assert_equals(computedStyle.getPropertyValue('--registered-4-c'), 'circle'); |
| 140 assert_equals(computedStyle.getPropertyValue('--unregistered-4-b'), 'woof'); |
| 141 assert_equals(computedStyle.getPropertyValue('--unregistered-4-c'), ''); |
| 142 assert_equals(computedStyle.transitionProperty, 'water'); |
| 143 }, "A var() cycle between a syntax:'*' property and an unregistered property is
handled correctly."); |
| 144 </script> |
OLD | NEW |