50 lines
1.6 KiB
HTML
50 lines
1.6 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
description("The test to ensure that modifying the result of getTransform doesn't affect the context.");
|
|
|
|
function shouldHaveMatrixEquality(matrixName, expected) {
|
|
shouldEvaluateTo(matrixName + ".a", expected[0]);
|
|
shouldEvaluateTo(matrixName + ".b", expected[1]);
|
|
shouldEvaluateTo(matrixName + ".c", expected[2]);
|
|
shouldEvaluateTo(matrixName + ".d", expected[3]);
|
|
shouldEvaluateTo(matrixName + ".e", expected[4]);
|
|
shouldEvaluateTo(matrixName + ".f", expected[5]);
|
|
}
|
|
|
|
var ctx1 = document.createElement("canvas").getContext("2d");
|
|
var copiedTransform = ctx1.getTransform();
|
|
|
|
ctx1.setTransform(1, 2, 3, 4, 5, 6);
|
|
shouldHaveMatrixEquality("copiedTransform", [1, 0, 0, 1, 0, 0]);
|
|
|
|
copiedTransform = copiedTransform.translate(5, 6);
|
|
var newTransform = ctx1.getTransform();
|
|
shouldHaveMatrixEquality("newTransform", [1, 2, 3, 4, 5, 6]);
|
|
|
|
ctx1.setTransform(copiedTransform);
|
|
var modifiedTransform = ctx1.getTransform();
|
|
shouldHaveMatrixEquality("modifiedTransform", [1, 0, 0, 1, 5, 6]);
|
|
|
|
var ctx2 = document.createElement("canvas").getContext("2d");
|
|
ctx2.setTransform(1, 0, 0, 1, 5, 6);
|
|
|
|
var ctx1Transform = ctx1.getTransform();
|
|
var ctx2Transform = ctx2.getTransform();
|
|
shouldBe("ctx1Transform.a", "ctx2Transform.a");
|
|
shouldBe("ctx1Transform.b", "ctx2Transform.b");
|
|
shouldBe("ctx1Transform.c", "ctx2Transform.c");
|
|
shouldBe("ctx1Transform.d", "ctx2Transform.d");
|
|
shouldBe("ctx1Transform.e", "ctx2Transform.e");
|
|
shouldBe("ctx1Transform.f", "ctx2Transform.f");
|
|
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|
|
|