Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 <!DOCTYPE html> | |
| 2 <script src="../resources/testharness.js"></script> | |
| 3 <script src="../resources/testharnessreport.js"></script> | |
| 4 | |
| 5 <script> | |
| 6 setTimeout(function() { window.location.reload()}, 500); | |
| 7 </script> | |
| 8 | |
| 9 <script> | |
| 10 function assert_unresolved(value) { | |
| 11 assert_true(isNaN(value)); | |
| 12 } | |
| 13 | |
| 14 function idlePlayer() { | |
| 15 var player = document.documentElement.animate([], 100000); | |
| 16 player.cancel(); | |
| 17 assert_equals(player.playState, 'idle'); | |
| 18 return player; | |
| 19 } | |
| 20 | |
| 21 function runningPlayer() { | |
| 22 var player = document.documentElement.animate([], 100000); | |
| 23 player.startTime = document.timeline.currentTime; | |
| 24 return player; | |
| 25 } | |
| 26 | |
| 27 function pendingStartTimePlayer() { | |
| 28 var player = document.documentElement.animate([], 100000); | |
| 29 return player; | |
| 30 } | |
| 31 | |
| 32 function pendingStartTimeAndCurrentTimePlayer() { | |
| 33 var player = document.documentElement.animate([], 100000); | |
| 34 player.pause(); | |
| 35 player.play(); | |
| 36 return player; | |
| 37 } | |
| 38 | |
| 39 function pausedPlayer() { | |
| 40 var player = document.documentElement.animate([], 100000); | |
| 41 player.pause(); | |
| 42 player.currentTime = 0; | |
| 43 return player; | |
| 44 } | |
| 45 | |
| 46 function finishedPlayer() { | |
| 47 var player = document.documentElement.animate([], 100000); | |
| 48 player.finish(); | |
| 49 return player; | |
| 50 } | |
| 51 | |
| 52 test(function() { | |
| 53 var player = idlePlayer(); | |
| 54 assert_unresolved(player.startTime); | |
| 55 assert_unresolved(player.currentTime); | |
| 56 assert_equals(player.playState, 'idle'); | |
| 57 }, "idle"); | |
| 58 | |
| 59 test(function() { | |
| 60 var player = pendingStartTimePlayer(); | |
| 61 assert_unresolved(player.startTime); | |
| 62 assert_equals(player.currentTime, 0); | |
| 63 assert_equals(player.playState, 'pending'); | |
| 64 }, "pending startTime"); | |
| 65 | |
| 66 test(function() { | |
| 67 var player = pendingStartTimeAndCurrentTimePlayer(); | |
| 68 assert_unresolved(player.startTime); | |
| 69 assert_unresolved(player.currentTime); | |
| 70 assert_equals(player.playState, 'pending'); | |
| 71 }, "pending startTime and currentTime"); | |
| 72 | |
| 73 test(function() { | |
| 74 var player = runningPlayer(); | |
| 75 assert_equals(player.startTime, document.timeline.currentTime - player.current Time); | |
| 76 assert_equals(player.currentTime, 0); | |
| 77 assert_equals(player.playState, 'running'); | |
| 78 }, "running"); | |
|
shans
2014/09/09 09:43:10
This is a bit of a nonsense test - all of the asse
dstockwell
2014/09/09 09:59:49
These are testing that runningPlayer() and friends
| |
| 79 | |
| 80 test(function() { | |
| 81 var player = pausedPlayer(); | |
| 82 assert_unresolved(player.startTime); | |
| 83 assert_equals(player.currentTime, 0); | |
| 84 assert_equals(player.playState, 'paused'); | |
| 85 }, "paused"); | |
| 86 | |
| 87 test(function() { | |
| 88 var player = finishedPlayer(); | |
| 89 assert_equals(player.startTime, document.timeline.currentTime - player.current Time); | |
| 90 assert_equals(player.currentTime, 100000); | |
| 91 assert_equals(player.playState, 'finished'); | |
| 92 }, "finished"); | |
| 93 | |
| 94 test(function() { | |
| 95 var player = idlePlayer(); | |
| 96 player.play(); | |
| 97 assert_unresolved(player.startTime); | |
| 98 assert_equals(player.currentTime, 0); | |
| 99 assert_equals(player.playState, 'pending'); | |
| 100 }, "idle -> play()"); | |
| 101 | |
| 102 test(function() { | |
| 103 var player = idlePlayer(); | |
| 104 player.pause(); | |
| 105 assert_unresolved(player.startTime); | |
| 106 assert_unresolved(player.currentTime); | |
| 107 assert_equals(player.playState, 'idle'); | |
| 108 }, "idle -> pause()"); | |
| 109 | |
| 110 test(function() { | |
| 111 var player = idlePlayer(); | |
| 112 player.cancel(); | |
| 113 assert_unresolved(player.startTime); | |
| 114 assert_unresolved(player.currentTime); | |
| 115 assert_equals(player.playState, 'idle'); | |
| 116 }, "idle -> cancel()"); | |
| 117 | |
| 118 test(function() { | |
| 119 var player = idlePlayer(); | |
| 120 player.finish(); | |
| 121 assert_equals(player.startTime, document.timeline.currentTime - player.current Time); | |
| 122 assert_equals(player.currentTime, 100000); | |
| 123 assert_equals(player.playState, 'finished'); | |
|
shans
2014/09/09 09:43:10
I'm not sure that this makes sense. If paused and
dstockwell
2014/09/09 23:20:03
OK, if finish() is just seek, then finish() should
| |
| 124 }, "idle -> finish()"); | |
| 125 | |
| 126 test(function() { | |
| 127 var player = idlePlayer(); | |
| 128 player.reverse(); | |
| 129 assert_unresolved(player.startTime); | |
| 130 assert_equals(player.currentTime, 100000); | |
| 131 assert_equals(player.playState, 'pending'); | |
| 132 }, "idle -> reverse()"); | |
| 133 | |
| 134 test(function() { | |
| 135 var player = idlePlayer(); | |
| 136 player.currentTime = 1000; | |
| 137 assert_unresolved(player.startTime); | |
| 138 assert_unresolved(player.currentTime); | |
| 139 assert_equals(player.playState, 'idle'); | |
| 140 }, "idle -> set currentTime"); | |
|
shans
2014/09/09 09:43:10
why should this act differently to finish()?
| |
| 141 | |
| 142 test(function() { | |
| 143 var player = idlePlayer(); | |
| 144 player.startTime = 1000; | |
| 145 assert_unresolved(player.startTime); | |
| 146 assert_unresolved(player.currentTime); | |
| 147 assert_equals(player.playState, 'idle'); | |
| 148 }, "idle -> set startTime"); | |
| 149 | |
| 150 test(function() { | |
| 151 var player = pendingStartTimePlayer(); | |
| 152 player.play(); | |
| 153 assert_unresolved(player.startTime); | |
| 154 assert_equals(player.currentTime, 0); | |
| 155 assert_equals(player.playState, 'pending'); | |
| 156 }, "pending startTime -> play()"); | |
| 157 | |
| 158 test(function() { | |
| 159 var player = pendingStartTimePlayer(); | |
| 160 player.pause(); | |
| 161 assert_unresolved(player.startTime); | |
| 162 assert_unresolved(player.currentTime); | |
| 163 assert_equals(player.playState, 'pending'); | |
| 164 }, "pending startTime -> pause()"); | |
| 165 | |
| 166 test(function() { | |
| 167 var player = pendingStartTimePlayer(); | |
| 168 player.cancel(); | |
| 169 assert_unresolved(player.startTime); | |
| 170 assert_unresolved(player.currentTime); | |
| 171 assert_equals(player.playState, 'idle'); | |
| 172 }, "pending startTime -> cancel()"); | |
| 173 | |
| 174 test(function() { | |
| 175 var player = pendingStartTimePlayer(); | |
| 176 player.finish(); | |
| 177 assert_equals(player.startTime, document.timeline.currentTime - player.current Time); | |
| 178 assert_equals(player.currentTime, 100000); | |
| 179 assert_equals(player.playState, 'finished'); | |
| 180 }, "pending startTime -> finish()"); | |
| 181 | |
| 182 test(function() { | |
| 183 var player = pendingStartTimePlayer(); | |
| 184 player.reverse(); | |
| 185 assert_unresolved(player.startTime); | |
| 186 assert_equals(player.currentTime, 100000); | |
| 187 assert_equals(player.playState, 'pending'); | |
| 188 }, "pending startTime -> reverse()"); | |
| 189 | |
| 190 test(function() { | |
| 191 var player = pendingStartTimePlayer(); | |
| 192 player.currentTime = 1000; | |
| 193 assert_unresolved(player.startTime); | |
| 194 assert_equals(player.currentTime, 1000); | |
| 195 assert_equals(player.playState, 'pending'); | |
| 196 }, "pending startTime -> set currentTime"); | |
|
shans
2014/09/09 09:43:10
This still feels a bit strange. I think setting cu
dstockwell
2014/09/09 09:59:49
The time at which we can actually start animating
| |
| 197 | |
| 198 test(function() { | |
| 199 var player = pendingStartTimePlayer(); | |
| 200 player.startTime = document.timeline.currentTime; | |
| 201 assert_equals(player.startTime, document.timeline.currentTime); | |
| 202 assert_equals(player.currentTime, 0); | |
| 203 assert_equals(player.playState, 'running'); | |
| 204 }, "pending startTime -> set startTime"); | |
| 205 | |
| 206 test(function() { | |
| 207 var player = pendingStartTimeAndCurrentTimePlayer(); | |
| 208 player.play(); | |
| 209 assert_unresolved(player.startTime); | |
| 210 assert_unresolved(player.currentTime); | |
| 211 assert_equals(player.playState, 'pending'); | |
| 212 }, "pending startTime & currentTime -> play()"); | |
| 213 | |
| 214 test(function() { | |
| 215 var player = pendingStartTimeAndCurrentTimePlayer(); | |
| 216 player.pause(); | |
| 217 assert_unresolved(player.startTime); | |
| 218 assert_unresolved(player.currentTime); | |
| 219 assert_equals(player.playState, 'pending'); | |
| 220 }, "pending startTime & currentTime -> pause()"); | |
| 221 | |
| 222 test(function() { | |
| 223 var player = pendingStartTimeAndCurrentTimePlayer(); | |
| 224 player.cancel(); | |
| 225 assert_unresolved(player.startTime); | |
| 226 assert_unresolved(player.currentTime); | |
| 227 assert_equals(player.playState, 'idle'); | |
| 228 }, "pending startTime & currentTime -> cancel()"); | |
| 229 | |
| 230 test(function() { | |
| 231 var player = pendingStartTimeAndCurrentTimePlayer(); | |
| 232 player.finish(); | |
| 233 assert_equals(player.startTime, document.timeline.currentTime - player.current Time); | |
| 234 assert_equals(player.currentTime, 100000); | |
| 235 assert_equals(player.playState, 'finished'); | |
| 236 }, "pending startTime & currentTime -> finish()"); | |
| 237 | |
| 238 test(function() { | |
| 239 var player = pendingStartTimeAndCurrentTimePlayer(); | |
| 240 player.reverse(); | |
| 241 assert_unresolved(player.startTime); | |
| 242 assert_unresolved(player.currentTime); | |
| 243 assert_equals(player.playState, 'pending'); | |
| 244 }, "pending startTime & currentTime -> reverse()"); | |
| 245 | |
| 246 test(function() { | |
| 247 var player = pendingStartTimeAndCurrentTimePlayer(); | |
| 248 player.currentTime = 1000; | |
| 249 assert_equals(player.startTime, document.timeline.currentTime - player.current Time); | |
| 250 assert_equals(player.currentTime, 1000); | |
| 251 assert_equals(player.playState, 'running'); | |
| 252 }, "pending startTime & currentTime -> set currentTime"); | |
|
shans
2014/09/09 09:43:10
pending startTime & currentTime should be a weaker
dstockwell
2014/09/09 09:59:49
Yep, this one seems wrong.
dstockwell
2014/09/09 23:20:03
Fixed.
dstockwell
2014/09/09 23:20:03
Fixed.
| |
| 253 | |
| 254 test(function() { | |
| 255 var player = pendingStartTimeAndCurrentTimePlayer(); | |
| 256 player.startTime = document.timeline.currentTime; | |
| 257 assert_equals(player.startTime, document.timeline.currentTime); | |
| 258 assert_equals(player.currentTime, 0); | |
| 259 assert_equals(player.playState, 'running'); | |
| 260 }, "pending startTime & currentTime -> set startTime"); | |
| 261 | |
| 262 test(function() { | |
| 263 var player = runningPlayer(); | |
| 264 var startTime = player.startTime; | |
| 265 var currentTime = player.currentTime; | |
| 266 player.play(); | |
| 267 assert_equals(player.startTime, startTime); | |
| 268 assert_equals(player.currentTime, currentTime); | |
| 269 assert_equals(player.playState, 'running'); | |
| 270 }, "running -> play()"); | |
| 271 | |
| 272 test(function() { | |
| 273 var player = runningPlayer(); | |
| 274 player.pause(); | |
| 275 assert_unresolved(player.startTime); | |
| 276 assert_unresolved(player.currentTime); | |
| 277 assert_equals(player.playState, 'pending'); | |
| 278 }, "running -> pause()"); | |
| 279 | |
| 280 test(function() { | |
| 281 var player = runningPlayer(); | |
| 282 player.cancel(); | |
| 283 assert_unresolved(player.startTime); | |
| 284 assert_unresolved(player.currentTime); | |
| 285 assert_equals(player.playState, 'idle'); | |
| 286 }, "running -> cancel()"); | |
| 287 | |
| 288 test(function() { | |
| 289 var player = runningPlayer(); | |
| 290 player.finish(); | |
| 291 assert_equals(player.startTime, document.timeline.currentTime - player.current Time); | |
| 292 assert_equals(player.currentTime, 100000); | |
| 293 assert_equals(player.playState, 'finished'); | |
| 294 }, "running -> finish()"); | |
| 295 | |
| 296 test(function() { | |
| 297 var player = runningPlayer(); | |
| 298 player.reverse(); | |
| 299 assert_unresolved(player.startTime); | |
| 300 assert_unresolved(player.currentTime); | |
| 301 assert_equals(player.playState, 'pending'); | |
| 302 }, "running -> reverse()"); | |
| 303 | |
| 304 test(function() { | |
| 305 var player = runningPlayer(); | |
| 306 player.currentTime = 1000; | |
| 307 assert_equals(player.startTime, document.timeline.currentTime - player.current Time); | |
| 308 assert_equals(player.currentTime, 1000); | |
| 309 assert_equals(player.playState, 'running'); | |
| 310 }, "running -> set currentTime"); | |
| 311 | |
| 312 test(function() { | |
| 313 var player = runningPlayer(); | |
| 314 player.startTime = document.timeline.currentTime - 1000; | |
| 315 assert_equals(player.startTime, document.timeline.currentTime - 1000); | |
| 316 assert_equals(player.currentTime, 1000); | |
| 317 assert_equals(player.playState, 'running'); | |
| 318 }, "running -> set startTime"); | |
| 319 | |
| 320 test(function() { | |
| 321 var player = pausedPlayer(); | |
| 322 player.play(); | |
| 323 assert_unresolved(player.startTime); | |
| 324 assert_equals(player.currentTime, 0); | |
| 325 assert_equals(player.playState, 'pending'); | |
| 326 }, "paused -> play()"); | |
| 327 | |
| 328 test(function() { | |
| 329 var player = pausedPlayer(); | |
| 330 player.pause(); | |
| 331 assert_unresolved(player.startTime); | |
| 332 assert_equals(player.currentTime, 0); | |
| 333 assert_equals(player.playState, 'paused'); | |
| 334 }, "paused -> pause()"); | |
| 335 | |
| 336 test(function() { | |
| 337 var player = pausedPlayer(); | |
| 338 player.cancel(); | |
| 339 assert_unresolved(player.startTime); | |
| 340 assert_unresolved(player.currentTime); | |
| 341 assert_equals(player.playState, 'idle'); | |
| 342 }, "paused -> cancel()"); | |
| 343 | |
| 344 test(function() { | |
| 345 var player = pausedPlayer(); | |
| 346 player.finish(); | |
| 347 assert_unresolved(player.startTime); | |
| 348 assert_equals(player.currentTime, 100000); | |
| 349 assert_equals(player.playState, 'paused'); | |
| 350 }, "paused -> finish()"); | |
| 351 | |
| 352 test(function() { | |
| 353 var player = pausedPlayer(); | |
| 354 player.reverse(); | |
| 355 assert_unresolved(player.startTime); | |
| 356 assert_equals(player.currentTime, 100000); | |
| 357 assert_equals(player.playState, 'pending'); | |
| 358 }, "paused -> reverse()"); | |
| 359 | |
| 360 test(function() { | |
| 361 var player = pausedPlayer(); | |
| 362 player.currentTime = 1000; | |
| 363 assert_unresolved(player.startTime); | |
| 364 assert_equals(player.currentTime, 1000); | |
| 365 assert_equals(player.playState, 'paused'); | |
| 366 }, "paused -> set currentTime"); | |
| 367 | |
| 368 test(function() { | |
| 369 var player = pausedPlayer(); | |
| 370 player.startTime = 1000; | |
| 371 assert_unresolved(player.startTime); | |
| 372 assert_equals(player.currentTime, 0); | |
| 373 assert_equals(player.playState, 'paused'); | |
| 374 }, "paused -> set startTime"); | |
| 375 | |
| 376 test(function() { | |
| 377 var player = finishedPlayer(); | |
| 378 player.play(); | |
| 379 assert_unresolved(player.startTime); | |
| 380 assert_equals(player.currentTime, 0); | |
| 381 assert_equals(player.playState, 'pending'); | |
| 382 }, "finished -> play()"); | |
| 383 | |
| 384 test(function() { | |
| 385 var player = finishedPlayer(); | |
| 386 player.pause(); | |
| 387 assert_unresolved(player.startTime); | |
| 388 assert_equals(player.currentTime, 100000); | |
| 389 assert_equals(player.playState, 'paused'); | |
| 390 }, "finished -> pause()"); | |
| 391 | |
| 392 test(function() { | |
| 393 var player = finishedPlayer(); | |
| 394 player.cancel(); | |
| 395 assert_unresolved(player.startTime); | |
| 396 assert_unresolved(player.currentTime); | |
| 397 assert_equals(player.playState, 'idle'); | |
| 398 }, "finished -> cancel()"); | |
| 399 | |
| 400 test(function() { | |
| 401 var player = finishedPlayer(); | |
| 402 player.finish(); | |
| 403 assert_equals(player.startTime, document.timeline.currentTime - player.current Time); | |
| 404 assert_equals(player.currentTime, 100000); | |
| 405 assert_equals(player.playState, 'finished'); | |
| 406 }, "finished -> finish()"); | |
| 407 | |
| 408 test(function() { | |
| 409 var player = finishedPlayer(); | |
| 410 player.reverse(); | |
| 411 assert_unresolved(player.startTime); | |
| 412 assert_equals(player.currentTime, 100000); | |
| 413 assert_equals(player.playState, 'pending'); | |
| 414 }, "finished -> reverse()"); | |
| 415 | |
| 416 test(function() { | |
| 417 var player = finishedPlayer(); | |
| 418 player.currentTime = 1000; | |
| 419 assert_equals(player.startTime, document.timeline.currentTime - player.current Time); | |
| 420 assert_equals(player.currentTime, 1000); | |
| 421 assert_equals(player.playState, 'running'); | |
| 422 }, "finished -> set currentTime"); | |
| 423 </script> | |
| OLD | NEW |