OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library canvas_rendering_context_2d_test; | 5 library canvas_rendering_context_2d_test; |
6 import '../../pkg/unittest/lib/unittest.dart'; | 6 import '../../pkg/unittest/lib/unittest.dart'; |
7 import '../../pkg/unittest/lib/html_config.dart'; | 7 import '../../pkg/unittest/lib/html_config.dart'; |
8 import 'dart:html'; | 8 import 'dart:html'; |
9 import 'dart:math'; | 9 import 'dart:math'; |
10 | 10 |
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
384 'buMU6uEHFO7a1OsggHk7AEAAAAAAACkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' | 384 'buMU6uEHFO7a1OsggHk7AEAAAAAAACkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' |
385 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' | 385 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' |
386 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' | 386 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' |
387 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmAQAAAAAAAEEq17GDD0JATYCLTGF2ZjUzL' | 387 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmAQAAAAAAAEEq17GDD0JATYCLTGF2ZjUzL' |
388 'jIxLjFXQYtMYXZmNTMuMjEuMXOkkJatuHwTJ7cvFLSzBSmxbp5EiYhAVAAAAAAAABZUrmsBA' | 388 'jIxLjFXQYtMYXZmNTMuMjEuMXOkkJatuHwTJ7cvFLSzBSmxbp5EiYhAVAAAAAAAABZUrmsBA' |
389 'AAAAAAAR64BAAAAAAAAPteBAXPFgQGcgQAitZyDdW5khoVWX1ZQOIOBASPjg4QCYloA4AEAA' | 389 'AAAAAAAR64BAAAAAAAAPteBAXPFgQGcgQAitZyDdW5khoVWX1ZQOIOBASPjg4QCYloA4AEAA' |
390 'AAAAAASsIEIuoEIVLCBCFS6gQhUsoEDH0O2dQEAAAAAAABZ54EAo72BAACA8AIAnQEqCAAIA' | 390 'AAAAAASsIEIuoEIVLCBCFS6gQhUsoEDH0O2dQEAAAAAAABZ54EAo72BAACA8AIAnQEqCAAIA' |
391 'ABHCIWFiIWEiAICAnWqA/gD+gINTRgA/v0hRf/kb+PnRv/I4//8WE8DijI//FRAo5WBACgAs' | 391 'ABHCIWFiIWEiAICAnWqA/gD+gINTRgA/v0hRf/kb+PnRv/I4//8WE8DijI//FRAo5WBACgAs' |
392 'QEAARAQABgAGFgv9AAIAAAcU7trAQAAAAAAAA67jLOBALeH94EB8YIBfw=='; | 392 'QEAARAQABgAGFgv9AAIAAAcU7trAQAAAAAAAA67jLOBALeH94EB8YIBfw=='; |
393 | 393 |
394 test('drawImage from video element with 3 params', () { | 394 // test('drawImage from video element with 3 params', () { |
395 var video = new VideoElement(); | 395 // var video = new VideoElement(); |
396 | 396 // |
397 video.onLoadedData.listen(expectAsync1((_) { | 397 // video.onLoadedData.listen(expectAsync1((_) { |
398 context.drawImage(video, 50, 50); | 398 // context.drawImage(video, 50, 50); |
399 | 399 // |
400 expectPixelFilled(50, 50); | 400 // expectPixelFilled(50, 50); |
401 expectPixelFilled(54, 54); | 401 // expectPixelFilled(54, 54); |
402 expectPixelFilled(57, 57); | 402 // expectPixelFilled(57, 57); |
403 expectPixelUnfilled(58, 58); | 403 // expectPixelUnfilled(58, 58); |
404 expectPixelUnfilled(0, 0); | 404 // expectPixelUnfilled(0, 0); |
405 expectPixelUnfilled(70, 70); | 405 // expectPixelUnfilled(70, 70); |
406 })); | 406 // })); |
407 video.onError.listen((_) { | 407 // video.onError.listen((_) { |
408 guardAsync(() { | 408 // guardAsync(() { |
409 fail('URL failed to load.'); | 409 // fail('URL failed to load.'); |
410 }); | 410 // }); |
411 }); | 411 // }); |
412 | 412 // |
413 if(video.canPlayType('video/webm; codecs="vp8.0, vorbis"', '') != '') { | 413 // if(video.canPlayType('video/webm; codecs="vp8.0, vorbis"', '') != '') { |
414 video.src = webmVideoUrl; | 414 // video.src = webmVideoUrl; |
415 } else if(video.canPlayType('video/mp4; codecs="avc1.4D401E, mp4a.40.2"', | 415 // } else if(video.canPlayType('video/mp4; codecs="avc1.4D401E, mp4a.40.2"'
, |
416 null) != '') { | 416 // null) != '') { |
417 video.src = mp4VideoUrl; | 417 // video.src = mp4VideoUrl; |
418 } else { | 418 // } else { |
419 logMessage('Video is not supported on this system.'); | 419 // logMessage('Video is not supported on this system.'); |
420 } | 420 // } |
421 }); | 421 // }); |
422 | 422 // |
423 test('drawImage from video element with 5 params', () { | 423 // test('drawImage from video element with 5 params', () { |
424 var video = new VideoElement(); | 424 // var video = new VideoElement(); |
425 | 425 // |
426 video.onLoadedData.listen(expectAsync1((_) { | 426 // video.onLoadedData.listen(expectAsync1((_) { |
427 context.drawImageAtScale(video, new Rect(50, 50, 20, 20)); | 427 // context.drawImageAtScale(video, new Rect(50, 50, 20, 20)); |
428 | 428 // |
429 expectPixelFilled(50, 50); | 429 // expectPixelFilled(50, 50); |
430 expectPixelFilled(55, 55); | 430 // expectPixelFilled(55, 55); |
431 expectPixelFilled(59, 59); | 431 // expectPixelFilled(59, 59); |
432 expectPixelFilled(60, 60); | 432 // expectPixelFilled(60, 60); |
433 expectPixelFilled(69, 69); | 433 // expectPixelFilled(69, 69); |
434 expectPixelUnfilled(70, 70); | 434 // expectPixelUnfilled(70, 70); |
435 expectPixelUnfilled(0, 0); | 435 // expectPixelUnfilled(0, 0); |
436 expectPixelUnfilled(80, 80); | 436 // expectPixelUnfilled(80, 80); |
437 })); | 437 // })); |
438 video.onError.listen((_) { | 438 // video.onError.listen((_) { |
439 guardAsync(() { | 439 // guardAsync(() { |
440 fail('URL failed to load.'); | 440 // fail('URL failed to load.'); |
441 }); | 441 // }); |
442 }); | 442 // }); |
443 | 443 // |
444 if(video.canPlayType('video/webm; codecs="vp8.0, vorbis"', '') != '') { | 444 // if(video.canPlayType('video/webm; codecs="vp8.0, vorbis"', '') != '') { |
445 video.src = webmVideoUrl; | 445 // video.src = webmVideoUrl; |
446 } else if(video.canPlayType('video/mp4; codecs="avc1.4D401E, mp4a.40.2"', | 446 // } else if(video.canPlayType('video/mp4; codecs="avc1.4D401E, mp4a.40.2"'
, |
447 null) != '') { | 447 // null) != '') { |
448 video.src = mp4VideoUrl; | 448 // video.src = mp4VideoUrl; |
449 } else { | 449 // } else { |
450 // TODO(amouravski): Better fallback? | 450 // // TODO(amouravski): Better fallback? |
451 logMessage('Video is not supported on this system.'); | 451 // logMessage('Video is not supported on this system.'); |
452 } | 452 // } |
453 }); | 453 // }); |
454 | 454 // |
455 test('drawImage from video element with 9 params', () { | 455 // test('drawImage from video element with 9 params', () { |
456 var video = new VideoElement(); | 456 // var video = new VideoElement(); |
457 | 457 // |
458 video.onLoadedData.listen(expectAsync1((_) { | 458 // video.onLoadedData.listen(expectAsync1((_) { |
459 context.drawImageAtScale(video, new Rect(50, 50, 20, 20), | 459 // context.drawImageAtScale(video, new Rect(50, 50, 20, 20), |
460 sourceRect: new Rect(2, 2, 6, 6)); | 460 // sourceRect: new Rect(2, 2, 6, 6)); |
461 | 461 // |
462 expectPixelFilled(50, 50); | 462 // expectPixelFilled(50, 50); |
463 expectPixelFilled(55, 55); | 463 // expectPixelFilled(55, 55); |
464 expectPixelFilled(59, 59); | 464 // expectPixelFilled(59, 59); |
465 expectPixelFilled(60, 60); | 465 // expectPixelFilled(60, 60); |
466 expectPixelFilled(69, 69); | 466 // expectPixelFilled(69, 69); |
467 expectPixelUnfilled(70, 70); | 467 // expectPixelUnfilled(70, 70); |
468 expectPixelUnfilled(0, 0); | 468 // expectPixelUnfilled(0, 0); |
469 expectPixelUnfilled(80, 80); | 469 // expectPixelUnfilled(80, 80); |
470 })); | 470 // })); |
471 video.onError.listen((_) { | 471 // video.onError.listen((_) { |
472 guardAsync(() { | 472 // guardAsync(() { |
473 fail('URL failed to load.'); | 473 // fail('URL failed to load.'); |
474 }); | 474 // }); |
475 }); | 475 // }); |
476 | 476 // |
477 if(video.canPlayType('video/webm; codecs="vp8.0, vorbis"', '') != '') { | 477 // if(video.canPlayType('video/webm; codecs="vp8.0, vorbis"', '') != '') { |
478 video.src = webmVideoUrl; | 478 // video.src = webmVideoUrl; |
479 } else if(video.canPlayType('video/mp4; codecs="avc1.4D401E, mp4a.40.2"', | 479 // } else if(video.canPlayType('video/mp4; codecs="avc1.4D401E, mp4a.40.2"'
, |
480 null) != '') { | 480 // null) != '') { |
481 video.src = mp4VideoUrl; | 481 // video.src = mp4VideoUrl; |
482 } else { | 482 // } else { |
483 // TODO(amouravski): Better fallback? | 483 // // TODO(amouravski): Better fallback? |
484 logMessage('Video is not supported on this system.'); | 484 // logMessage('Video is not supported on this system.'); |
485 } | 485 // } |
486 }); | 486 // }); |
487 | 487 |
488 test('drawImage from canvas element with 3 params', () { | 488 test('drawImage from canvas element with 3 params', () { |
489 // Draw an image to the canvas from a canvas element. | 489 // Draw an image to the canvas from a canvas element. |
490 context.drawImage(otherCanvas, 50, 50); | 490 context.drawImage(otherCanvas, 50, 50); |
491 | 491 |
492 expectPixelFilled(50, 50); | 492 expectPixelFilled(50, 50); |
493 expectPixelFilled(55, 55); | 493 expectPixelFilled(55, 55); |
494 expectPixelFilled(59, 59); | 494 expectPixelFilled(59, 59); |
495 expectPixelUnfilled(60, 60); | 495 expectPixelUnfilled(60, 60); |
496 expectPixelUnfilled(0, 0); | 496 expectPixelUnfilled(0, 0); |
(...skipping 28 matching lines...) Expand all Loading... |
525 expectPixelFilled(55, 55); | 525 expectPixelFilled(55, 55); |
526 expectPixelFilled(59, 59); | 526 expectPixelFilled(59, 59); |
527 expectPixelFilled(60, 60); | 527 expectPixelFilled(60, 60); |
528 expectPixelFilled(69, 69); | 528 expectPixelFilled(69, 69); |
529 expectPixelUnfilled(70, 70); | 529 expectPixelUnfilled(70, 70); |
530 expectPixelUnfilled(0, 0); | 530 expectPixelUnfilled(0, 0); |
531 expectPixelUnfilled(80, 80); | 531 expectPixelUnfilled(80, 80); |
532 }); | 532 }); |
533 }); | 533 }); |
534 } | 534 } |
OLD | NEW |