summaryrefslogtreecommitdiffstats
path: root/dom/webgpu/mochitest/test_error_scope.html
blob: c59996d39eb10c3e2785db67f3875dd4d888e62f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<!DOCTYPE HTML>
<html>
<head>
<meta charset='utf-8'>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" href="/tests/SimpleTest/test.css">
</head>
<body>
<script>

ok(SpecialPowers.getBoolPref('dom.webgpu.enabled'), 'Pref should be enabled.');

const func = async function() {
  const adapter = await navigator.gpu.requestAdapter();
  const device = await adapter.requestDevice();

  device.pushErrorScope("validation");
  const buffer = device.createBuffer({ size:0, usage: 0 });
  const error = await device.popErrorScope();

  isnot(error, null)

  try {
    await device.popErrorScope();
    ok(false, "Should have thrown")
  } catch (ex) {
    ok(ex.name == 'OperationError', "Should throw an OperationError")
  }
};

SimpleTest.waitForExplicitFinish();
func()
  .catch((e) => ok(false, "Unhandled exception " + e))
  .finally(() => SimpleTest.finish());

</script>
</body>
</html>