Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1248)

Unified Diff: third_party/WebKit/LayoutTests/fast/canvas/set-colors.html

Issue 2701053003: Use testharness.js instead of js-test.js in LayoutTests/fast/canvas tests. (Closed)
Patch Set: Addressing comments Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/fast/canvas/set-colors.html
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/set-colors.html b/third_party/WebKit/LayoutTests/fast/canvas/set-colors.html
index 3e9b36c8991753ad4d0c21f100a468902cdd8e31..ad74c879944feb8b939e66ba8c8c70e90e9fb067 100644
--- a/third_party/WebKit/LayoutTests/fast/canvas/set-colors.html
+++ b/third_party/WebKit/LayoutTests/fast/canvas/set-colors.html
@@ -1,9 +1,136 @@
-<!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/set-colors.js"></script>
+<script>
+// Test of various canvas graphics context calls for setting colors.
+
+var canvas = document.createElement("canvas");
+var context = canvas.getContext('2d');
+
+function clear()
+{
+ context.clearRect(0, 0, canvas.width, canvas.height);
+}
+
+function hex(number)
+{
+ var hexDigits = "0123456789abcdef";
+ return hexDigits[number >> 4] + hexDigits[number & 0xF];
+}
+
+function pixel()
+{
+ var imageData = context.getImageData(0, 0, 1, 1);
+ if (imageData.data[3] == 255)
+ return "#" + hex(imageData.data[0]) + hex(imageData.data[1]) + hex(imageData.data[2]);
+ if (imageData.data[3] == 0)
+ return "rgba(" + imageData.data[0] + ", " + imageData.data[1] + ", " + imageData.data[2] + ", 0.0)";
+ return "rgba(" + imageData.data[0] + ", " + imageData.data[1] + ", " + imageData.data[2] + ", " + (imageData.data[3] / 255) + ")";
+}
+
+var transparent = "rgba(0, 0, 0, 0.0)";
+var red = "#ff0000";
+var green = "#00ff00";
+var blue = "#0000ff";
+var white = "#ffffff";
+var translucentRed = "rgba(255, 0, 0, 0.8)";
+var translucentGreen = "rgba(0, 255, 0, 0.8)";
+var translucentBlue = "rgba(0, 0, 255, 0.8)";
+var translucentWhite = "rgba(255, 255, 255, 0.8)";
+
+function testFillStyle(fillStyleString, expectedColorString)
+{
+ clear();
+ context.fillStyle = "black";
+ context.fillStyle = fillStyleString;
+ context.fillRect(0, 0, 1, 1);
+ assert_equals(pixel(), expectedColorString);
+}
+
+function testFillGradient(fillStyleString, expectedColorString)
+{
+ clear();
+ context.fillStyle = "black";
+ var gradient = context.createLinearGradient(0, 0, 1, 1);
+ gradient.addColorStop(0, fillStyleString);
+ gradient.addColorStop(1, fillStyleString);
+ context.fillStyle = gradient;
+ context.fillRect(0, 0, 1, 1);
+ assert_equals(pixel(), expectedColorString);
+}
+
+function testStrokeStyle(fillStyleString, expectedColorString)
+{
+ clear();
+ context.lineWidth = 5;
+ context.strokeStyle = "black";
+ context.strokeStyle = fillStyleString;
+ context.strokeRect(2, 2, 10, 10);
+ assert_equals(pixel(), expectedColorString);
+}
+
+function testStrokeGradient(fillStyleString, expectedColorString)
+{
+ clear();
+ context.lineWidth = 5;
+ context.strokeStyle = "black";
+ var gradient = context.createLinearGradient(0, 0, 1, 1);
+ gradient.addColorStop(0, fillStyleString);
+ gradient.addColorStop(1, fillStyleString);
+ context.strokeStyle = gradient;
+ context.strokeRect(2, 2, 10, 10);
+ assert_equals(pixel(), expectedColorString);
+}
+
+var testFillStyleScenarios = [
+ ['TestFillStyle 1', 'transparent', transparent],
+ ['TestFillStyle 2', 'blue', blue],
+ ['TestFillStyle 3', '#FF0000', red],
+ ['TestFillStyle 4', '#f00', red],
+ ['TestFillStyle 5', 'rgb(255, 0, 0)', red],
+ ['TestFillStyle 6', 'rgba(255, 0, 0, 1)', red],
+ ['TestFillStyle 7', 'rgba(255, 0, 0, 0.8)', translucentRed],
+ ['TestFillStyle 8', 'rgba(255, 0, 0, 0)', transparent],
+];
+
+var testFillGradientScenarios = [
+ ['TestFillGradient 1', 'transparent', transparent],
+ ['TestFillGradient 2', 'blue', blue],
+ ['TestFillGradient 3', '#FF0000', red],
+ ['TestFillGradient 4', '#f00', red],
+ ['TestFillGradient 5', 'rgb(255, 0, 0)', red],
+ ['TestFillGradient 6', 'rgba(255, 0, 0, 1)', red],
+ ['TestFillGradient 7', 'rgba(255, 0, 0, 0.8)', translucentRed],
+ ['TestFillGradient 8', 'rgba(255, 0, 0, 0)', transparent],
+];
+
+var testStrokeStyleScenarios = [
+ ['TestStrokeStyle 1', 'transparent', transparent],
+ ['TestStrokeStyle 2', 'blue', blue],
+ ['TestStrokeStyle 3', '#FF0000', red],
+ ['TestStrokeStyle 4', '#f00', red],
+ ['TestStrokeStyle 5', 'rgb(255, 0, 0)', red],
+ ['TestStrokeStyle 6', 'rgba(255, 0, 0, 1)', red],
+ ['TestStrokeStyle 7', 'rgba(255, 0, 0, 0.8)', translucentRed],
+ ['TestStrokeStyle 8', 'rgba(255, 0, 0, 0)', transparent],
+];
+
+var testStrokeGradientScenarios = [
+ ['TestStrokeGradient 1', 'transparent', transparent],
+ ['TestStrokeGradient 2', 'blue', blue],
+ ['TestStrokeGradient 3', '#FF0000', red],
+ ['TestStrokeGradient 4', '#f00', red],
+ ['TestStrokeGradient 5', 'rgb(255, 0, 0)', red],
+ ['TestStrokeGradient 6', 'rgba(255, 0, 0, 1)', red],
+ ['TestStrokeGradient 7', 'rgba(255, 0, 0, 0.8)', translucentRed],
+ ['TestStrokeGradient 8', 'rgba(255, 0, 0, 0)', transparent],
+];
+
+generate_tests(testFillStyle, testFillStyleScenarios);
+generate_tests(testFillGradient, testFillGradientScenarios);
+generate_tests(testStrokeStyle, testStrokeStyleScenarios);
+generate_tests(testStrokeGradient, testStrokeGradientScenarios);
+
+</script>
</body>
</html>

Powered by Google App Engine
This is Rietveld 408576698