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

Unified Diff: test/codegen/expect/lib/html/canvasrenderingcontext2d_test.js

Issue 2128353002: Check in codegen test expectations. (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 4 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « test/codegen/expect/lib/html/canvas_test.js ('k') | test/codegen/expect/lib/html/cdata_test.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/codegen/expect/lib/html/canvasrenderingcontext2d_test.js
diff --git a/test/codegen/expect/lib/html/canvasrenderingcontext2d_test.js b/test/codegen/expect/lib/html/canvasrenderingcontext2d_test.js
new file mode 100644
index 0000000000000000000000000000000000000000..715b2849b7c755a985affc363f3807f9812b7d2d
--- /dev/null
+++ b/test/codegen/expect/lib/html/canvasrenderingcontext2d_test.js
@@ -0,0 +1,553 @@
+dart_library.library('lib/html/canvasrenderingcontext2d_test', null, /* Imports */[
+ 'dart_sdk',
+ 'unittest'
+], function load__canvasrenderingcontext2d_test(exports, dart_sdk, unittest) {
+ 'use strict';
+ const core = dart_sdk.core;
+ const html = dart_sdk.html;
+ const _interceptors = dart_sdk._interceptors;
+ const math = dart_sdk.math;
+ const dart = dart_sdk.dart;
+ const dartx = dart_sdk.dartx;
+ const src__matcher__expect = unittest.src__matcher__expect;
+ const src__matcher__numeric_matchers = unittest.src__matcher__numeric_matchers;
+ const html_individual_config = unittest.html_individual_config;
+ const unittest$ = unittest.unittest;
+ const src__matcher__core_matchers = unittest.src__matcher__core_matchers;
+ const src__matcher__throws_matcher = unittest.src__matcher__throws_matcher;
+ const canvasrenderingcontext2d_test = Object.create(null);
+ let ListOfint = () => (ListOfint = dart.constFn(core.List$(core.int)))();
+ let JSArrayOfint = () => (JSArrayOfint = dart.constFn(_interceptors.JSArray$(core.int)))();
+ let EventTovoid = () => (EventTovoid = dart.constFn(dart.functionType(dart.void, [html.Event])))();
+ let RectangleOfnum = () => (RectangleOfnum = dart.constFn(math.Rectangle$(core.num)))();
+ let ListOfintAndListOfintTodynamic = () => (ListOfintAndListOfintTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [ListOfint(), ListOfint()])))();
+ let VoidTovoid = () => (VoidTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [])))();
+ let intAndintToListOfint = () => (intAndintToListOfint = dart.constFn(dart.definiteFunctionType(ListOfint(), [core.int, core.int])))();
+ let intTobool = () => (intTobool = dart.constFn(dart.definiteFunctionType(core.bool, [core.int])))();
+ let intAndintTobool = () => (intAndintTobool = dart.constFn(dart.definiteFunctionType(core.bool, [core.int, core.int])))();
+ let ListOfintAndintAndintToString = () => (ListOfintAndintAndintToString = dart.constFn(dart.definiteFunctionType(core.String, [ListOfint(), core.int, core.int])))();
+ let boolToString = () => (boolToString = dart.constFn(dart.definiteFunctionType(core.String, [core.bool])))();
+ let intAndint__Tovoid = () => (intAndint__Tovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.int, core.int], [core.bool])))();
+ let intAndintTovoid = () => (intAndintTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.int, core.int])))();
+ let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [])))();
+ let dynamicTodynamic = () => (dynamicTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic])))();
+ let EventTovoid$ = () => (EventTovoid$ = dart.constFn(dart.definiteFunctionType(dart.void, [html.Event])))();
+ canvasrenderingcontext2d_test.checkPixel = function(pixel, expected) {
+ src__matcher__expect.expect(pixel[dartx.get](0), src__matcher__numeric_matchers.closeTo(expected[dartx.get](0), 2));
+ src__matcher__expect.expect(pixel[dartx.get](1), src__matcher__numeric_matchers.closeTo(expected[dartx.get](1), 2));
+ src__matcher__expect.expect(pixel[dartx.get](2), src__matcher__numeric_matchers.closeTo(expected[dartx.get](2), 2));
+ src__matcher__expect.expect(pixel[dartx.get](3), src__matcher__numeric_matchers.closeTo(expected[dartx.get](3), 2));
+ };
+ dart.fn(canvasrenderingcontext2d_test.checkPixel, ListOfintAndListOfintTodynamic());
+ canvasrenderingcontext2d_test.canvas = null;
+ canvasrenderingcontext2d_test.context = null;
+ canvasrenderingcontext2d_test.otherCanvas = null;
+ canvasrenderingcontext2d_test.otherContext = null;
+ canvasrenderingcontext2d_test.video = null;
+ canvasrenderingcontext2d_test.createCanvas = function() {
+ canvasrenderingcontext2d_test.canvas = html.CanvasElement.new();
+ dart.dput(canvasrenderingcontext2d_test.canvas, 'width', 100);
+ dart.dput(canvasrenderingcontext2d_test.canvas, 'height', 100);
+ canvasrenderingcontext2d_test.context = dart.dload(canvasrenderingcontext2d_test.canvas, 'context2D');
+ };
+ dart.fn(canvasrenderingcontext2d_test.createCanvas, VoidTovoid());
+ canvasrenderingcontext2d_test.createOtherCanvas = function() {
+ canvasrenderingcontext2d_test.otherCanvas = html.CanvasElement.new();
+ dart.dput(canvasrenderingcontext2d_test.otherCanvas, 'width', 10);
+ dart.dput(canvasrenderingcontext2d_test.otherCanvas, 'height', 10);
+ canvasrenderingcontext2d_test.otherContext = dart.dload(canvasrenderingcontext2d_test.otherCanvas, 'context2D');
+ dart.dput(canvasrenderingcontext2d_test.otherContext, 'fillStyle', "red");
+ dart.dsend(canvasrenderingcontext2d_test.otherContext, 'fillRect', 0, 0, dart.dload(canvasrenderingcontext2d_test.otherCanvas, 'width'), dart.dload(canvasrenderingcontext2d_test.otherCanvas, 'height'));
+ };
+ dart.fn(canvasrenderingcontext2d_test.createOtherCanvas, VoidTovoid());
+ canvasrenderingcontext2d_test.setupFunc = function() {
+ canvasrenderingcontext2d_test.createCanvas();
+ canvasrenderingcontext2d_test.createOtherCanvas();
+ canvasrenderingcontext2d_test.video = html.VideoElement.new();
+ };
+ dart.fn(canvasrenderingcontext2d_test.setupFunc, VoidTovoid());
+ canvasrenderingcontext2d_test.tearDownFunc = function() {
+ canvasrenderingcontext2d_test.canvas = null;
+ canvasrenderingcontext2d_test.context = null;
+ canvasrenderingcontext2d_test.otherCanvas = null;
+ canvasrenderingcontext2d_test.otherContext = null;
+ canvasrenderingcontext2d_test.video = null;
+ };
+ dart.fn(canvasrenderingcontext2d_test.tearDownFunc, VoidTovoid());
+ canvasrenderingcontext2d_test.readPixel = function(x, y) {
+ let imageData = dart.dsend(canvasrenderingcontext2d_test.context, 'getImageData', x, y, 1, 1);
+ return ListOfint()._check(dart.dload(imageData, 'data'));
+ };
+ dart.fn(canvasrenderingcontext2d_test.readPixel, intAndintToListOfint());
+ canvasrenderingcontext2d_test.isPixelFilled = function(x, y) {
+ return canvasrenderingcontext2d_test.readPixel(x, y)[dartx.any](dart.fn(p => p != 0, intTobool()));
+ };
+ dart.fn(canvasrenderingcontext2d_test.isPixelFilled, intAndintTobool());
+ canvasrenderingcontext2d_test.pixelDataToString = function(data, x, y) {
+ return dart.str`[${data[dartx.join](", ")}]`;
+ };
+ dart.fn(canvasrenderingcontext2d_test.pixelDataToString, ListOfintAndintAndintToString());
+ canvasrenderingcontext2d_test._filled = function(v) {
+ return dart.test(v) ? "filled" : "unfilled";
+ };
+ dart.fn(canvasrenderingcontext2d_test._filled, boolToString());
+ canvasrenderingcontext2d_test.expectPixelFilled = function(x, y, filled) {
+ if (filled === void 0) filled = true;
+ src__matcher__expect.expect(canvasrenderingcontext2d_test.isPixelFilled(x, y), filled, {reason: dart.str`Pixel at (${x}, ${y}) was expected to` + dart.str` be: <${canvasrenderingcontext2d_test._filled(filled)}> but was: <${canvasrenderingcontext2d_test._filled(!dart.test(filled))}> with data: ` + dart.str`${canvasrenderingcontext2d_test.pixelDataToString(canvasrenderingcontext2d_test.readPixel(x, y), x, y)}`});
+ };
+ dart.fn(canvasrenderingcontext2d_test.expectPixelFilled, intAndint__Tovoid());
+ canvasrenderingcontext2d_test.expectPixelUnfilled = function(x, y) {
+ canvasrenderingcontext2d_test.expectPixelFilled(x, y, false);
+ };
+ dart.fn(canvasrenderingcontext2d_test.expectPixelUnfilled, intAndintTovoid());
+ canvasrenderingcontext2d_test.main = function() {
+ html_individual_config.useHtmlIndividualConfiguration();
+ unittest$.group('pixel_manipulation', dart.fn(() => {
+ unittest$.setUp(canvasrenderingcontext2d_test.setupFunc);
+ unittest$.tearDown(canvasrenderingcontext2d_test.tearDownFunc);
+ unittest$.test('setFillColorRgb', dart.fn(() => {
+ dart.dsend(canvasrenderingcontext2d_test.context, 'setFillColorRgb', 255, 0, 255, 1);
+ dart.dsend(canvasrenderingcontext2d_test.context, 'fillRect', 0, 0, dart.dload(canvasrenderingcontext2d_test.canvas, 'width'), dart.dload(canvasrenderingcontext2d_test.canvas, 'height'));
+ src__matcher__expect.expect(canvasrenderingcontext2d_test.readPixel(2, 2), JSArrayOfint().of([255, 0, 255, 255]));
+ }, VoidTodynamic()));
+ unittest$.test('setFillColorHsl hue', dart.fn(() => {
+ dart.dsend(canvasrenderingcontext2d_test.context, 'setFillColorHsl', 0, 100, 50);
+ dart.dsend(canvasrenderingcontext2d_test.context, 'fillRect', 0, 0, dart.dload(canvasrenderingcontext2d_test.canvas, 'width'), dart.dload(canvasrenderingcontext2d_test.canvas, 'height'));
+ canvasrenderingcontext2d_test.checkPixel(canvasrenderingcontext2d_test.readPixel(2, 2), JSArrayOfint().of([255, 0, 0, 255]));
+ }, VoidTodynamic()));
+ unittest$.test('setFillColorHsl hue 2', dart.fn(() => {
+ dart.dsend(canvasrenderingcontext2d_test.context, 'setFillColorHsl', 240, 100, 50);
+ dart.dsend(canvasrenderingcontext2d_test.context, 'fillRect', 0, 0, dart.dload(canvasrenderingcontext2d_test.canvas, 'width'), dart.dload(canvasrenderingcontext2d_test.canvas, 'height'));
+ canvasrenderingcontext2d_test.checkPixel(canvasrenderingcontext2d_test.readPixel(2, 2), JSArrayOfint().of([0, 0, 255, 255]));
+ }, VoidTodynamic()));
+ unittest$.test('setFillColorHsl sat', dart.fn(() => {
+ dart.dsend(canvasrenderingcontext2d_test.context, 'setFillColorHsl', 0, 0, 50);
+ dart.dsend(canvasrenderingcontext2d_test.context, 'fillRect', 0, 0, dart.dload(canvasrenderingcontext2d_test.canvas, 'width'), dart.dload(canvasrenderingcontext2d_test.canvas, 'height'));
+ canvasrenderingcontext2d_test.checkPixel(canvasrenderingcontext2d_test.readPixel(2, 2), JSArrayOfint().of([127, 127, 127, 255]));
+ }, VoidTodynamic()));
+ unittest$.test('setStrokeColorRgb', dart.fn(() => {
+ dart.dsend(canvasrenderingcontext2d_test.context, 'setStrokeColorRgb', 255, 0, 255, 1);
+ dart.dput(canvasrenderingcontext2d_test.context, 'lineWidth', 10);
+ dart.dsend(canvasrenderingcontext2d_test.context, 'strokeRect', 0, 0, dart.dload(canvasrenderingcontext2d_test.canvas, 'width'), dart.dload(canvasrenderingcontext2d_test.canvas, 'height'));
+ src__matcher__expect.expect(canvasrenderingcontext2d_test.readPixel(2, 2), JSArrayOfint().of([255, 0, 255, 255]));
+ }, VoidTodynamic()));
+ unittest$.test('setStrokeColorHsl hue', dart.fn(() => {
+ dart.dsend(canvasrenderingcontext2d_test.context, 'setStrokeColorHsl', 0, 100, 50);
+ dart.dput(canvasrenderingcontext2d_test.context, 'lineWidth', 10);
+ dart.dsend(canvasrenderingcontext2d_test.context, 'strokeRect', 0, 0, dart.dload(canvasrenderingcontext2d_test.canvas, 'width'), dart.dload(canvasrenderingcontext2d_test.canvas, 'height'));
+ src__matcher__expect.expect(canvasrenderingcontext2d_test.readPixel(2, 2), JSArrayOfint().of([255, 0, 0, 255]));
+ }, VoidTodynamic()));
+ unittest$.test('setStrokeColorHsl hue 2', dart.fn(() => {
+ dart.dsend(canvasrenderingcontext2d_test.context, 'setStrokeColorHsl', 240, 100, 50);
+ dart.dput(canvasrenderingcontext2d_test.context, 'lineWidth', 10);
+ dart.dsend(canvasrenderingcontext2d_test.context, 'strokeRect', 0, 0, dart.dload(canvasrenderingcontext2d_test.canvas, 'width'), dart.dload(canvasrenderingcontext2d_test.canvas, 'height'));
+ src__matcher__expect.expect(canvasrenderingcontext2d_test.readPixel(2, 2), JSArrayOfint().of([0, 0, 255, 255]));
+ }, VoidTodynamic()));
+ unittest$.test('setStrokeColorHsl sat', dart.fn(() => {
+ dart.dsend(canvasrenderingcontext2d_test.context, 'setStrokeColorHsl', 0, 0, 50);
+ dart.dput(canvasrenderingcontext2d_test.context, 'lineWidth', 10);
+ dart.dsend(canvasrenderingcontext2d_test.context, 'strokeRect', 0, 0, dart.dload(canvasrenderingcontext2d_test.canvas, 'width'), dart.dload(canvasrenderingcontext2d_test.canvas, 'height'));
+ canvasrenderingcontext2d_test.checkPixel(canvasrenderingcontext2d_test.readPixel(2, 2), JSArrayOfint().of([127, 127, 127, 255]));
+ }, VoidTodynamic()));
+ unittest$.test('fillStyle', dart.fn(() => {
+ dart.dput(canvasrenderingcontext2d_test.context, 'fillStyle', "red");
+ dart.dsend(canvasrenderingcontext2d_test.context, 'fillRect', 0, 0, dart.dload(canvasrenderingcontext2d_test.canvas, 'width'), dart.dload(canvasrenderingcontext2d_test.canvas, 'height'));
+ canvasrenderingcontext2d_test.checkPixel(canvasrenderingcontext2d_test.readPixel(2, 2), JSArrayOfint().of([255, 0, 0, 255]));
+ }, VoidTodynamic()));
+ unittest$.test('strokeStyle', dart.fn(() => {
+ dart.dput(canvasrenderingcontext2d_test.context, 'strokeStyle', "blue");
+ dart.dput(canvasrenderingcontext2d_test.context, 'lineWidth', 10);
+ dart.dsend(canvasrenderingcontext2d_test.context, 'strokeRect', 0, 0, dart.dload(canvasrenderingcontext2d_test.canvas, 'width'), dart.dload(canvasrenderingcontext2d_test.canvas, 'height'));
+ src__matcher__expect.expect(canvasrenderingcontext2d_test.readPixel(2, 2), JSArrayOfint().of([0, 0, 255, 255]));
+ }, VoidTodynamic()));
+ unittest$.test('fillStyle linearGradient', dart.fn(() => {
+ let gradient = dart.dsend(canvasrenderingcontext2d_test.context, 'createLinearGradient', 0, 0, 20, 20);
+ dart.dsend(gradient, 'addColorStop', 0, 'red');
+ dart.dsend(gradient, 'addColorStop', 1, 'blue');
+ dart.dput(canvasrenderingcontext2d_test.context, 'fillStyle', gradient);
+ dart.dsend(canvasrenderingcontext2d_test.context, 'fillRect', 0, 0, dart.dload(canvasrenderingcontext2d_test.canvas, 'width'), dart.dload(canvasrenderingcontext2d_test.canvas, 'height'));
+ src__matcher__expect.expect(html.CanvasGradient.is(dart.dload(canvasrenderingcontext2d_test.context, 'fillStyle')), src__matcher__core_matchers.isTrue);
+ }, VoidTodynamic()));
+ unittest$.test('putImageData', dart.fn(() => {
+ dart.dput(canvasrenderingcontext2d_test.context, 'fillStyle', 'green');
+ dart.dsend(canvasrenderingcontext2d_test.context, 'fillRect', 0, 0, dart.dload(canvasrenderingcontext2d_test.canvas, 'width'), dart.dload(canvasrenderingcontext2d_test.canvas, 'height'));
+ let expectedData = html.ImageData._check(dart.dsend(canvasrenderingcontext2d_test.context, 'getImageData', 0, 0, 10, 10));
+ expectedData[dartx.data][dartx.set](0, 25);
+ expectedData[dartx.data][dartx.set](1, 65);
+ expectedData[dartx.data][dartx.set](2, 255);
+ expectedData[dartx.data][dartx.set](3, 255);
+ dart.dsend(canvasrenderingcontext2d_test.context, 'putImageData', expectedData, 0, 0);
+ let resultingData = dart.dsend(canvasrenderingcontext2d_test.context, 'getImageData', 0, 0, 10, 10);
+ src__matcher__expect.expect(dart.dload(resultingData, 'data'), expectedData[dartx.data]);
+ }, VoidTodynamic()));
+ unittest$.test('putImageData dirty rectangle', dart.fn(() => {
+ dart.dput(canvasrenderingcontext2d_test.context, 'fillStyle', 'green');
+ dart.dsend(canvasrenderingcontext2d_test.context, 'fillRect', 0, 0, dart.dload(canvasrenderingcontext2d_test.canvas, 'width'), dart.dload(canvasrenderingcontext2d_test.canvas, 'height'));
+ let drawnData = html.ImageData._check(dart.dsend(canvasrenderingcontext2d_test.context, 'getImageData', 0, 0, 10, 10));
+ drawnData[dartx.data][dartx.set](0, 25);
+ drawnData[dartx.data][dartx.set](1, 65);
+ drawnData[dartx.data][dartx.set](2, 255);
+ drawnData[dartx.data][dartx.set](3, 255);
+ drawnData[dartx.data][dartx.set](2 * 4 + 0, 25);
+ drawnData[dartx.data][dartx.set](2 * 4 + 1, 65);
+ drawnData[dartx.data][dartx.set](2 * 4 + 2, 255);
+ drawnData[dartx.data][dartx.set](2 * 4 + 3, 255);
+ drawnData[dartx.data][dartx.set](7 * 4 + 0, 25);
+ drawnData[dartx.data][dartx.set](7 * 4 + 1, 65);
+ drawnData[dartx.data][dartx.set](7 * 4 + 2, 255);
+ drawnData[dartx.data][dartx.set](7 * 4 + 3, 255);
+ dart.dsend(canvasrenderingcontext2d_test.context, 'putImageData', drawnData, 0, 0, 1, 0, 5, 5);
+ let expectedData = html.ImageData._check(dart.dsend(canvasrenderingcontext2d_test.context, 'createImageData', 10, 10));
+ for (let i = 0; i < dart.notNull(expectedData[dartx.data][dartx.length]); i++) {
+ switch (i[dartx['%']](4)) {
+ case 0:
+ {
+ expectedData[dartx.data][dartx.set](i, 0);
+ break;
+ }
+ case 1:
+ {
+ expectedData[dartx.data][dartx.set](i, 128);
+ break;
+ }
+ case 2:
+ {
+ expectedData[dartx.data][dartx.set](i, 0);
+ break;
+ }
+ case 3:
+ {
+ expectedData[dartx.data][dartx.set](i, 255);
+ break;
+ }
+ }
+ }
+ expectedData[dartx.data][dartx.set](2 * 4 + 0, 25);
+ expectedData[dartx.data][dartx.set](2 * 4 + 1, 65);
+ expectedData[dartx.data][dartx.set](2 * 4 + 2, 255);
+ expectedData[dartx.data][dartx.set](2 * 4 + 3, 255);
+ let resultingData = dart.dsend(canvasrenderingcontext2d_test.context, 'getImageData', 0, 0, 10, 10);
+ src__matcher__expect.expect(dart.dload(resultingData, 'data'), expectedData[dartx.data]);
+ }, VoidTodynamic()));
+ unittest$.test('putImageData throws with wrong number of arguments', dart.fn(() => {
+ let expectedData = html.ImageData._check(dart.dsend(canvasrenderingcontext2d_test.context, 'getImageData', 0, 0, 10, 10));
+ src__matcher__expect.expect(dart.fn(() => dart.dsend(canvasrenderingcontext2d_test.context, 'putImageData', expectedData, 0, 0, 1), VoidTodynamic()), src__matcher__throws_matcher.throws);
+ src__matcher__expect.expect(dart.fn(() => dart.dsend(canvasrenderingcontext2d_test.context, 'putImageData', expectedData, 0, 0, 1, 1), VoidTodynamic()), src__matcher__throws_matcher.throws);
+ src__matcher__expect.expect(dart.fn(() => dart.dsend(canvasrenderingcontext2d_test.context, 'putImageData', expectedData, 0, 0, 1, 1, 5), VoidTodynamic()), src__matcher__throws_matcher.throws);
+ }, VoidTodynamic()));
+ }, VoidTovoid()));
+ unittest$.group('arc', dart.fn(() => {
+ unittest$.setUp(canvasrenderingcontext2d_test.setupFunc);
+ unittest$.tearDown(canvasrenderingcontext2d_test.tearDownFunc);
+ unittest$.test('default arc should be clockwise', dart.fn(() => {
+ dart.dsend(canvasrenderingcontext2d_test.context, 'beginPath');
+ let r = 10;
+ let cx = 20;
+ let cy = 20;
+ dart.dsend(canvasrenderingcontext2d_test.context, 'arc', cx, cy, r, 0, math.PI / 2);
+ dart.dput(canvasrenderingcontext2d_test.context, 'strokeStyle', 'green');
+ dart.dput(canvasrenderingcontext2d_test.context, 'lineWidth', 2);
+ dart.dsend(canvasrenderingcontext2d_test.context, 'stroke');
+ canvasrenderingcontext2d_test.expectPixelUnfilled(cx, cy);
+ canvasrenderingcontext2d_test.expectPixelFilled(cx + r, cy, true);
+ canvasrenderingcontext2d_test.expectPixelFilled(cx, cy + r, true);
+ canvasrenderingcontext2d_test.expectPixelFilled(cx - r, cy, false);
+ canvasrenderingcontext2d_test.expectPixelFilled(cx, cy - r, false);
+ canvasrenderingcontext2d_test.expectPixelFilled((cx + r / dart.notNull(math.SQRT2))[dartx.toInt](), (cy + r / dart.notNull(math.SQRT2))[dartx.toInt](), true);
+ canvasrenderingcontext2d_test.expectPixelFilled((cx - r / dart.notNull(math.SQRT2))[dartx.toInt](), (cy + r / dart.notNull(math.SQRT2))[dartx.toInt](), false);
+ canvasrenderingcontext2d_test.expectPixelFilled((cx - r / dart.notNull(math.SQRT2))[dartx.toInt](), (cy - r / dart.notNull(math.SQRT2))[dartx.toInt](), false);
+ canvasrenderingcontext2d_test.expectPixelFilled((cx + r / dart.notNull(math.SQRT2))[dartx.toInt](), (cy - r / dart.notNull(math.SQRT2))[dartx.toInt](), false);
+ }, VoidTodynamic()));
+ unittest$.test('arc anticlockwise', dart.fn(() => {
+ dart.dsend(canvasrenderingcontext2d_test.context, 'beginPath');
+ let r = 10;
+ let cx = 20;
+ let cy = 20;
+ dart.dsend(canvasrenderingcontext2d_test.context, 'arc', cx, cy, r, 0.1, math.PI / 2 - 0.1, true);
+ dart.dput(canvasrenderingcontext2d_test.context, 'strokeStyle', 'green');
+ dart.dput(canvasrenderingcontext2d_test.context, 'lineWidth', 2);
+ dart.dsend(canvasrenderingcontext2d_test.context, 'stroke');
+ canvasrenderingcontext2d_test.expectPixelUnfilled(cx, cy);
+ canvasrenderingcontext2d_test.expectPixelFilled(cx + r, cy, true);
+ canvasrenderingcontext2d_test.expectPixelFilled(cx, cy + r, true);
+ canvasrenderingcontext2d_test.expectPixelFilled(cx - r, cy, true);
+ canvasrenderingcontext2d_test.expectPixelFilled(cx, cy - r, true);
+ canvasrenderingcontext2d_test.expectPixelFilled((cx + r / dart.notNull(math.SQRT2))[dartx.toInt](), (cy + r / dart.notNull(math.SQRT2))[dartx.toInt](), false);
+ canvasrenderingcontext2d_test.expectPixelFilled((cx - r / dart.notNull(math.SQRT2))[dartx.toInt](), (cy + r / dart.notNull(math.SQRT2))[dartx.toInt](), true);
+ canvasrenderingcontext2d_test.expectPixelFilled((cx - r / dart.notNull(math.SQRT2))[dartx.toInt](), (cy - r / dart.notNull(math.SQRT2))[dartx.toInt](), true);
+ canvasrenderingcontext2d_test.expectPixelFilled((cx + r / dart.notNull(math.SQRT2))[dartx.toInt](), (cy - r / dart.notNull(math.SQRT2))[dartx.toInt](), true);
+ }, VoidTodynamic()));
+ }, VoidTovoid()));
+ unittest$.group('drawImage_image_element', dart.fn(() => {
+ unittest$.setUp(canvasrenderingcontext2d_test.setupFunc);
+ unittest$.tearDown(canvasrenderingcontext2d_test.tearDownFunc);
+ unittest$.test('with 3 params', dart.fn(() => {
+ let dataUrl = dart.dsend(canvasrenderingcontext2d_test.otherCanvas, 'toDataUrl', 'image/gif');
+ let img = html.ImageElement.new();
+ img[dartx.onLoad].listen(EventTovoid()._check(unittest$.expectAsync(dart.fn(_ => {
+ dart.dsend(canvasrenderingcontext2d_test.context, 'drawImage', img, 50, 50);
+ canvasrenderingcontext2d_test.expectPixelFilled(50, 50);
+ canvasrenderingcontext2d_test.expectPixelFilled(55, 55);
+ canvasrenderingcontext2d_test.expectPixelFilled(59, 59);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(60, 60);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(0, 0);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(70, 70);
+ }, dynamicTodynamic()))));
+ img[dartx.onError].listen(dart.fn(_ => {
+ src__matcher__expect.fail('URL failed to load.');
+ }, EventTovoid$()));
+ img[dartx.src] = core.String._check(dataUrl);
+ }, VoidTodynamic()));
+ unittest$.test('with 5 params', dart.fn(() => {
+ let dataUrl = dart.dsend(canvasrenderingcontext2d_test.otherCanvas, 'toDataUrl', 'image/gif');
+ let img = html.ImageElement.new();
+ img[dartx.onLoad].listen(EventTovoid()._check(unittest$.expectAsync(dart.fn(_ => {
+ dart.dsend(canvasrenderingcontext2d_test.context, 'drawImageToRect', img, new (RectangleOfnum())(50, 50, 20, 20));
+ canvasrenderingcontext2d_test.expectPixelFilled(50, 50);
+ canvasrenderingcontext2d_test.expectPixelFilled(55, 55);
+ canvasrenderingcontext2d_test.expectPixelFilled(59, 59);
+ canvasrenderingcontext2d_test.expectPixelFilled(60, 60);
+ canvasrenderingcontext2d_test.expectPixelFilled(69, 69);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(70, 70);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(0, 0);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(80, 80);
+ }, dynamicTodynamic()))));
+ img[dartx.onError].listen(dart.fn(_ => {
+ src__matcher__expect.fail('URL failed to load.');
+ }, EventTovoid$()));
+ img[dartx.src] = core.String._check(dataUrl);
+ }, VoidTodynamic()));
+ unittest$.test('with 9 params', dart.fn(() => {
+ dart.dput(canvasrenderingcontext2d_test.otherContext, 'fillStyle', "blue");
+ dart.dsend(canvasrenderingcontext2d_test.otherContext, 'fillRect', 5, 5, 5, 5);
+ let dataUrl = dart.dsend(canvasrenderingcontext2d_test.otherCanvas, 'toDataUrl', 'image/gif');
+ let img = html.ImageElement.new();
+ img[dartx.onLoad].listen(EventTovoid()._check(unittest$.expectAsync(dart.fn(_ => {
+ dart.dsend(canvasrenderingcontext2d_test.context, 'drawImageToRect', img, new (RectangleOfnum())(50, 50, 20, 20), {sourceRect: new (RectangleOfnum())(2, 2, 6, 6)});
+ canvasrenderingcontext2d_test.checkPixel(canvasrenderingcontext2d_test.readPixel(50, 50), JSArrayOfint().of([255, 0, 0, 255]));
+ canvasrenderingcontext2d_test.checkPixel(canvasrenderingcontext2d_test.readPixel(55, 55), JSArrayOfint().of([255, 0, 0, 255]));
+ canvasrenderingcontext2d_test.checkPixel(canvasrenderingcontext2d_test.readPixel(60, 50), JSArrayOfint().of([255, 0, 0, 255]));
+ canvasrenderingcontext2d_test.checkPixel(canvasrenderingcontext2d_test.readPixel(65, 65), JSArrayOfint().of([0, 0, 255, 255]));
+ canvasrenderingcontext2d_test.checkPixel(canvasrenderingcontext2d_test.readPixel(69, 69), JSArrayOfint().of([0, 0, 255, 255]));
+ canvasrenderingcontext2d_test.expectPixelFilled(50, 50);
+ canvasrenderingcontext2d_test.expectPixelFilled(55, 55);
+ canvasrenderingcontext2d_test.expectPixelFilled(59, 59);
+ canvasrenderingcontext2d_test.expectPixelFilled(60, 60);
+ canvasrenderingcontext2d_test.expectPixelFilled(69, 69);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(70, 70);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(0, 0);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(80, 80);
+ }, dynamicTodynamic()))));
+ img[dartx.onError].listen(dart.fn(_ => {
+ src__matcher__expect.fail('URL failed to load.');
+ }, EventTovoid$()));
+ img[dartx.src] = core.String._check(dataUrl);
+ }, VoidTodynamic()));
+ }, VoidTovoid()));
+ let mp4VideoUrl = '/root_dart/tests/html/small.mp4';
+ let webmVideoUrl = '/root_dart/tests/html/small.webm';
+ let mp4VideoDataUrl = 'data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAA' + 'AIZnJlZQAAAsdtZGF0AAACmwYF//+X3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlID' + 'EyMCByMjE1MSBhM2Y0NDA3IC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZW' + 'Z0IDIwMDMtMjAxMSAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG' + '9wdGlvbnM6IGNhYmFjPTEgcmVmPTMgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MToweD' + 'ExMSBtZT1oZXggc3VibWU9NyBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj' + '0wIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MSA4eDhkY3Q9MCBjcW09MC' + 'BkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0tMiB0aH' + 'JlYWRzPTE4IHNsaWNlZF90aHJlYWRzPTAgbnI9MCBkZWNpbWF0ZT0xIGludGVybGFjZW' + 'Q9MCBibHVyYXlfY29tcGF0PTAgY29uc3RyYWluZWRfaW50cmE9MCBiZnJhbWVzPTMgYl' + '9weXJhbWlkPTAgYl9hZGFwdD0xIGJfYmlhcz0wIGRpcmVjdD0xIHdlaWdodGI9MCBvcG' + 'VuX2dvcD0xIHdlaWdodHA9MiBrZXlpbnQ9MjUwIGtleWludF9taW49MjUgc2NlbmVjdX' + 'Q9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD00MCByYz1jcmYgbWJ0cmVlPT' + 'EgY3JmPTUxLjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IGlwX3' + 'JhdGlvPTEuMjUgYXE9MToxLjAwAIAAAAARZYiEB//3aoK5/tP9+8yeuIEAAAAHQZoi2P' + '/wgAAAAzxtb292AAAAbG12aGQAAAAAAAAAAAAAAAAAAAPoAAAAUAABAAABAAAAAAAAAA' + 'AAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAACAAAAGGlvZHMAAAAAEICAgAcAT/////7/AAACUHRyYWsAAA' + 'BcdGtoZAAAAA8AAAAAAAAAAAAAAAEAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAQAAAA' + 'AAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAACAAAAAgAAAAAACRlZHRzAAAAHG' + 'Vsc3QAAAAAAAAAAQAAAFAAAAABAAEAAAAAAchtZGlhAAAAIG1kaGQAAAAAAAAAAAAAAA' + 'AAAAAZAAAAAlXEAAAAAAAtaGRscgAAAAAAAAAAdmlkZQAAAAAAAAAAAAAAAFZpZGVvSG' + 'FuZGxlcgAAAAFzbWluZgAAABR2bWhkAAAAAQAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZg' + 'AAAAAAAAABAAAADHVybCAAAAABAAABM3N0YmwAAACXc3RzZAAAAAAAAAABAAAAh2F2Yz' + 'EAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAACAAIAEgAAABIAAAAAAAAAAEAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY//8AAAAxYXZjQwFNQAr/4QAYZ01ACuiPyy' + '4C2QAAAwABAAADADIPEiUSAQAGaOvAZSyAAAAAGHN0dHMAAAAAAAAAAQAAAAIAAAABAA' + 'AAFHN0c3MAAAAAAAAAAQAAAAEAAAAYY3R0cwAAAAAAAAABAAAAAgAAAAEAAAAcc3RzYw' + 'AAAAAAAAABAAAAAQAAAAEAAAABAAAAHHN0c3oAAAAAAAAAAAAAAAIAAAK0AAAACwAAAB' + 'hzdGNvAAAAAAAAAAIAAAAwAAAC5AAAAGB1ZHRhAAAAWG1ldGEAAAAAAAAAIWhkbHIAAA' + 'AAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAAK2lsc3QAAAAjqXRvbwAAABtkYXRhAAAAAQ' + 'AAAABMYXZmNTMuMjEuMQ==';
+ let webmVideoDataUrl = 'data:video/webm;base64,GkXfowEAAAAAAAAfQoaBAUL3gQFC8oEEQvOBCEKChHdlY' + 'm1Ch4ECQoWBAhhTgGcBAAAAAAAB/hFNm3RALE27i1OrhBVJqWZTrIHfTbuMU6uEFlSua' + '1OsggEsTbuMU6uEHFO7a1OsggHk7AEAAAAAAACkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmAQAAAAAAA' + 'EEq17GDD0JATYCLTGF2ZjUzLjIxLjFXQYtMYXZmNTMuMjEuMXOkkJatuHwTJ7cvFLSzB' + 'Smxbp5EiYhAVAAAAAAAABZUrmsBAAAAAAAAR64BAAAAAAAAPteBAXPFgQGcgQAitZyDd' + 'W5khoVWX1ZQOIOBASPjg4QCYloA4AEAAAAAAAASsIEIuoEIVLCBCFS6gQhUsoEDH0O2d' + 'QEAAAAAAABZ54EAo72BAACA8AIAnQEqCAAIAABHCIWFiIWEiAICAnWqA/gD+gINTRgA/' + 'v0hRf/kb+PnRv/I4//8WE8DijI//FRAo5WBACgAsQEAARAQABgAGFgv9AAIAAAcU7trA' + 'QAAAAAAAA67jLOBALeH94EB8YIBfw==';
+ unittest$.group('drawImage_video_element', dart.fn(() => {
+ unittest$.setUp(canvasrenderingcontext2d_test.setupFunc);
+ unittest$.tearDown(canvasrenderingcontext2d_test.tearDownFunc);
+ unittest$.test('with 3 params', dart.fn(() => {
+ dart.dsend(dart.dload(canvasrenderingcontext2d_test.video, 'onCanPlay'), 'listen', unittest$.expectAsync(dart.fn(_ => {
+ dart.dsend(canvasrenderingcontext2d_test.context, 'drawImage', canvasrenderingcontext2d_test.video, 50, 50);
+ canvasrenderingcontext2d_test.expectPixelFilled(50, 50);
+ canvasrenderingcontext2d_test.expectPixelFilled(54, 54);
+ canvasrenderingcontext2d_test.expectPixelFilled(57, 57);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(58, 58);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(0, 0);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(70, 70);
+ }, dynamicTodynamic())));
+ dart.dsend(dart.dload(canvasrenderingcontext2d_test.video, 'onError'), 'listen', dart.fn(_ => {
+ src__matcher__expect.fail('URL failed to load.');
+ }, dynamicTodynamic()));
+ if (!dart.equals(dart.dsend(canvasrenderingcontext2d_test.video, 'canPlayType', 'video/webm; codecs="vp8.0, vorbis"', ''), '')) {
+ dart.dput(canvasrenderingcontext2d_test.video, 'src', webmVideoUrl);
+ } else if (!dart.equals(dart.dsend(canvasrenderingcontext2d_test.video, 'canPlayType', 'video/mp4; codecs="avc1.4D401E, mp4a.40.2"', null), '')) {
+ dart.dput(canvasrenderingcontext2d_test.video, 'src', mp4VideoUrl);
+ } else {
+ html.window[dartx.console].log('Video is not supported on this system.');
+ }
+ }, VoidTodynamic()));
+ unittest$.test('with 5 params', dart.fn(() => {
+ dart.dsend(dart.dload(canvasrenderingcontext2d_test.video, 'onCanPlay'), 'listen', unittest$.expectAsync(dart.fn(_ => {
+ dart.dsend(canvasrenderingcontext2d_test.context, 'drawImageToRect', canvasrenderingcontext2d_test.video, new (RectangleOfnum())(50, 50, 20, 20));
+ canvasrenderingcontext2d_test.expectPixelFilled(50, 50);
+ canvasrenderingcontext2d_test.expectPixelFilled(55, 55);
+ canvasrenderingcontext2d_test.expectPixelFilled(59, 59);
+ canvasrenderingcontext2d_test.expectPixelFilled(60, 60);
+ canvasrenderingcontext2d_test.expectPixelFilled(69, 69);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(70, 70);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(0, 0);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(80, 80);
+ }, dynamicTodynamic())));
+ dart.dsend(dart.dload(canvasrenderingcontext2d_test.video, 'onError'), 'listen', dart.fn(_ => {
+ src__matcher__expect.fail('URL failed to load.');
+ }, dynamicTodynamic()));
+ if (!dart.equals(dart.dsend(canvasrenderingcontext2d_test.video, 'canPlayType', 'video/webm; codecs="vp8.0, vorbis"', ''), '')) {
+ dart.dput(canvasrenderingcontext2d_test.video, 'src', webmVideoUrl);
+ } else if (!dart.equals(dart.dsend(canvasrenderingcontext2d_test.video, 'canPlayType', 'video/mp4; codecs="avc1.4D401E, mp4a.40.2"', null), '')) {
+ dart.dput(canvasrenderingcontext2d_test.video, 'src', mp4VideoUrl);
+ } else {
+ html.window[dartx.console].log('Video is not supported on this system.');
+ }
+ }, VoidTodynamic()));
+ unittest$.test('with 9 params', dart.fn(() => {
+ dart.dsend(dart.dload(canvasrenderingcontext2d_test.video, 'onCanPlay'), 'listen', unittest$.expectAsync(dart.fn(_ => {
+ dart.dsend(canvasrenderingcontext2d_test.context, 'drawImageToRect', canvasrenderingcontext2d_test.video, new (RectangleOfnum())(50, 50, 20, 20), {sourceRect: new (RectangleOfnum())(2, 2, 6, 6)});
+ canvasrenderingcontext2d_test.expectPixelFilled(50, 50);
+ canvasrenderingcontext2d_test.expectPixelFilled(55, 55);
+ canvasrenderingcontext2d_test.expectPixelFilled(59, 59);
+ canvasrenderingcontext2d_test.expectPixelFilled(60, 60);
+ canvasrenderingcontext2d_test.expectPixelFilled(69, 69);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(70, 70);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(0, 0);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(80, 80);
+ }, dynamicTodynamic())));
+ dart.dsend(dart.dload(canvasrenderingcontext2d_test.video, 'onError'), 'listen', dart.fn(_ => {
+ src__matcher__expect.fail('URL failed to load.');
+ }, dynamicTodynamic()));
+ if (!dart.equals(dart.dsend(canvasrenderingcontext2d_test.video, 'canPlayType', 'video/webm; codecs="vp8.0, vorbis"', ''), '')) {
+ dart.dput(canvasrenderingcontext2d_test.video, 'src', webmVideoUrl);
+ } else if (!dart.equals(dart.dsend(canvasrenderingcontext2d_test.video, 'canPlayType', 'video/mp4; codecs="avc1.4D401E, mp4a.40.2"', null), '')) {
+ dart.dput(canvasrenderingcontext2d_test.video, 'src', mp4VideoUrl);
+ } else {
+ html.window[dartx.console].log('Video is not supported on this system.');
+ }
+ }, VoidTodynamic()));
+ }, VoidTovoid()));
+ unittest$.group('drawImage_video_element_dataUrl', dart.fn(() => {
+ unittest$.setUp(canvasrenderingcontext2d_test.setupFunc);
+ unittest$.tearDown(canvasrenderingcontext2d_test.tearDownFunc);
+ unittest$.test('with 9 params', dart.fn(() => {
+ canvasrenderingcontext2d_test.video = html.VideoElement.new();
+ canvasrenderingcontext2d_test.canvas = html.CanvasElement.new();
+ dart.dsend(dart.dload(canvasrenderingcontext2d_test.video, 'onCanPlay'), 'listen', unittest$.expectAsync(dart.fn(_ => {
+ dart.dsend(canvasrenderingcontext2d_test.context, 'drawImageToRect', canvasrenderingcontext2d_test.video, new (RectangleOfnum())(50, 50, 20, 20), {sourceRect: new (RectangleOfnum())(2, 2, 6, 6)});
+ canvasrenderingcontext2d_test.expectPixelFilled(50, 50);
+ canvasrenderingcontext2d_test.expectPixelFilled(55, 55);
+ canvasrenderingcontext2d_test.expectPixelFilled(59, 59);
+ canvasrenderingcontext2d_test.expectPixelFilled(60, 60);
+ canvasrenderingcontext2d_test.expectPixelFilled(69, 69);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(70, 70);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(0, 0);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(80, 80);
+ }, dynamicTodynamic())));
+ dart.dsend(dart.dload(canvasrenderingcontext2d_test.video, 'onError'), 'listen', dart.fn(_ => {
+ src__matcher__expect.fail('URL failed to load.');
+ }, dynamicTodynamic()));
+ if (!dart.equals(dart.dsend(canvasrenderingcontext2d_test.video, 'canPlayType', 'video/webm; codecs="vp8.0, vorbis"', ''), '')) {
+ dart.dput(canvasrenderingcontext2d_test.video, 'src', webmVideoDataUrl);
+ } else if (!dart.equals(dart.dsend(canvasrenderingcontext2d_test.video, 'canPlayType', 'video/mp4; codecs="avc1.4D401E, mp4a.40.2"', null), '')) {
+ dart.dput(canvasrenderingcontext2d_test.video, 'src', mp4VideoDataUrl);
+ } else {
+ html.window[dartx.console].log('Video is not supported on this system.');
+ }
+ }, VoidTodynamic()));
+ }, VoidTovoid()));
+ unittest$.group('drawImage_canvas_element', dart.fn(() => {
+ unittest$.setUp(canvasrenderingcontext2d_test.setupFunc);
+ unittest$.tearDown(canvasrenderingcontext2d_test.tearDownFunc);
+ unittest$.test('with 3 params', dart.fn(() => {
+ dart.dsend(canvasrenderingcontext2d_test.context, 'drawImage', canvasrenderingcontext2d_test.otherCanvas, 50, 50);
+ canvasrenderingcontext2d_test.expectPixelFilled(50, 50);
+ canvasrenderingcontext2d_test.expectPixelFilled(55, 55);
+ canvasrenderingcontext2d_test.expectPixelFilled(59, 59);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(60, 60);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(0, 0);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(70, 70);
+ }, VoidTodynamic()));
+ unittest$.test('with 5 params', dart.fn(() => {
+ dart.dsend(canvasrenderingcontext2d_test.context, 'drawImageToRect', canvasrenderingcontext2d_test.otherCanvas, new (RectangleOfnum())(50, 50, 20, 20));
+ canvasrenderingcontext2d_test.expectPixelFilled(50, 50);
+ canvasrenderingcontext2d_test.expectPixelFilled(55, 55);
+ canvasrenderingcontext2d_test.expectPixelFilled(59, 59);
+ canvasrenderingcontext2d_test.expectPixelFilled(60, 60);
+ canvasrenderingcontext2d_test.expectPixelFilled(69, 69);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(70, 70);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(0, 0);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(80, 80);
+ }, VoidTodynamic()));
+ unittest$.test('with 9 params', dart.fn(() => {
+ dart.dput(canvasrenderingcontext2d_test.otherContext, 'fillStyle', "blue");
+ dart.dsend(canvasrenderingcontext2d_test.otherContext, 'fillRect', 5, 5, 5, 5);
+ dart.dsend(canvasrenderingcontext2d_test.context, 'drawImageToRect', canvasrenderingcontext2d_test.otherCanvas, new (RectangleOfnum())(50, 50, 20, 20), {sourceRect: new (RectangleOfnum())(2, 2, 6, 6)});
+ canvasrenderingcontext2d_test.checkPixel(canvasrenderingcontext2d_test.readPixel(50, 50), JSArrayOfint().of([255, 0, 0, 255]));
+ canvasrenderingcontext2d_test.checkPixel(canvasrenderingcontext2d_test.readPixel(55, 55), JSArrayOfint().of([255, 0, 0, 255]));
+ canvasrenderingcontext2d_test.checkPixel(canvasrenderingcontext2d_test.readPixel(60, 50), JSArrayOfint().of([255, 0, 0, 255]));
+ canvasrenderingcontext2d_test.checkPixel(canvasrenderingcontext2d_test.readPixel(65, 65), JSArrayOfint().of([0, 0, 255, 255]));
+ canvasrenderingcontext2d_test.checkPixel(canvasrenderingcontext2d_test.readPixel(69, 69), JSArrayOfint().of([0, 0, 255, 255]));
+ canvasrenderingcontext2d_test.expectPixelFilled(50, 50);
+ canvasrenderingcontext2d_test.expectPixelFilled(55, 55);
+ canvasrenderingcontext2d_test.expectPixelFilled(59, 59);
+ canvasrenderingcontext2d_test.expectPixelFilled(60, 60);
+ canvasrenderingcontext2d_test.expectPixelFilled(69, 69);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(70, 70);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(0, 0);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(80, 80);
+ }, VoidTodynamic()));
+ unittest$.test('createImageData', dart.fn(() => {
+ let imageData = dart.dsend(canvasrenderingcontext2d_test.context, 'createImageData', 15, 15);
+ src__matcher__expect.expect(dart.dload(imageData, 'width'), 15);
+ src__matcher__expect.expect(dart.dload(imageData, 'height'), 15);
+ let other = dart.dsend(canvasrenderingcontext2d_test.context, 'createImageDataFromImageData', imageData);
+ src__matcher__expect.expect(dart.dload(other, 'width'), 15);
+ src__matcher__expect.expect(dart.dload(other, 'height'), 15);
+ }, VoidTodynamic()));
+ unittest$.test('createPattern', dart.fn(() => {
+ let pattern = dart.dsend(canvasrenderingcontext2d_test.context, 'createPattern', html.CanvasElement.new(), '');
+ }, VoidTodynamic()));
+ }, VoidTovoid()));
+ unittest$.group('fillText', dart.fn(() => {
+ unittest$.setUp(canvasrenderingcontext2d_test.setupFunc);
+ unittest$.tearDown(canvasrenderingcontext2d_test.tearDownFunc);
+ let x = 20;
+ let y = 20;
+ unittest$.test('without maxWidth', dart.fn(() => {
+ dart.dput(canvasrenderingcontext2d_test.context, 'font', '40pt Garamond');
+ dart.dput(canvasrenderingcontext2d_test.context, 'fillStyle', 'blue');
+ dart.dsend(canvasrenderingcontext2d_test.context, 'fillText', '█', x, y);
+ let width = dart.dsend(dart.dload(dart.dsend(canvasrenderingcontext2d_test.context, 'measureText', '█'), 'width'), 'ceil');
+ canvasrenderingcontext2d_test.checkPixel(canvasrenderingcontext2d_test.readPixel(x, y), JSArrayOfint().of([0, 0, 255, 255]));
+ canvasrenderingcontext2d_test.checkPixel(canvasrenderingcontext2d_test.readPixel(x + 10, y), JSArrayOfint().of([0, 0, 255, 255]));
+ canvasrenderingcontext2d_test.expectPixelUnfilled(x - 10, y);
+ canvasrenderingcontext2d_test.expectPixelFilled(x, y);
+ canvasrenderingcontext2d_test.expectPixelFilled(x + 10, y);
+ canvasrenderingcontext2d_test.expectPixelFilled(dart.asInt(x + dart.notNull(core.num._check(width)) - 2), y);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(dart.asInt(x + dart.notNull(core.num._check(width)) + 1), y);
+ }, VoidTodynamic()));
+ unittest$.test('with maxWidth null', dart.fn(() => {
+ dart.dput(canvasrenderingcontext2d_test.context, 'font', '40pt Garamond');
+ dart.dput(canvasrenderingcontext2d_test.context, 'fillStyle', 'blue');
+ dart.dsend(canvasrenderingcontext2d_test.context, 'fillText', '█', x, y, null);
+ let width = dart.dsend(dart.dload(dart.dsend(canvasrenderingcontext2d_test.context, 'measureText', '█'), 'width'), 'ceil');
+ canvasrenderingcontext2d_test.checkPixel(canvasrenderingcontext2d_test.readPixel(x, y), JSArrayOfint().of([0, 0, 255, 255]));
+ canvasrenderingcontext2d_test.checkPixel(canvasrenderingcontext2d_test.readPixel(x + 10, y), JSArrayOfint().of([0, 0, 255, 255]));
+ canvasrenderingcontext2d_test.expectPixelUnfilled(x - 10, y);
+ canvasrenderingcontext2d_test.expectPixelFilled(x, y);
+ canvasrenderingcontext2d_test.expectPixelFilled(x + 10, y);
+ canvasrenderingcontext2d_test.expectPixelFilled(dart.asInt(x + dart.notNull(core.num._check(width)) - 2), y);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(dart.asInt(x + dart.notNull(core.num._check(width)) + 1), y);
+ }, VoidTodynamic()));
+ unittest$.test('with maxWidth defined', dart.fn(() => {
+ dart.dput(canvasrenderingcontext2d_test.context, 'font', '40pt Garamond');
+ dart.dput(canvasrenderingcontext2d_test.context, 'fillStyle', 'blue');
+ let maxWidth = 20;
+ dart.dsend(canvasrenderingcontext2d_test.context, 'fillText', '█', x, y, maxWidth);
+ canvasrenderingcontext2d_test.checkPixel(canvasrenderingcontext2d_test.readPixel(x, y), JSArrayOfint().of([0, 0, 255, 255]));
+ canvasrenderingcontext2d_test.checkPixel(canvasrenderingcontext2d_test.readPixel(x + 10, y), JSArrayOfint().of([0, 0, 255, 255]));
+ canvasrenderingcontext2d_test.expectPixelUnfilled(x - 10, y);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(x + maxWidth + 1, y);
+ canvasrenderingcontext2d_test.expectPixelUnfilled(x + maxWidth + 20, y);
+ canvasrenderingcontext2d_test.expectPixelFilled(x, y);
+ canvasrenderingcontext2d_test.expectPixelFilled(x + 10, y);
+ }, VoidTodynamic()));
+ }, VoidTovoid()));
+ };
+ dart.fn(canvasrenderingcontext2d_test.main, VoidTodynamic());
+ // Exports:
+ exports.canvasrenderingcontext2d_test = canvasrenderingcontext2d_test;
+});
« no previous file with comments | « test/codegen/expect/lib/html/canvas_test.js ('k') | test/codegen/expect/lib/html/cdata_test.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698