test_error_scope.html (1203B)
1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8" /> 5 <script src="/tests/SimpleTest/SimpleTest.js"></script> 6 <link rel="stylesheet" href="/tests/SimpleTest/test.css" /> 7 </head> 8 <body> 9 <script> 10 ok( 11 SpecialPowers.getBoolPref("dom.webgpu.enabled"), 12 "Pref should be enabled." 13 ); 14 15 const func = async function () { 16 const adapter = await navigator.gpu.requestAdapter(); 17 const device = await adapter.requestDevice(); 18 19 device.pushErrorScope("validation"); 20 const buffer = device.createBuffer({ size: 0, usage: 0 }); 21 const error = await device.popErrorScope(); 22 23 isnot( 24 error, 25 null, 26 "Attempt to createBuffer with size 0 and usage 0 should generate an error." 27 ); 28 29 try { 30 await device.popErrorScope(); 31 ok(false, "Should have thrown"); 32 } catch (ex) { 33 ok(ex.name == "OperationError", "Should throw an OperationError"); 34 } 35 }; 36 37 SimpleTest.waitForExplicitFinish(); 38 func() 39 .catch(e => ok(false, "Unhandled exception " + e)) 40 .finally(() => SimpleTest.finish()); 41 </script> 42 </body> 43 </html>