diff options
Diffstat (limited to '')
-rw-r--r-- | dom/webgpu/tests/cts/checkout/src/webgpu/api/operation/adapter/requestAdapterInfo.spec.ts | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/dom/webgpu/tests/cts/checkout/src/webgpu/api/operation/adapter/requestAdapterInfo.spec.ts b/dom/webgpu/tests/cts/checkout/src/webgpu/api/operation/adapter/requestAdapterInfo.spec.ts new file mode 100644 index 0000000000..6c8c5b0dee --- /dev/null +++ b/dom/webgpu/tests/cts/checkout/src/webgpu/api/operation/adapter/requestAdapterInfo.spec.ts @@ -0,0 +1,54 @@ +export const description = ` +Tests various ways of calling GPUAdapter.requestAdapterInfo. + +TODO: +- Find a way to perform tests with and without user activation +`; + +import { Fixture } from '../../../../common/framework/fixture.js'; +import { makeTestGroup } from '../../../../common/framework/test_group.js'; +import { getGPU } from '../../../../common/util/navigator_gpu.js'; +import { assert } from '../../../../common/util/util.js'; + +export const g = makeTestGroup(Fixture); + +const normalizedIdentifierRegex = /^$|^[a-z0-9]+(-[a-z0-9]+)*$/; + +g.test('adapter_info') + .desc( + ` + Test that calling requestAdapterInfo with no arguments: + - Returns a GPUAdapterInfo structure + - Every member in the structure except description is properly formatted` + ) + .fn(async t => { + const gpu = getGPU(); + const adapter = await gpu.requestAdapter(); + assert(adapter !== null); + + const adapterInfo = await adapter.requestAdapterInfo(); + + t.expect( + normalizedIdentifierRegex.test(adapterInfo.vendor), + 'adapterInfo.vendor should be a normalized identifier' + ); + + t.expect( + normalizedIdentifierRegex.test(adapterInfo.architecture), + 'adapterInfo.architecture should be a normalized identifier' + ); + + t.expect( + normalizedIdentifierRegex.test(adapterInfo.device), + 'adapterInfo.device should be a normalized identifier' + ); + }); + +g.test('adapter_info_with_hints') + .desc( + ` + Test that calling requestAdapterInfo with hints: + - Rejects without user activation + - Succeed with user activation` + ) + .unimplemented(); |