| <script src="../../../../../resources/testharness.js"></script> |
| <script src="../../../../../resources/testharnessreport.js"></script> |
| |
| <script> |
| |
| var testScenarios = [ |
| ["Test default context creation parameters: srgb/8-8-8-8", {}, {colorSpace: "srgb", pixelFormat: "8-8-8-8"}], |
| |
| ["Test CanvasColorSpace value srgb", {colorSpace: "srgb"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8"}], |
| ["Test CanvasColorSpace value rec2020, no pixel format, falls back to srgb/8-8-8-8", {colorSpace: "rec2020"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8"}], |
| ["Test CanvasColorSpace value p3, no pixel format, falls back to srgb/8-8-8-8", {colorSpace: "p3"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8"}], |
| |
| ["Test CanvasPixelFormat value 8-8-8-8", {pixelFormat: "8-8-8-8"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8"}], |
| ["Test CanvasPixelFormat value 10-10-10-2, falls back to 8-8-8-8", {pixelFormat: "10-10-10-2"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8"}], |
| ["Test CanvasPixelFormat value 12-12-12-12, falls back to 8-8-8-8", {pixelFormat: "12-12-12-12"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8"}], |
| ["Test CanvasPixelFormat value float16", {pixelFormat: "float16"}, {colorSpace: "srgb", pixelFormat: "float16"}], |
| |
| ["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"}], |
| ["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"}], |
| ["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"}], |
| ["Test supported CanvasColorSpace and CanvasPixelFormat combination: srgb/float16", {colorSpace: "srgb", pixelFormat: "float16"}, {colorSpace: "srgb", pixelFormat: "float16"}], |
| |
| ["Test not-supported CanvasColorSpace and CanvasPixelFormat combination: rec2020/8-8-8-8, falls back to srgb/8-8-8-8", {colorSpace: "rec2020", pixelFormat: "8-8-8-8"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8"}], |
| ["Test not-supported CanvasColorSpace and CanvasPixelFormat combination: rec2020/10-10-10-2, falls back to srgb/8-8-8-8", {colorSpace: "rec2020", pixelFormat: "10-10-10-2"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8"}], |
| ["Test not-supported CanvasColorSpace and CanvasPixelFormat combination: rec2020/12-12-12-12, falls back to srgb/8-8-8-8", {colorSpace: "rec2020", pixelFormat: "12-12-12-12"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8"}], |
| ["Test supported CanvasColorSpace and CanvasPixelFormat combination: rec2020/float16", {colorSpace: "rec2020", pixelFormat: "float16"}, {colorSpace: "rec2020", pixelFormat: "float16"}], |
| |
| ["Test not-supported CanvasColorSpace and CanvasPixelFormat combination: p3/8-8-8-8, falls back to srgb/8-8-8-8", {colorSpace: "p3", pixelFormat: "8-8-8-8"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8"}], |
| ["Test not-supported CanvasColorSpace and CanvasPixelFormat combination: p3/10-10-10-2, falls back to srgb/8-8-8-8", {colorSpace: "p3", pixelFormat: "10-10-10-2"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8"}], |
| ["Test not-supported CanvasColorSpace and CanvasPixelFormat combination: p3/12-12-12-12, falls back to srgb/8-8-8-8", {colorSpace: "p3", pixelFormat: "12-12-12-12"}, {colorSpace: "srgb", pixelFormat: "8-8-8-8"}], |
| ["Test supported CanvasColorSpace and CanvasPixelFormat combination: p3/float16", {colorSpace: "p3", pixelFormat: "float16"}, {colorSpace: "p3", pixelFormat: "float16"}], |
| ]; |
| |
| function runTestScenario(contextCreationParameters, expectedContextAttributes) { |
| var canvas = document. createElement('canvas'); |
| var ctx = canvas.getContext('2d', contextCreationParameters); |
| var contextAttributes = ctx.getContextAttributes(); |
| assert_equals(contextAttributes.colorSpace, expectedContextAttributes.colorSpace); |
| assert_equals(contextAttributes.pixelFormat, expectedContextAttributes.pixelFormat); |
| } |
| |
| generate_tests(runTestScenario, testScenarios); |
| </script> |
| |