Index: third_party/WebKit/LayoutTests/virtual/color_space/fast/canvas/color-space/canvas-colorspace-arguments.html |
diff --git a/third_party/WebKit/LayoutTests/virtual/color_space/fast/canvas/color-space/canvas-colorspace-arguments.html b/third_party/WebKit/LayoutTests/virtual/color_space/fast/canvas/color-space/canvas-colorspace-arguments.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..2ee2a98417287de6fda97df6cbae23ebd0d2d6c0 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/virtual/color_space/fast/canvas/color-space/canvas-colorspace-arguments.html |
@@ -0,0 +1,59 @@ |
+<script src="../../../../../resources/testharness.js"></script> |
+<script src="../../../../../resources/testharnessreport.js"></script> |
+ |
+<script> |
+ |
+var testScenarios = [ |
+ ["Test default context creation parameters", {}, {colorSpace: "srgb", pixelFormat: "8-8-8-8", linearPixelMath: false}], |
+ |
+ ["Test CanvasColorSpace value srgb", {colorSpace: "srgb"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8", linearPixelMath: false}], |
+ ["Test CanvasColorSpace value rec2020", {colorSpace: "rec2020"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8", linearPixelMath: false}], |
+ ["Test CanvasColorSpace value p3", {colorSpace: "p3"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8", linearPixelMath: false}], |
+ |
+ ["Test CanvasPixelFormat value 8-8-8-8", {pixelFormat: "8-8-8-8"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8", linearPixelMath: false}], |
+ ["Test CanvasPixelFormat value 10-10-10-2", {pixelFormat: "10-10-10-2"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8", linearPixelMath: false}], |
+ ["Test CanvasPixelFormat value 12-12-12-12", {pixelFormat: "12-12-12-12"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8", linearPixelMath: false}], |
+ ["Test CanvasPixelFormat value float16", {pixelFormat: "float16"}, {colorSpace: "srgb", pixelFormat: "float16", linearPixelMath: true}], |
+ |
+ ["Test supported CanvasColorSpace and CanvasPixelFormat combination: srgb/8-8-8-8", {colorSpace: "srgb", pixelFormat: "8-8-8-8"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8", linearPixelMath: false}], |
+ ["Test not-supported CanvasColorSpace and CanvasPixelFormat combination: srgb/10-10-10-2", {colorSpace: "srgb", pixelFormat: "10-10-10-2"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8", linearPixelMath: false}], |
+ ["Test not-supported CanvasColorSpace and CanvasPixelFormat combination: srgb/12-12-12-12", {colorSpace: "srgb", pixelFormat: "12-12-12-12"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8", linearPixelMath: false}], |
+ ["Test supported CanvasColorSpace and CanvasPixelFormat combination: srgb/float16", {colorSpace: "srgb", pixelFormat: "float16"}, {colorSpace: "srgb", pixelFormat: "float16", linearPixelMath: true}], |
+ |
+ ["Test not-supported CanvasColorSpace and CanvasPixelFormat combination: rec2020/8-8-8-8", {colorSpace: "rec2020", pixelFormat: "8-8-8-8"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8", linearPixelMath: false}], |
+ ["Test not-supported CanvasColorSpace and CanvasPixelFormat combination: rec2020/10-10-10-2", {colorSpace: "rec2020", pixelFormat: "10-10-10-2"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8", linearPixelMath: false}], |
+ ["Test not-supported CanvasColorSpace and CanvasPixelFormat combination: rec2020/12-12-12-12", {colorSpace: "rec2020", pixelFormat: "12-12-12-12"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8", linearPixelMath: false}], |
+ ["Test supported CanvasColorSpace and CanvasPixelFormat combination: rec2020/float16", {colorSpace: "rec2020", pixelFormat: "float16"}, {colorSpace: "rec2020", pixelFormat: "float16", linearPixelMath: true}], |
+ |
+ ["Test not-supported CanvasColorSpace and CanvasPixelFormat combination: p3/8-8-8-8", {colorSpace: "p3", pixelFormat: "8-8-8-8"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8", linearPixelMath: false}], |
+ ["Test not-supported CanvasColorSpace and CanvasPixelFormat combination: p3/10-10-10-2", {colorSpace: "p3", pixelFormat: "10-10-10-2"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8", linearPixelMath: false}], |
+ ["Test not-supported CanvasColorSpace and CanvasPixelFormat combination: p3/12-12-12-12", {colorSpace: "p3", pixelFormat: "12-12-12-12"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8", linearPixelMath: false}], |
+ ["Test supported CanvasColorSpace and CanvasPixelFormat combination: p3/float16", {colorSpace: "p3", pixelFormat: "float16"}, {colorSpace: "p3", pixelFormat: "float16", linearPixelMath: true}], |
+ |
+ ["Test parameter linearPixelMath srgb/8-8-8-8/false", {colorSpace: "srgb", pixelFormat: "8-8-8-8", linearPixelMath: false}, {colorSpace: "srgb", pixelFormat: "8-8-8-8", linearPixelMath: false}], |
+ ["Test parameter linearPixelMath srgb/8-8-8-8/true", {colorSpace: "srgb", pixelFormat: "8-8-8-8", linearPixelMath: true}, {colorSpace: "srgb", pixelFormat: "8-8-8-8", linearPixelMath: false}], |
+ ["Test parameter linearPixelMath srgb/float16/false", {colorSpace: "srgb", pixelFormat: "float16", linearPixelMath: false}, {colorSpace: "srgb", pixelFormat: "float16", linearPixelMath: true}], |
+ ["Test parameter linearPixelMath srgb/float16/true", {colorSpace: "srgb", pixelFormat: "float16", linearPixelMath: true}, {colorSpace: "srgb", pixelFormat: "float16", linearPixelMath: true}], |
+ |
+ ["Test parameter linearPixelMath rec2020/float16/false", {colorSpace: "rec2020", pixelFormat: "float16", linearPixelMath: false}, {colorSpace: "rec2020", pixelFormat: "float16", linearPixelMath: true}], |
+ ["Test parameter linearPixelMath rec2020/float16/true", {colorSpace: "rec2020", pixelFormat: "float16", linearPixelMath: true}, {colorSpace: "rec2020", pixelFormat: "float16", linearPixelMath: true}], |
+ |
+ ["Test parameter linearPixelMath p3/float16/false", {colorSpace: "p3", pixelFormat: "float16", linearPixelMath: false}, {colorSpace: "p3", pixelFormat: "float16", linearPixelMath: true}], |
+ ["Test parameter linearPixelMath p3/float16/true", {colorSpace: "p3", pixelFormat: "float16", linearPixelMath: true}, {colorSpace: "p3", pixelFormat: "float16", linearPixelMath: true}], |
+]; |
+ |
+function runTestScenario(contextCreationParameters, expectedContextAttributes) { |
+ console.log(contextCreationParameters); |
+ var canvas = document. createElement('canvas'); |
+ var ctx = canvas.getContext('2d', contextCreationParameters); |
+ var contextAttributes = ctx.getContextAttributes(); |
+ console.log(contextAttributes); |
+ console.log(expectedContextAttributes); |
+ assert_equals(contextAttributes.colorSpace, expectedContextAttributes.colorSpace); |
+ assert_equals(contextAttributes.pixelFormat, expectedContextAttributes.pixelFormat); |
+ assert_equals(contextAttributes.linearPixelMath, expectedContextAttributes.linearPixelMath); |
+} |
+ |
+generate_tests(runTestScenario, testScenarios); |
+</script> |
+ |