Index: third_party/WebKit/LayoutTests/fast/canvas/canvas-save-restore.html |
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/canvas-save-restore.html b/third_party/WebKit/LayoutTests/fast/canvas/canvas-save-restore.html |
index 0c9be2d99a344e776125f102e3c4d75ad2bac55a..64686b32792f0a1e34875fcec5a659fe0a6f35cd 100644 |
--- a/third_party/WebKit/LayoutTests/fast/canvas/canvas-save-restore.html |
+++ b/third_party/WebKit/LayoutTests/fast/canvas/canvas-save-restore.html |
@@ -1,9 +1,163 @@ |
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
-<html> |
-<head> |
-<script src="../../resources/js-test.js"></script> |
-</head> |
+<script src="../../resources/testharness.js"></script> |
+<script src="../../resources/testharnessreport.js"></script> |
<body> |
-<script src="script-tests/canvas-save-restore.js"></script> |
+<script> |
+var canvas = document.createElement("canvas"); |
+var context = canvas.getContext('2d'); |
+ |
+function hex(number) |
+{ |
+ var hexDigits = "0123456789abcdef"; |
+ return hexDigits[number >> 4] + hexDigits[number & 0xF]; |
+} |
+ |
+function pixel() |
+{ |
+ var imageData = context.getImageData(0, 0, 1, 1); |
+ return "#" + hex(imageData.data[0]) + hex(imageData.data[1]) + hex(imageData.data[2]); |
+} |
+ |
+var black="#000000"; |
+var red = "#ff0000"; |
+var green = "#008000"; |
+ |
+test(function(t) { |
+ // (save set restore) |
+ context.fillStyle = "black"; |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), black); |
+ |
+ context.save(); |
+ context.fillStyle = "red"; |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), red); |
+ |
+ context.restore(); |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), black); |
+ |
+ // (save (save set restore) restore) |
+ context.fillStyle = "black"; |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), black); |
+ |
+ context.save(); |
+ |
+ context.save(); |
+ context.fillStyle = "red"; |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), red); |
+ |
+ context.restore(); |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), black); |
+ |
+ context.restore(); |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), black); |
+ |
+ // (save (save restore) set restore) |
+ context.fillStyle = "black"; |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), black); |
+ |
+ context.save(); |
+ context.restore(); |
+ |
+ context.save(); |
+ context.fillStyle = "red"; |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), red); |
+ |
+ context.restore(); |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), black); |
+ |
+ // (save (save (save set restore) set (save set restore) restore) restore) |
+ context.fillStyle = "black"; |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), black); |
+ |
+ context.save(); |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), black); |
+ |
+ context.save(); |
+ context.fillStyle = "red"; |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), red); |
+ |
+ context.restore(); |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), black); |
+ |
+ context.fillStyle = "green"; |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), green); |
+ |
+ context.save(); |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), green); |
+ |
+ context.fillStyle = "red"; |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), red); |
+ |
+ context.restore(); |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), green); |
+ |
+ context.restore(); |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), black); |
+ |
+ context.restore(); |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), black); |
+ |
+ // (save (save set (save (save set restore) restore) set restore) restore) |
+ context.fillStyle = "black"; |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), black); |
+ |
+ context.save(); |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), black); |
+ |
+ context.save(); |
+ context.fillStyle = "red"; |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), red); |
+ |
+ context.save(); |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), red); |
+ |
+ context.save(); |
+ context.fillStyle = "green"; |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), green); |
+ |
+ context.restore(); |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), red); |
+ |
+ context.restore(); |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), red); |
+ |
+ context.fillStyle = "green"; |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), green); |
+ |
+ context.restore(); |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), black); |
+ |
+ context.restore(); |
+ context.fillRect(0, 0, 1, 1); |
+ assert_equals(pixel(), black); |
+}, "Verfiy canvas save and restore correct behavior."); |
+</script> |
</body> |
</html> |