blob: c942db361e84ba754d80cc22901261d7e0c298ad [file] [log] [blame]
<!DOCTYPE html><!-- webkit-test-runner [ enableInspectorAdditions=true ] -->
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body>
<script>
description("The test to ensure that modifying the result of getPath doesn't affect the context.");
function shouldHaveCurrentPointEqualTo(path, expected) {
shouldEvaluateTo(path + ".currentX", expected[0]);
shouldEvaluateTo(path + ".currentY", expected[1]);
}
var ctx1 = document.createElement("canvas").getContext("2d");
var copiedPath = ctx1.getPath();
ctx1.moveTo(1, 1);
shouldHaveCurrentPointEqualTo("copiedPath", [0, 0]);
copiedPath.moveTo(2, 2);
var newPath = ctx1.getPath();
shouldHaveCurrentPointEqualTo("newPath", [1, 1]);
ctx1.setPath(copiedPath);
var modifiedPath = ctx1.getPath();
shouldHaveCurrentPointEqualTo("modifiedPath", [2, 2]);
var ctx2 = document.createElement("canvas").getContext("2d");
ctx2.moveTo(2, 2);
var ctx1Path = ctx1.getPath();
var ctx2Path = ctx2.getPath();
shouldBe("ctx1Path.currentX", "ctx2Path.currentX");
shouldBe("ctx1Path.currentY", "ctx2Path.currentY");
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>