# web-platform-tests/wpt architecture

> Architecture diagram of the GitHub repository web-platform-tests/wpt, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/web-platform-tests/wpt
- Repository: https://github.com/web-platform-tests/wpt

## Overview

WPT is a cross-browser conformance test suite: contributors add tests, which exercise browser implementations and expose whether behavior matches the Web platform. The visible tree covers file and blob handling, IndexedDB, WebCrypto, and additional APIs including cookies, client hints, CSS, sensors, and accessibility. Support resources assist particular tests, but this is not an implementation of those browser APIs. The README describes browser execution and a results archive; sampled files show test behavior rather than the runner or result-submission implementation, so those internals are not mapped.

Main entry points: [`FileAPI`](https://github.com/web-platform-tests/wpt/tree/master/FileAPI) (File and URL tests), [`IndexedDB`](https://github.com/web-platform-tests/wpt/tree/master/IndexedDB) (IndexedDB tests), [`WebCryptoAPI`](https://github.com/web-platform-tests/wpt/tree/master/WebCryptoAPI) (WebCrypto tests), [`client-hints`](https://github.com/web-platform-tests/wpt/tree/master/client-hints) (Client hints tests)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_file["Files and URLs"]
  node_filetests["File and URL tests"]
  node_filehelpers["File test helpers"]
end

subgraph group_storage["Persistent storage"]
  node_idbtests["IndexedDB tests"]
  node_idbhelpers["IndexedDB resources"]
  node_buckettests["Storage bucket tests"]
end

subgraph group_crypto["Cryptography"]
  node_cryptotests["WebCrypto tests"]
  node_cryptoutils["Crypto test utilities"]
end

subgraph group_platform["Other platform APIs"]
  node_cookietests["Cookie Store tests"]
  node_hinttests["Client hints tests"]
  node_hintresource["Hint echo resource"]
  node_csstests["CSS API tests"]
  node_a11ytests["Accessibility tests"]
  node_sensortests["Sensor tests"]
  node_aitests["AI API tests"]
  node_manifesttests["App manifest tests"]
  node_allowlisttests["Connection policy tests"]
  node_storagehelper["Storage test helper"]
end

node_contributor(("Test contributor"))
node_browser(("Browser implementation"))
node_results[("WPT results archive")]

node_contributor -->|"authors tests"| node_filetests
node_contributor -->|"authors tests"| node_idbtests
node_contributor -->|"authors tests"| node_cryptotests
node_contributor -->|"authors tests"| node_cookietests
node_contributor -->|"authors tests"| node_hinttests
node_contributor -->|"authors tests"| node_csstests
node_contributor -->|"authors tests"| node_a11ytests
node_contributor -->|"authors tests"| node_sensortests
node_contributor -->|"authors tests"| node_aitests
node_contributor -->|"authors tests"| node_manifesttests
node_contributor -->|"authors tests"| node_allowlisttests
node_filetests -->|"exercise APIs"| node_browser
node_idbtests -->|"exercise APIs"| node_browser
node_buckettests -->|"exercise APIs"| node_browser
node_cryptotests -->|"exercise APIs"| node_browser
node_cookietests -->|"exercise APIs"| node_browser
node_hinttests -->|"exercise APIs"| node_browser
node_csstests -->|"exercise APIs"| node_browser
node_a11ytests -->|"exercise APIs"| node_browser
node_sensortests -->|"exercise APIs"| node_browser
node_aitests -->|"exercise APIs"| node_browser
node_manifesttests -->|"exercise APIs"| node_browser
node_allowlisttests -->|"exercise APIs"| node_browser
node_browser -.->|"results archived"| node_results
node_idbtests -->|"uses resources"| node_idbhelpers
node_buckettests -->|"uses promises"| node_idbhelpers
node_cryptotests -->|"uses utilities"| node_cryptoutils
node_filetests -->|"uses helpers"| node_filehelpers
node_hinttests -->|"requests echo"| node_hintresource
node_filetests -.->|"shares test storage"| node_storagehelper

click node_filetests "https://github.com/web-platform-tests/wpt/tree/master/FileAPI"
click node_filehelpers "https://github.com/web-platform-tests/wpt/tree/master/FileAPI/support"
click node_idbtests "https://github.com/web-platform-tests/wpt/tree/master/IndexedDB"
click node_idbhelpers "https://github.com/web-platform-tests/wpt/tree/master/IndexedDB/resources"
click node_buckettests "https://github.com/web-platform-tests/wpt/blob/master/IndexedDB/storage-buckets.https.any.js"
click node_cryptotests "https://github.com/web-platform-tests/wpt/tree/master/WebCryptoAPI"
click node_cryptoutils "https://github.com/web-platform-tests/wpt/tree/master/WebCryptoAPI/util"
click node_cookietests "https://github.com/web-platform-tests/wpt/tree/master/cookiestore"
click node_hinttests "https://github.com/web-platform-tests/wpt/tree/master/client-hints"
click node_hintresource "https://github.com/web-platform-tests/wpt/blob/master/client-hints/resources/echo-client-hints-received.py"
click node_csstests "https://github.com/web-platform-tests/wpt/tree/master/css/css-properties-values-api"
click node_a11ytests "https://github.com/web-platform-tests/wpt/tree/master/core-aam"
click node_sensortests "https://github.com/web-platform-tests/wpt/tree/master/accelerometer"
click node_aitests "https://github.com/web-platform-tests/wpt/tree/master/ai"
click node_manifesttests "https://github.com/web-platform-tests/wpt/tree/master/appmanifest"
click node_allowlisttests "https://github.com/web-platform-tests/wpt/tree/master/connection-allowlist"
click node_storagehelper "https://github.com/web-platform-tests/wpt/blob/master/common/PrefixedLocalStorage.js"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_filetests,node_filehelpers,node_browser toneBlue
class node_idbtests,node_idbhelpers,node_buckettests,node_results toneAmber
class node_cryptotests,node_cryptoutils toneMint
class node_cookietests,node_hinttests,node_hintresource,node_csstests,node_a11ytests,node_sensortests,node_aitests,node_manifesttests,node_allowlisttests,node_storagehelper toneRose
class node_contributor toneIndigo
```

## Components

### Files and URLs

- [File and URL tests](https://github.com/web-platform-tests/wpt/tree/master/FileAPI): `FileAPI`
- [File test helpers](https://github.com/web-platform-tests/wpt/tree/master/FileAPI/support): `FileAPI/support`

### Persistent storage

- [IndexedDB tests](https://github.com/web-platform-tests/wpt/tree/master/IndexedDB): `IndexedDB`
- [IndexedDB resources](https://github.com/web-platform-tests/wpt/tree/master/IndexedDB/resources): `IndexedDB/resources`
- [Storage bucket tests](https://github.com/web-platform-tests/wpt/blob/master/IndexedDB/storage-buckets.https.any.js): `IndexedDB/storage-buckets.https.any.js`

### Cryptography

- [WebCrypto tests](https://github.com/web-platform-tests/wpt/tree/master/WebCryptoAPI): `WebCryptoAPI`
- [Crypto test utilities](https://github.com/web-platform-tests/wpt/tree/master/WebCryptoAPI/util): `WebCryptoAPI/util`

### Other platform APIs

- [Cookie Store tests](https://github.com/web-platform-tests/wpt/tree/master/cookiestore): `cookiestore`
- [Client hints tests](https://github.com/web-platform-tests/wpt/tree/master/client-hints): `client-hints`
- [Hint echo resource](https://github.com/web-platform-tests/wpt/blob/master/client-hints/resources/echo-client-hints-received.py): `client-hints/resources/echo-client-hints-received.py`
- [CSS API tests](https://github.com/web-platform-tests/wpt/tree/master/css/css-properties-values-api): `css/css-properties-values-api`
- [Accessibility tests](https://github.com/web-platform-tests/wpt/tree/master/core-aam): `core-aam`
- [Sensor tests](https://github.com/web-platform-tests/wpt/tree/master/accelerometer): `accelerometer`
- [AI API tests](https://github.com/web-platform-tests/wpt/tree/master/ai): `ai`
- [App manifest tests](https://github.com/web-platform-tests/wpt/tree/master/appmanifest): `appmanifest`
- [Connection policy tests](https://github.com/web-platform-tests/wpt/tree/master/connection-allowlist): `connection-allowlist`
- [Storage test helper](https://github.com/web-platform-tests/wpt/blob/master/common/PrefixedLocalStorage.js): `common/PrefixedLocalStorage.js`

### Other components

- **Test contributor**
- **Browser implementation**
- **WPT results archive**

## Connections

- Test contributor → File and URL tests: authors tests
- Test contributor → IndexedDB tests: authors tests
- Test contributor → WebCrypto tests: authors tests
- Test contributor → Cookie Store tests: authors tests
- Test contributor → Client hints tests: authors tests
- Test contributor → CSS API tests: authors tests
- Test contributor → Accessibility tests: authors tests
- Test contributor → Sensor tests: authors tests
- Test contributor → AI API tests: authors tests
- Test contributor → App manifest tests: authors tests
- Test contributor → Connection policy tests: authors tests
- File and URL tests → Browser implementation: exercise APIs
- IndexedDB tests → Browser implementation: exercise APIs
- Storage bucket tests → Browser implementation: exercise APIs
- WebCrypto tests → Browser implementation: exercise APIs
- Cookie Store tests → Browser implementation: exercise APIs
- Client hints tests → Browser implementation: exercise APIs
- CSS API tests → Browser implementation: exercise APIs
- Accessibility tests → Browser implementation: exercise APIs
- Sensor tests → Browser implementation: exercise APIs
- AI API tests → Browser implementation: exercise APIs
- App manifest tests → Browser implementation: exercise APIs
- Connection policy tests → Browser implementation: exercise APIs
- Browser implementation → WPT results archive: results archived
- IndexedDB tests → IndexedDB resources: uses resources
- Storage bucket tests → IndexedDB resources: uses promises
- WebCrypto tests → Crypto test utilities: uses utilities
- File and URL tests → File test helpers: uses helpers
- Client hints tests → Hint echo resource: requests echo
- File and URL tests → Storage test helper: shares test storage
