Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(157)

Side by Side Diff: tests/html/canvas_test.dart

Issue 11571038: Adding test for toDataUrl. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 library CanvasTest; 1 library CanvasTest;
2 import '../../pkg/unittest/lib/unittest.dart'; 2 import '../../pkg/unittest/lib/unittest.dart';
3 import '../../pkg/unittest/lib/html_config.dart'; 3 import '../../pkg/unittest/lib/html_config.dart';
4 import 'dart:html'; 4 import 'dart:html';
5 5
6 main() { 6 main() {
7 CanvasElement canvas; 7 CanvasElement canvas;
8 CanvasRenderingContext2D context; 8 CanvasRenderingContext2D context;
9 int width = 100; 9 int width = 100;
10 int height = 100; 10 int height = 100;
11 11
12 canvas = new CanvasElement(width:width, height:height); 12 canvas = new CanvasElement(width:width, height:height);
13 document.body.nodes.add(canvas); 13 document.body.nodes.add(canvas);
14 14
15 context = canvas.context2d; 15 context = canvas.context2d;
16 16
17 useHtmlConfiguration(); 17 useHtmlConfiguration();
18 test('CreateImageData', () { 18 test('CreateImageData', () {
19 ImageData image = context.createImageData(canvas.width, 19 ImageData image = context.createImageData(canvas.width,
20 canvas.height); 20 canvas.height);
21 Uint8ClampedArray data = image.data; 21 Uint8ClampedArray data = image.data;
22 22
23 expect(data, hasLength(40000)); 23 expect(data, hasLength(40000));
24 checkPixel(data, 0, [0, 0, 0, 0]); 24 checkPixel(data, 0, [0, 0, 0, 0]);
25 checkPixel(data, width * height - 1, [0, 0, 0, 0]); 25 checkPixel(data, width * height - 1, [0, 0, 0, 0]);
26 26
27 data[100] = 200; 27 data[100] = 200;
28 expect(data[100], equals(200)); 28 expect(data[100], equals(200));
29 }); 29 });
30
31 test('toDataUrl', () {
32 var canvas = new CanvasElement(width: 100, height: 100);
33 var context = canvas.context2d;
34 context.fillStyle = 'red';
35 context.fill();
36
37 var url = canvas.toDataUrl('image/png');
38
39 var img = new ImageElement();
40 img.on.load.add(expectAsync1((_) {
41 expect(img.complete, true);
42 }));
43 img.on.error.add((_) {
44 guardAsync(() {
45 expect(true, isFalse, reason: 'URL failed to load.');
46 });
47 });
48 img.src = url;
49 });
30 } 50 }
31 51
32 void checkPixel(Uint8ClampedArray data, int offset, List<int> rgba) 52 void checkPixel(Uint8ClampedArray data, int offset, List<int> rgba)
33 { 53 {
34 offset *= 4; 54 offset *= 4;
35 for (var i = 0; i < 4; ++i) { 55 for (var i = 0; i < 4; ++i) {
36 expect(data[offset + i], equals(rgba[i])); 56 expect(data[offset + i], equals(rgba[i]));
37 } 57 }
38 } 58 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698