f46672cb73
BUG= Review URL: https://codereview.chromium.org//12040059 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17735 260f80e4-7a28-3924-810f-c04153c831b5
59 lines
1.4 KiB
Dart
59 lines
1.4 KiB
Dart
library CanvasTest;
|
|
import '../../pkg/unittest/lib/unittest.dart';
|
|
import '../../pkg/unittest/lib/html_config.dart';
|
|
import 'dart:html';
|
|
|
|
main() {
|
|
CanvasElement canvas;
|
|
CanvasRenderingContext2D context;
|
|
int width = 100;
|
|
int height = 100;
|
|
|
|
canvas = new CanvasElement(width:width, height:height);
|
|
document.body.nodes.add(canvas);
|
|
|
|
context = canvas.context2d;
|
|
|
|
useHtmlConfiguration();
|
|
test('CreateImageData', () {
|
|
ImageData image = context.createImageData(canvas.width,
|
|
canvas.height);
|
|
List<int> data = image.data;
|
|
|
|
expect(data, hasLength(40000));
|
|
checkPixel(data, 0, [0, 0, 0, 0]);
|
|
checkPixel(data, width * height - 1, [0, 0, 0, 0]);
|
|
|
|
data[100] = 200;
|
|
expect(data[100], equals(200));
|
|
});
|
|
|
|
test('toDataUrl', () {
|
|
var canvas = new CanvasElement(width: 100, height: 100);
|
|
var context = canvas.context2d;
|
|
context.fillStyle = 'red';
|
|
context.fill();
|
|
|
|
var url = canvas.toDataUrl('image/png');
|
|
|
|
var img = new ImageElement();
|
|
img.onLoad.listen(expectAsync1((_) {
|
|
expect(img.complete, true);
|
|
}));
|
|
img.onError.listen((_) {
|
|
guardAsync(() {
|
|
expect(true, isFalse, reason: 'URL failed to load.');
|
|
});
|
|
});
|
|
img.src = url;
|
|
});
|
|
}
|
|
|
|
void checkPixel(List<int> data, int offset, List<int> rgba)
|
|
{
|
|
offset *= 4;
|
|
for (var i = 0; i < 4; ++i) {
|
|
expect(data[offset + i], equals(rgba[i]));
|
|
}
|
|
}
|