| OLD | NEW |
| 1 <html> | 1 <html> |
| 2 <head> | 2 <head> |
| 3 <style type="text/css" media="screen"> | 3 <style type="text/css" media="screen"> |
| 4 @-webkit-keyframes test1 { | 4 @-webkit-keyframes test1 { |
| 5 from { left: 10px; } | 5 from { left: 10px; } |
| 6 to { left: 20px; } | 6 to { left: 20px; } |
| 7 } | 7 } |
| 8 @-webkit-keyframes test2 { | 8 @-webkit-keyframes test2 { |
| 9 from { left: 10px; } | 9 from { left: 10px; } |
| 10 to { left: 20px; } | 10 to { left: 20px; } |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 144 debug("Keys"); | 144 debug("Keys"); |
| 145 | 145 |
| 146 var keyframes3 = document.styleSheets.item(0).cssRules.item(2); | 146 var keyframes3 = document.styleSheets.item(0).cssRules.item(2); |
| 147 shouldBe("keyframes3.type", "window.CSSRule.WEBKIT_KEYFRAMES_RULE"); | 147 shouldBe("keyframes3.type", "window.CSSRule.WEBKIT_KEYFRAMES_RULE"); |
| 148 shouldBe("keyframes3.name", "'test3'"); | 148 shouldBe("keyframes3.name", "'test3'"); |
| 149 | 149 |
| 150 var rules3 = keyframes3.cssRules; | 150 var rules3 = keyframes3.cssRules; |
| 151 shouldBe("rules3.length", "3"); | 151 shouldBe("rules3.length", "3"); |
| 152 shouldBe("rules3.item(0).type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); | 152 shouldBe("rules3.item(0).type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); |
| 153 shouldBe("rules3.item(0).keyText", "'0%'"); | 153 shouldBe("rules3.item(0).keyText", "'0%'"); |
| 154 shouldBe("rules3.item(1).keyText", "'50%,60%'"); | 154 shouldBe("rules3.item(1).keyText", "'50%, 60%'"); |
| 155 shouldBe("rules3.item(2).keyText", "'90%,100%'"); | 155 shouldBe("rules3.item(2).keyText", "'90%, 100%'"); |
| 156 shouldBe("rules3.item(0).cssText", "'0% { left: 10px; }'"); | 156 shouldBe("rules3.item(0).cssText", "'0% { left: 10px; }'"); |
| 157 shouldBe("rules3.item(1).cssText", "'50%,60% { left: 30px; }'"); | 157 shouldBe("rules3.item(1).cssText", "'50%, 60% { left: 30px; }'"); |
| 158 shouldBe("rules3.item(2).cssText", "'90%,100% { left: 20px; }'"); | 158 shouldBe("rules3.item(2).cssText", "'90%, 100% { left: 20px; }'"); |
| 159 | 159 |
| 160 debug(""); | 160 debug(""); |
| 161 debug("Find a rule"); | 161 debug("Find a rule"); |
| 162 | 162 |
| 163 shouldBeType("rules3.item(0).style", "CSSStyleDeclaration"); | 163 shouldBeType("rules3.item(0).style", "CSSStyleDeclaration"); |
| 164 shouldBe("rules3.item(0).style.length", "1"); | 164 shouldBe("rules3.item(0).style.length", "1"); |
| 165 var rule = keyframes3.findRule("0%"); | 165 var rule = keyframes3.findRule("0%"); |
| 166 | 166 |
| 167 if (!rule) | 167 if (!rule) |
| 168 testFailed("Could not extract '0%' keyframe rule"); | 168 testFailed("Could not extract '0%' keyframe rule"); |
| 169 shouldBe("rule.type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); | 169 shouldBe("rule.type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); |
| 170 shouldBe("rule.cssText", "'0% { left: 10px; }'"); | 170 shouldBe("rule.cssText", "'0% { left: 10px; }'"); |
| 171 | 171 |
| 172 debug(""); | 172 debug(""); |
| 173 debug("Find a rule with multiple key values"); | 173 debug("Find a rule with multiple key values"); |
| 174 var rule = keyframes3.findRule("50%,60%"); | 174 var rule = keyframes3.findRule("50%, 60%"); |
| 175 | 175 |
| 176 if (!rule) | 176 if (!rule) |
| 177 testFailed("Could not extract '50%,60%' keyframe rule"); | 177 testFailed("Could not extract '50%,60%' keyframe rule"); |
| 178 shouldBe("rule.type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); | 178 shouldBe("rule.type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); |
| 179 shouldBe("rule.cssText", "'50%,60% { left: 30px; }'"); | 179 shouldBe("rule.cssText", "'50%, 60% { left: 30px; }'"); |
| 180 | 180 |
| 181 debug(""); | 181 debug(""); |
| 182 debug("Find a rule using from and to"); | 182 debug("Find a rule using from and to"); |
| 183 | 183 |
| 184 var keyframes4 = document.styleSheets.item(0).cssRules.item(3); | 184 var keyframes4 = document.styleSheets.item(0).cssRules.item(3); |
| 185 shouldBe("keyframes4.type", "window.CSSRule.WEBKIT_KEYFRAMES_RULE"); | 185 shouldBe("keyframes4.type", "window.CSSRule.WEBKIT_KEYFRAMES_RULE"); |
| 186 | 186 |
| 187 rule = keyframes4.findRule("From"); | 187 rule = keyframes4.findRule("From"); |
| 188 shouldBe("rule.type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); | 188 shouldBe("rule.type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); |
| 189 shouldBe("rule.cssText", "'0% { left: 10px; }'"); | 189 shouldBe("rule.cssText", "'0% { left: 10px; }'"); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 203 | 203 |
| 204 debug(""); | 204 debug(""); |
| 205 debug("Delete a rule"); | 205 debug("Delete a rule"); |
| 206 | 206 |
| 207 var keyframes5 = document.styleSheets.item(0).cssRules.item(4); | 207 var keyframes5 = document.styleSheets.item(0).cssRules.item(4); |
| 208 keyframes5.deleteRule("50%,60%"); | 208 keyframes5.deleteRule("50%,60%"); |
| 209 var rules5 = keyframes5.cssRules; | 209 var rules5 = keyframes5.cssRules; |
| 210 shouldBe("rules5.length", "2"); | 210 shouldBe("rules5.length", "2"); |
| 211 shouldBe("rules5.item(0).type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); | 211 shouldBe("rules5.item(0).type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); |
| 212 shouldBe("rules5.item(0).keyText", "'0%'"); | 212 shouldBe("rules5.item(0).keyText", "'0%'"); |
| 213 shouldBe("rules5.item(1).keyText", "'90%,100%'"); | 213 shouldBe("rules5.item(1).keyText", "'90%, 100%'"); |
| 214 | 214 |
| 215 debug(""); | 215 debug(""); |
| 216 debug("Delete a from rule"); | 216 debug("Delete a from rule"); |
| 217 | 217 |
| 218 var keyframes6 = document.styleSheets.item(0).cssRules.item(5); | 218 var keyframes6 = document.styleSheets.item(0).cssRules.item(5); |
| 219 keyframes6.deleteRule("0%"); | 219 keyframes6.deleteRule("0%"); |
| 220 var rules6 = keyframes6.cssRules; | 220 var rules6 = keyframes6.cssRules; |
| 221 shouldBe("rules6.length", "2"); | 221 shouldBe("rules6.length", "2"); |
| 222 shouldBe("rules6.item(0).type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); | 222 shouldBe("rules6.item(0).type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); |
| 223 shouldBe("rules6.item(0).keyText", "'50%'"); | 223 shouldBe("rules6.item(0).keyText", "'50%'"); |
| 224 shouldBe("rules6.item(1).keyText", "'100%'"); | 224 shouldBe("rules6.item(1).keyText", "'100%'"); |
| 225 | 225 |
| 226 debug(""); | 226 debug(""); |
| 227 debug("Delete a rule that doesn't exist"); | 227 debug("Delete a rule that doesn't exist"); |
| 228 | 228 |
| 229 var keyframes7 = document.styleSheets.item(0).cssRules.item(6); | 229 var keyframes7 = document.styleSheets.item(0).cssRules.item(6); |
| 230 keyframes7.deleteRule("70%"); | 230 keyframes7.deleteRule("70%"); |
| 231 var rules7 = keyframes7.cssRules; | 231 var rules7 = keyframes7.cssRules; |
| 232 shouldBe("rules7.length", "2"); | 232 shouldBe("rules7.length", "2"); |
| 233 shouldBe("rules7.item(0).type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); | 233 shouldBe("rules7.item(0).type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); |
| 234 shouldBe("rules7.item(0).keyText", "'0%'"); | 234 shouldBe("rules7.item(0).keyText", "'0%'"); |
| 235 shouldBe("rules7.item(1).keyText", "'90%,100%'"); | 235 shouldBe("rules7.item(1).keyText", "'90%, 100%'"); |
| 236 | 236 |
| 237 debug(""); | 237 debug(""); |
| 238 debug("Set a keyframe key"); | 238 debug("Set a keyframe key"); |
| 239 | 239 |
| 240 var rules8 = document.styleSheets.item(0).cssRules.item(7).cssRules; | 240 var rules8 = document.styleSheets.item(0).cssRules.item(7).cssRules; |
| 241 rules8.item(0).keyText = "70%"; | 241 rules8.item(0).keyText = "70%"; |
| 242 shouldBe("rules8.length", "2"); | 242 shouldBe("rules8.length", "2"); |
| 243 shouldBe("rules8.item(0).type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); | 243 shouldBe("rules8.item(0).type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); |
| 244 shouldBe("rules8.item(0).keyText", "'70%'"); | 244 shouldBe("rules8.item(0).keyText", "'70%'"); |
| 245 shouldBe("rules8.item(1).keyText", "'90%,100%'"); | 245 shouldBe("rules8.item(1).keyText", "'90%, 100%'"); |
| 246 | 246 |
| 247 debug(""); | 247 debug(""); |
| 248 debug("Set a keyframe key with 'from'"); | 248 debug("Set a keyframe key with 'from'"); |
| 249 | 249 |
| 250 var rules9 = document.styleSheets.item(0).cssRules.item(8).cssRules; | 250 var rules9 = document.styleSheets.item(0).cssRules.item(8).cssRules; |
| 251 rules9.item(0).keyText = "from"; | 251 rules9.item(0).keyText = "from"; |
| 252 shouldBe("rules9.length", "2"); | 252 shouldBe("rules9.length", "2"); |
| 253 shouldBe("rules9.item(0).type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); | 253 shouldBe("rules9.item(0).type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); |
| 254 shouldBe("rules9.item(0).keyText", "'0%'"); | 254 shouldBe("rules9.item(0).keyText", "'0%'"); |
| 255 shouldBe("rules9.item(1).keyText", "'90%,100%'"); | 255 shouldBe("rules9.item(1).keyText", "'90%, 100%'"); |
| 256 | 256 |
| 257 debug(""); | 257 debug(""); |
| 258 debug("Set a keyframe key with multiple values"); | 258 debug("Set a keyframe key with multiple values"); |
| 259 | 259 |
| 260 var rules10 = document.styleSheets.item(0).cssRules.item(9).cssRules; | 260 var rules10 = document.styleSheets.item(0).cssRules.item(9).cssRules; |
| 261 rules10.item(0).keyText = "0%, 10%, from, 20%, 30%, to"; | 261 rules10.item(0).keyText = "0%, 10%, from, 20%, 30%, to"; |
| 262 shouldBe("rules10.length", "2"); | 262 shouldBe("rules10.length", "2"); |
| 263 shouldBe("rules10.item(0).type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); | 263 shouldBe("rules10.item(0).type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); |
| 264 shouldBe("rules10.item(0).keyText", "'0%,10%,0%,20%,30%,100%'"); | 264 shouldBe("rules10.item(0).keyText", "'0%, 10%, 0%, 20%, 30%, 100%'"); |
| 265 shouldBe("rules10.item(1).keyText", "'90%,100%'"); | 265 shouldBe("rules10.item(1).keyText", "'90%, 100%'"); |
| 266 | 266 |
| 267 debug(""); | 267 debug(""); |
| 268 debug("Set a keyframe key with an out-of-range value"); | 268 debug("Set a keyframe key with an out-of-range value"); |
| 269 | 269 |
| 270 var rules11 = document.styleSheets.item(0).cssRules.item(10).cssRules; | 270 var rules11 = document.styleSheets.item(0).cssRules.item(10).cssRules; |
| 271 shouldThrow('rules11.item(0).keyText = "40%, -50%, 60%";'); | 271 shouldThrow('rules11.item(0).keyText = "40%, -50%, 60%";'); |
| 272 shouldBe("rules11.length", "2"); | 272 shouldBe("rules11.length", "2"); |
| 273 shouldBe("rules11.item(0).type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); | 273 shouldBe("rules11.item(0).type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); |
| 274 shouldBe("rules11.item(0).keyText", "'0%'"); | 274 shouldBe("rules11.item(0).keyText", "'0%'"); |
| 275 shouldBe("rules11.item(1).keyText", "'90%,100%'"); | 275 shouldBe("rules11.item(1).keyText", "'90%, 100%'"); |
| 276 | 276 |
| 277 debug(""); | 277 debug(""); |
| 278 debug("Set a keyframe key with an invalid value"); | 278 debug("Set a keyframe key with an invalid value"); |
| 279 | 279 |
| 280 var rules12 = document.styleSheets.item(0).cssRules.item(11).cssRules; | 280 var rules12 = document.styleSheets.item(0).cssRules.item(11).cssRules; |
| 281 shouldThrow('rules12.item(0).keyText = "foo";'); | 281 shouldThrow('rules12.item(0).keyText = "foo";'); |
| 282 shouldBe("rules12.length", "2"); | 282 shouldBe("rules12.length", "2"); |
| 283 shouldBe("rules12.item(0).type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); | 283 shouldBe("rules12.item(0).type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); |
| 284 shouldBe("rules12.item(0).keyText", "'0%'"); | 284 shouldBe("rules12.item(0).keyText", "'0%'"); |
| 285 shouldBe("rules12.item(1).keyText", "'90%,100%'"); | 285 shouldBe("rules12.item(1).keyText", "'90%, 100%'"); |
| 286 | 286 |
| 287 debug(""); | 287 debug(""); |
| 288 debug("Set a keyframe key with a null value"); | 288 debug("Set a keyframe key with a null value"); |
| 289 | 289 |
| 290 var rules13 = document.styleSheets.item(0).cssRules.item(12).cssRules; | 290 var rules13 = document.styleSheets.item(0).cssRules.item(12).cssRules; |
| 291 shouldThrow('rules13.item(0).keyText = null;'); | 291 shouldThrow('rules13.item(0).keyText = null;'); |
| 292 shouldBe("rules13.length", "2"); | 292 shouldBe("rules13.length", "2"); |
| 293 shouldBe("rules13.item(0).type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); | 293 shouldBe("rules13.item(0).type", "window.CSSRule.WEBKIT_KEYFRAME_RULE"); |
| 294 shouldBe("rules13.item(0).keyText", "'0%'"); | 294 shouldBe("rules13.item(0).keyText", "'0%'"); |
| 295 shouldBe("rules13.item(1).keyText", "'90%,100%'"); | 295 shouldBe("rules13.item(1).keyText", "'90%, 100%'"); |
| 296 | 296 |
| 297 </script> | 297 </script> |
| 298 </body> | 298 </body> |
| 299 </html> | 299 </html> |
| OLD | NEW |