blob: f343b3297e5b7d0bdce230f50949093f9aea2034 [file] [log] [blame]
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]));
}
}