export const description = `Parser validation tests for enable`;import { makeTestGroup } from '../../../../common/framework/test_group.js';import { keysOf } from '../../../../common/util/data_tables.js';import { ShaderValidationTest } from '../shader_validation_test.js';export const g = makeTestGroup(ShaderValidationTest);const kCases = {f16: { code: `enable f16;`, pass: true },decl_before: {code: `alias i = i32;enable f16;`,pass: false,},decl_after: {code: `enable f16;alias i = i32;`,pass: true,},requires_before: {code: `requires readonly_and_readwrite_storage_textures;enable f16;`,pass: true,},diagnostic_before: {code: `diagnostic(info, derivative_uniformity);enable f16;`,pass: true,},const_assert_before: {code: `const_assert 1 == 1;enable f16;`,pass: false,},const_assert_after: {code: `enable f16;const_assert 1 == 1;`,pass: true,},embedded_comment: {code: `/* comment*/enable f16;`,pass: true,},parens: {code: `enable(f16);`,pass: false,},multi_line: {code: `enablef16;`,pass: true,},multiple_enables: {code: `enable f16;enable f16;`,pass: true,},multiple_entries: {code: `enable f16, f16, f16;`,pass: true,},unknown: {code: `enable unknown;`,pass: false,},subgroups: {code: `enable subgroups;`,pass: true,},subgroups_f16_pass1: {code: `enable f16;enable subgroups;`,pass: true,},subgroups_f16_pass2: {code: `enable subgroups;enable f16;`,pass: true,},in_comment_f16: {code: `/* enable f16; */var<private> v: f16;`,pass: false,},};g.test('enable').desc(`Tests that enables are validated correctly`).params(u => u.combine('case', keysOf(kCases))).fn(t => {if (t.params.case === 'requires_before') {t.skipIfLanguageFeatureNotSupported('readonly_and_readwrite_storage_textures');}const c = kCases[t.params.case];t.expectCompileResult(c.pass, c.code);});