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

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

Issue 15773008: Exposing DOM float & double types as double rather than num. Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 6 months 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 | « tests/html/audiobuffersourcenode_test.dart ('k') | tests/html/canvas_test.dart » ('j') | 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 // We have aliased the legacy type CanvasPixelArray with the new type 6 // We have aliased the legacy type CanvasPixelArray with the new type
7 // Uint8ClampedArray by mapping the CanvasPixelArray type tag to 7 // Uint8ClampedArray by mapping the CanvasPixelArray type tag to
8 // Uint8ClampedArray. It is not a perfect match since CanvasPixelArray is 8 // Uint8ClampedArray. It is not a perfect match since CanvasPixelArray is
9 // missing the ArrayBufferView members. These should appear to be null. 9 // missing the ArrayBufferView members. These should appear to be null.
10 10
11 Object confuseType(x) => [1, x, [x], 's'] [1]; 11 Object confuseType(x) => [1, x, [x], 's'] [1];
12 12
13 main() { 13 main() {
14 CanvasElement canvas; 14 CanvasElement canvas;
15 CanvasRenderingContext2D context; 15 CanvasRenderingContext2D context;
16 int width = 100; 16 int width = 100;
17 int height = 100; 17 int height = 100;
18 18
19 canvas = new Element.tag('canvas'); 19 canvas = new Element.tag('canvas');
20 canvas.width = width; 20 canvas.width = width;
21 canvas.height = height; 21 canvas.height = height;
22 document.body.append(canvas); 22 document.body.append(canvas);
23 23
24 context = canvas.getContext('2d'); 24 context = canvas.getContext('2d');
25 25
26 useHtmlConfiguration(); 26 useHtmlConfiguration();
27 27
28 test('CreateImageData', () { 28 test('CreateImageData', () {
29 ImageData image = context.createImageData(canvas.width, 29 ImageData image = context.createImageData(canvas.width.toDouble(),
30 canvas.height); 30 canvas.height.toDouble());
31 List<int> data = image.data; 31 List<int> data = image.data;
32 // It is legal for the dart2js compiler to believe the type of the native 32 // It is legal for the dart2js compiler to believe the type of the native
33 // ImageData.data and elides the check, so check the type explicitly: 33 // ImageData.data and elides the check, so check the type explicitly:
34 expect(confuseType(data) is List<int>, isTrue, 34 expect(confuseType(data) is List<int>, isTrue,
35 reason: 'canvas array type'); 35 reason: 'canvas array type');
36 36
37 expect(data, hasLength(40000)); 37 expect(data, hasLength(40000));
38 checkPixel(data, 0, [0, 0, 0, 0]); 38 checkPixel(data, 0, [0, 0, 0, 0]);
39 checkPixel(data, width * height - 1, [0, 0, 0, 0]); 39 checkPixel(data, width * height - 1, [0, 0, 0, 0]);
40 40
41 data[100] = 200; 41 data[100] = 200;
42 expect(data[100], equals(200)); 42 expect(data[100], equals(200));
43 }); 43 });
44 } 44 }
45 45
46 void checkPixel(List<int> data, int offset, List<int> rgba) 46 void checkPixel(List<int> data, int offset, List<int> rgba)
47 { 47 {
48 offset *= 4; 48 offset *= 4;
49 for (var i = 0; i < 4; ++i) { 49 for (var i = 0; i < 4; ++i) {
50 expect(rgba[i], equals(data[offset + i])); 50 expect(rgba[i], equals(data[offset + i]));
51 } 51 }
52 } 52 }
OLDNEW
« no previous file with comments | « tests/html/audiobuffersourcenode_test.dart ('k') | tests/html/canvas_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698