add maxTextureArrayLayers limit test (#2234)

diff --git a/src/webgpu/api/validation/capability_checks/limits/maxTextureArrayLayers.spec.ts b/src/webgpu/api/validation/capability_checks/limits/maxTextureArrayLayers.spec.ts
new file mode 100644
index 0000000..36dffa1
--- /dev/null
+++ b/src/webgpu/api/validation/capability_checks/limits/maxTextureArrayLayers.spec.ts
@@ -0,0 +1,27 @@
+import { kLimitBaseParams, makeLimitTestGroup } from './limit_utils.js';
+
+const limit = 'maxTextureArrayLayers';
+export const { g, description } = makeLimitTestGroup(limit);
+
+g.test('createTexture,at_over')
+  .desc(`Test using at and over ${limit} limit`)
+  .params(kLimitBaseParams)
+  .fn(async t => {
+    const { limitTest, testValueName } = t.params;
+    await t.testDeviceWithRequestedLimits(
+      limitTest,
+      testValueName,
+      async ({ device, testValue, shouldError }) => {
+        await t.testForValidationErrorWithPossibleOutOfMemoryError(() => {
+          const texture = device.createTexture({
+            size: [1, 1, testValue],
+            format: 'rgba8unorm',
+            usage: GPUTextureUsage.TEXTURE_BINDING,
+          });
+          if (!shouldError) {
+            texture.destroy();
+          }
+        }, shouldError);
+      }
+    );
+  });