Index: third_party/WebKit/LayoutTests/fast/canvas/canvas-imageSmoothingQuality.html |
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/canvas-imageSmoothingQuality.html b/third_party/WebKit/LayoutTests/fast/canvas/canvas-imageSmoothingQuality.html |
index ca853e8aafa41cc9f9a855d3612711d6b5694769..1365347a868f9af0e2a351290ec587f9fe857d5f 100644 |
--- a/third_party/WebKit/LayoutTests/fast/canvas/canvas-imageSmoothingQuality.html |
+++ b/third_party/WebKit/LayoutTests/fast/canvas/canvas-imageSmoothingQuality.html |
@@ -1,17 +1,15 @@ |
-<!DOCTYPE html> |
<html> |
- <body> |
- <script src="../../resources/js-test.js"></script> |
- <canvas id="source"></canvas> |
- <canvas id="default"></canvas> |
- <script> |
- |
-description("Tests for the imageSmoothingQuality attribute."); |
- |
-var source = document.getElementById("source"); |
+<body> |
+<script src="../../resources/testharness.js"></script> |
+<script src="../../resources/testharnessreport.js"></script> |
+<canvas id="source"></canvas> |
+<canvas id="default"></canvas> |
+<script> |
+ |
+var source = document.createElement('canvas'); |
source.width = 60; |
source.height = 12; |
-var sourceContext = source.getContext("2d"); |
+var sourceContext = source.getContext('2d'); |
var sourceImage = sourceContext.createImageData(source.width, source.height); |
function drawBlackDot(x, y) { |
@@ -23,9 +21,9 @@ function drawBlackDot(x, y) { |
} |
for (var x = 0; x < source.width; x++) { |
- for (var y = 1; y < 3; y++) { |
- drawBlackDot(x, y); |
- } |
+ for (var y = 1; y < 3; y++) { |
+ drawBlackDot(x, y); |
+ } |
} |
sourceContext.putImageData(sourceImage, 0, 0); |
@@ -52,93 +50,83 @@ function scaleImageData(destinationCanvas, quality) { |
return JSON.stringify(data); |
} |
-function testInvalidInput(badInput){ |
- shouldNotThrow(badInput); |
- shouldBe("highContext.imageSmoothingQuality", "'high'"); |
-} |
- |
function sampleAlpha(data){ |
return JSON.parse(data)[3] |
} |
-debug("On getting, must return the last value it was set to."); |
-var lowData = scaleTestResults("low"); |
-var lowContext = document.getElementById("lowCanvas").getContext('2d'); |
-shouldBe("lowContext.imageSmoothingQuality", "'low'"); |
- |
-var mediumData = scaleTestResults("medium"); |
-var mediumContext = document.getElementById("mediumCanvas").getContext('2d'); |
-shouldBe("mediumContext.imageSmoothingQuality", "'medium'"); |
- |
-var highData = scaleTestResults("high"); |
-var highContext = document.getElementById("highCanvas").getContext('2d'); |
-var highCanvas = document.getElementById("highCanvas"); |
-shouldBe("highContext.imageSmoothingQuality", "'high'"); |
- |
-lowContext.imageSmoothingEnabled = false; |
-var noFilterData = scaleImageData(lowCanvas, lowCanvas.imageSmoothingQuality); |
- |
-debug(""); |
-shouldNotBe("lowData", "mediumData"); |
-// Skia uses mipmaps when downscaling, for both high and medium quality |
-shouldBe("mediumData", "highData"); |
-shouldNotBe("lowData", "highData"); |
- |
-debug(""); |
-shouldBe("sampleAlpha(noFilterData)", "sampleAlpha(lowData)"); |
-shouldBeGreaterThan("sampleAlpha(lowData)", "sampleAlpha(mediumData)"); |
-// Skia uses mipmaps when downscaling, for both high and medium quality |
-shouldBe("sampleAlpha(mediumData)", "sampleAlpha(highData)"); |
- |
- |
-debug("\n\nOn setting, it must be set to the new value."); |
-evalAndLog("highContext.imageSmoothingQuality = 'medium';"); |
-shouldBe("highContext.imageSmoothingQuality", "'medium'"); |
-shouldBe("scaleImageData(highCanvas, highCanvas.imageSmoothingQuality);", |
- "mediumData"); |
-evalAndLog("highContext.imageSmoothingQuality = 'high';"); |
-shouldBe("highContext.imageSmoothingQuality", "'high'"); |
-shouldBe("scaleImageData(highCanvas, highCanvas.imageSmoothingQuality);", |
- "highData"); |
- |
- |
-debug("\n\nWhen the CanvasRenderingContext2D object is created, " + |
- "the attribute must be set to 'low'."); |
-shouldBe('document.getElementById("default").getContext("2d").' + |
- 'imageSmoothingQuality', "'low'"); |
- |
- |
-debug("\n\nImageSmoothingQuality can be set without real effect when " + |
- "imageSmoothingEnabled is false."); |
-evalAndLog("highContext.imageSmoothingEnabled = false;"); |
-shouldBe("highContext.imageSmoothingQuality", "'high'"); |
-shouldBe("scaleImageData(highCanvas, highCanvas.imageSmoothingQuality)", |
- "noFilterData"); |
-evalAndLog("highContext.imageSmoothingQuality = 'medium'"); |
-shouldBe("highContext.imageSmoothingQuality", "'medium'"); |
-shouldBe("scaleImageData(highCanvas, highCanvas.imageSmoothingQuality)", |
- "noFilterData"); |
- |
- |
-debug("\n\nInvalid Input is not accpeted."); |
-evalAndLog("highContext.imageSmoothingEnabled = true; " + |
- "highContext.imageSmoothingQuality = 'high';"); |
-testInvalidInput("scaleImageData(highCanvas, '3223')"); |
-testInvalidInput("scaleImageData(highCanvas, 'bad_input')"); |
-testInvalidInput("scaleImageData(highCanvas, 'LOW')"); |
-testInvalidInput("scaleImageData(highCanvas, 'Medium')"); |
- |
- |
-debug("\n\nThe save() and restore() should work."); |
-evalAndLog("highContext.save(); highContext.imageSmoothingQuality = 'medium';"); |
-shouldBe("highContext.imageSmoothingQuality", "'medium'"); |
-shouldBe("scaleImageData(highCanvas, highCanvas.imageSmoothingQuality);", |
- "mediumData"); |
-shouldBe("highContext.restore(); highContext.imageSmoothingQuality", "'high'"); |
-shouldBe("scaleImageData(highCanvas, highCanvas.imageSmoothingQuality);", |
- "highData"); |
- |
-debug(""); |
- </script> |
- </body> |
-</html> |
+test(function(t) { |
+ // On getting, must return the last value it was set to."); |
+ var lowData = scaleTestResults("low"); |
+ var lowContext = document.getElementById("lowCanvas").getContext('2d'); |
+ assert_equals(lowContext.imageSmoothingQuality, 'low'); |
+ |
+ var mediumData = scaleTestResults("medium"); |
+ var mediumContext = document.getElementById("mediumCanvas").getContext('2d'); |
+ assert_equals(mediumContext.imageSmoothingQuality, 'medium'); |
+ |
+ var highData = scaleTestResults("high"); |
+ var highContext = document.getElementById("highCanvas").getContext('2d'); |
+ var highCanvas = document.getElementById("highCanvas"); |
+ assert_equals(highContext.imageSmoothingQuality, 'high'); |
+ |
+ lowContext.imageSmoothingEnabled = false; |
+ var noFilterData = scaleImageData(lowCanvas, lowCanvas.imageSmoothingQuality); |
+ |
+ assert_false(lowData === mediumData); |
+ // Skia uses mipmaps when downscaling, for both high and medium quality |
+ assert_equals(mediumData, highData); |
+ assert_false(lowData === highData); |
+ |
+ assert_equals(sampleAlpha(noFilterData), sampleAlpha(lowData)); |
+ assert_true(sampleAlpha(lowData) > sampleAlpha(mediumData)); |
+ // Skia uses mipmaps when downscaling, for both high and medium quality |
+ assert_equals(sampleAlpha(mediumData), sampleAlpha(highData)); |
+ |
+ // On setting, it must be set to the new value. |
+ highContext.imageSmoothingQuality = 'medium'; |
+ assert_equals(highContext.imageSmoothingQuality, 'medium'); |
+ assert_equals(scaleImageData(highCanvas, highCanvas.imageSmoothingQuality), |
+ mediumData); |
+ highContext.imageSmoothingQuality = 'high'; |
+ assert_equals(highContext.imageSmoothingQuality, 'high'); |
+ assert_equals(scaleImageData(highCanvas, highCanvas.imageSmoothingQuality), |
+ highData); |
+ |
+ // When the CanvasRenderingContext2D object is created, the attribute must be set to 'low'. |
+ assert_equals(document.getElementById("default").getContext("2d").imageSmoothingQuality, 'low'); |
+ |
+ // ImageSmoothingQuality can be set without real effect when imageSmoothingEnabled is false. |
+ highContext.imageSmoothingEnabled = false; |
+ assert_equals(highContext.imageSmoothingQuality, 'high'); |
+ assert_equals(scaleImageData(highCanvas, highCanvas.imageSmoothingQuality), |
+ noFilterData); |
+ highContext.imageSmoothingQuality = 'medium'; |
+ assert_equals(highContext.imageSmoothingQuality, 'medium'); |
+ assert_equals(scaleImageData(highCanvas, highCanvas.imageSmoothingQuality), |
+ noFilterData); |
+ |
+ // Invalid Input is not accepted. |
+ highContext.imageSmoothingEnabled = true; |
+ highContext.imageSmoothingQuality = 'high'; |
+ scaleImageData(highCanvas, '3223'); |
+ assert_equals(highContext.imageSmoothingQuality, 'high'); |
+ scaleImageData(highCanvas, 'bad_input'); |
+ assert_equals(highContext.imageSmoothingQuality, 'high'); |
+ scaleImageData(highCanvas, 'LOW'); |
+ assert_equals(highContext.imageSmoothingQuality, 'high'); |
+ scaleImageData(highCanvas, 'Medium'); |
+ assert_equals(highContext.imageSmoothingQuality, 'high'); |
+ |
+ |
+ // The save() and restore() should work. |
+ highContext.save(); |
+ highContext.imageSmoothingQuality = 'medium'; |
+ assert_equals(highContext.imageSmoothingQuality, 'medium'); |
+ assert_equals(scaleImageData(highCanvas, highCanvas.imageSmoothingQuality), mediumData); |
+ highContext.restore(); |
+ assert_equals(highContext.imageSmoothingQuality, 'high'); |
+ assert_equals(scaleImageData(highCanvas, highCanvas.imageSmoothingQuality), highData); |
+ |
+ }, 'Tests for the imageSmoothingQuality attribute.'); |
+</script> |
+</body> |