summaryrefslogtreecommitdiffstats
path: root/dom/webgpu/tests/cts/checkout/src/webgpu/shader/validation/parse/semicolon.spec.ts
diff options
context:
space:
mode:
Diffstat (limited to 'dom/webgpu/tests/cts/checkout/src/webgpu/shader/validation/parse/semicolon.spec.ts')
-rw-r--r--dom/webgpu/tests/cts/checkout/src/webgpu/shader/validation/parse/semicolon.spec.ts15
1 files changed, 15 insertions, 0 deletions
diff --git a/dom/webgpu/tests/cts/checkout/src/webgpu/shader/validation/parse/semicolon.spec.ts b/dom/webgpu/tests/cts/checkout/src/webgpu/shader/validation/parse/semicolon.spec.ts
index 87cffcfafc..15a225e19f 100644
--- a/dom/webgpu/tests/cts/checkout/src/webgpu/shader/validation/parse/semicolon.spec.ts
+++ b/dom/webgpu/tests/cts/checkout/src/webgpu/shader/validation/parse/semicolon.spec.ts
@@ -27,6 +27,21 @@ g.test('after_enable')
t.expectCompileResult(/* pass */ false, `enable f16`);
});
+g.test('after_requires')
+ .desc(`Test that a semicolon must be placed after a requires directive.`)
+ .fn(t => {
+ t.skipIfLanguageFeatureNotSupported('readonly_and_readwrite_storage_textures');
+ t.expectCompileResult(/* pass */ true, `requires readonly_and_readwrite_storage_textures;`);
+ t.expectCompileResult(/* pass */ false, `requires readonly_and_readwrite_storage_textures`);
+ });
+
+g.test('after_diagnostic')
+ .desc(`Test that a semicolon must be placed after a requires directive.`)
+ .fn(t => {
+ t.expectCompileResult(/* pass */ true, `diagnostic(info, derivative_uniformity);`);
+ t.expectCompileResult(/* pass */ false, `diagnostic(info, derivative_uniformity)`);
+ });
+
g.test('after_struct_decl')
.desc(`Test that a semicolon can be placed after an struct declaration.`)
.fn(t => {