attribute.html (1196B)
1 <!DOCTYPE HTML> 2 <script src="/resources/testharness.js"></script> 3 <script src="/resources/testharnessreport.js"></script> 4 <script> 5 test(function() { 6 // Test setting, getting, and default values of globalHDRHeadroom 7 const canvas = new OffscreenCanvas(64, 64); 8 const ctx = canvas.getContext('2d'); 9 if (ctx.globalHDRHeadroom !== undefined) { 10 // Default value is 0. 11 assert_equals(ctx.globalHDRHeadroom, 0); 12 13 // Negative and NaN values are rejected. 14 ctx.globalHDRHeadroom = -1.0; 15 assert_equals(ctx.globalHDRHeadroom, 0); 16 ctx.globalHDRHeadroom = NaN; 17 assert_equals(ctx.globalHDRHeadroom, 0); 18 ctx.globalHDRHeadroom = -Infinity; 19 assert_equals(ctx.globalHDRHeadroom, 0); 20 21 // Nonnegative values are not rejected. 22 ctx.globalHDRHeadroom = 1; 23 assert_equals(ctx.globalHDRHeadroom, 1); 24 ctx.globalHDRHeadroom = 0; 25 assert_equals(ctx.globalHDRHeadroom, 0); 26 27 // Infinity is a valid value. 28 ctx.globalHDRHeadroom = Infinity; 29 assert_equals(ctx.globalHDRHeadroom, Infinity); 30 31 // Strings from dynamic-range-limit are rejected. 32 ctx.globalHDRHeadroom = 'constrained'; 33 assert_equals(ctx.globalHDRHeadroom, Infinity); 34 } 35 }); 36 </script>