Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 description("This test checks currentTransform in canvas v5"); | |
| 2 | |
| 3 var canvas = document.createElement('canvas'); | |
| 4 document.body.appendChild(canvas); | |
| 5 canvas.setAttribute('width', '100'); | |
| 6 canvas.setAttribute('height', '100'); | |
| 7 var ctx = canvas.getContext('2d'); | |
| 8 var matrix = ctx.currentTransform; | |
| 9 | |
| 10 debug("Check initial currentTransform values"); | |
| 11 shouldBe("matrix.a", "1"); | |
| 12 shouldBe("matrix.b", "0"); | |
| 13 shouldBe("matrix.c", "0"); | |
| 14 shouldBe("matrix.d", "1"); | |
| 15 shouldBe("matrix.e", "0"); | |
| 16 shouldBe("matrix.f", "0"); | |
| 17 | |
| 18 matrix.a = 2; | |
| 19 matrix.b = 0; | |
| 20 matrix.c = 0; | |
| 21 matrix.d = 2; | |
| 22 matrix.e = 40; | |
| 23 matrix.f = 40; | |
| 24 ctx.currentTransform = matrix; | |
| 25 matrix = ctx.currentTransform; | |
|
Justin Novosad
2013/09/19 19:23:48
Should use a different variable here to test that
| |
| 26 | |
| 27 debug("Check assigning currentTransform"); | |
| 28 shouldBe("matrix.a", "2"); | |
| 29 shouldBe("matrix.b", "0"); | |
| 30 shouldBe("matrix.c", "0"); | |
| 31 shouldBe("matrix.d", "2"); | |
| 32 shouldBe("matrix.e", "40"); | |
| 33 shouldBe("matrix.f", "40"); | |
| 34 | |
| 35 ctx.save(); | |
| 36 matrix.a = 3; | |
| 37 matrix.b = 0; | |
| 38 matrix.c = 0; | |
| 39 matrix.d = 3; | |
| 40 matrix.e = 60; | |
| 41 matrix.f = 60; | |
| 42 ctx.currentTransform = matrix; | |
| 43 matrix = ctx.currentTransform; | |
|
Justin Novosad
2013/09/19 19:23:48
Same here
| |
| 44 | |
| 45 debug("Check currentTransform after save of the context"); | |
| 46 shouldBe("matrix.a", "3"); | |
| 47 shouldBe("matrix.b", "0"); | |
| 48 shouldBe("matrix.c", "0"); | |
| 49 shouldBe("matrix.d", "3"); | |
| 50 shouldBe("matrix.e", "60"); | |
| 51 shouldBe("matrix.f", "60"); | |
| 52 | |
| 53 ctx.restore(); | |
| 54 matrix = ctx.currentTransform; | |
| 55 | |
| 56 debug("Check currentTransform after restore of the context"); | |
| 57 shouldBe("matrix.a", "2"); | |
| 58 shouldBe("matrix.b", "0"); | |
| 59 shouldBe("matrix.c", "0"); | |
| 60 shouldBe("matrix.d", "2"); | |
| 61 shouldBe("matrix.e", "40"); | |
| 62 shouldBe("matrix.f", "40"); | |
| 63 | |
| 64 debug("Check assigning an invalid object throws exception as expected"); | |
| 65 shouldThrow("ctx.currentTransform = ctx", "'TypeError: Type error'") | |
| 66 | |
| 67 matrix = ctx.currentTransform; | |
|
Justin Novosad
2013/09/19 19:23:48
Same here.
| |
| 68 | |
| 69 debug("Check currentTransform should preserve a value after exception"); | |
| 70 shouldBe("matrix.a", "2"); | |
| 71 shouldBe("matrix.b", "0"); | |
| 72 shouldBe("matrix.c", "0"); | |
| 73 shouldBe("matrix.d", "2"); | |
| 74 shouldBe("matrix.e", "40"); | |
| 75 shouldBe("matrix.f", "40"); | |
| 76 | |
| 77 ctx.scale(2, 2); | |
| 78 matrix = ctx.currentTransform; | |
| 79 | |
| 80 debug("Check currentTransform after scale"); | |
| 81 shouldBe("matrix.a", "4"); | |
| 82 shouldBe("matrix.b", "0"); | |
| 83 shouldBe("matrix.c", "0"); | |
| 84 shouldBe("matrix.d", "4"); | |
| 85 shouldBe("matrix.e", "40"); | |
| 86 shouldBe("matrix.f", "40"); | |
| 87 | |
| 88 ctx.translate(10, 10); | |
| 89 matrix = ctx.currentTransform; | |
| 90 | |
| 91 debug("Check currentTransform after translate"); | |
| 92 shouldBe("matrix.a", "4"); | |
| 93 shouldBe("matrix.b", "0"); | |
| 94 shouldBe("matrix.c", "0"); | |
| 95 shouldBe("matrix.d", "4"); | |
| 96 shouldBe("matrix.e", "80"); | |
| 97 shouldBe("matrix.f", "80"); | |
| OLD | NEW |