| <!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> |