Skip to content
Test suites for Web platform specs — including WHATWG, W3C, and others
HTML JavaScript Python CSS Shell Perl
Branch: master
Clone or download
leonhsl and chromium-wpt-export-bot [webnfc] Implement the algo for validating external types
The spec change:
w3c/web-nfc#474

BUG=520391

Change-Id: If1e4a6513410f3705bec4da7b2cc514c209a3cd9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1978622
Commit-Queue: Leon Han <leon.han@intel.com>
Reviewed-by: Rijubrata Bhaumik <rijubrata.bhaumik@intel.com>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: François Beaufort <beaufort.francois@gmail.com>
Cr-Commit-Position: refs/heads/master@{#727853}
Latest commit 74efe51 Dec 31, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github GitHub Actions: Work around #20700 (#20758) Dec 13, 2019
.well-known Origin policy: update feature policy parsing to match the latest spec Dec 19, 2019
2dcontext Disallow serializing and transferring non-origin-clean ImageBitmap (#… Dec 19, 2019
BackgroundSync [Background Sync] Update WPT tests. Nov 20, 2019
FileAPI [FileAPI] Opt-in to single-page test feature (#19925) Oct 26, 2019
IndexedDB [IndexedDB] Adding web platform test for File object in IndexedDB. Dec 20, 2019
PeriodicBackgroundSync [Periodic Background Sync] Update unregister logic Dec 3, 2019
WebCryptoAPI [WebCryptoAPI] Defer harness completion (#19904) Nov 1, 2019
WebIDL Add WPT test for invalidating WebIDL iterators during forEach Nov 26, 2019
accelerometer [sensor] Upstream sensor layout tests to wpt Sep 18, 2019
accname Update name_test_case_610-manual.html (#19807) Oct 24, 2019
acid Add a reference for Acid2 that should pixel-for-pixel match Mar 7, 2019
ambient-light [sensor] Upstream sensor layout tests to wpt Sep 18, 2019
animation-worklet [AnimationWorklet] De-flake stateful-animator tests Oct 29, 2019
annotation-model Consolidate .gitignore files under the root (#15952) Mar 25, 2019
annotation-protocol Consolidate .gitignore files under the root (#15952) Mar 25, 2019
annotation-vocab Remove annotation-vocab/tools/ruby-rdf/ and its samples (#20114) Nov 12, 2019
apng Add more spec links to META.yml (#12045) Jul 18, 2018
appmanifest Remove the idl_test test_name argument (always 'idl_test setup') (#12406 Aug 13, 2018
audio-output Convert some tests to use `idl_test` (#18677) Aug 27, 2019
background-fetch [Background Fetch] Add web platform tests for match. Mar 22, 2019
battery-status Rename battery-interface-idlharness.https.window.js to idlharness.htt… Nov 4, 2019
beacon Remove toddreifsteck as reviewer for beacon (#19416) Oct 9, 2019
bluetooth Use [RaisesException] for immediate promise rejections in bluetooth Dec 19, 2019
clear-site-data Clear-Site-Data: clients uncontrolled by service workers after storag… Oct 7, 2019
client-hints Implement `Sec-CH-UA-Mobile` Dec 9, 2019
clipboard-apis Blink Clipboard: Implement Raw Clipboard API write. Dec 13, 2019
common Don't assume sync dispatch of iframe load event in tests Nov 24, 2019
compat Always consider gradients of different type different. Dec 17, 2019
compression Mark decompression-corrupt-input.any.js tentative (#20427) Nov 28, 2019
conformance-checkers cc Update messages.json for parent-rp-novalid case Dec 9, 2019
console Convert compat+console+fullscreen+storage+url+xhr to idl_test (#12405) Aug 10, 2018
contacts [Contacts] Support querying contact icons. Nov 4, 2019
content-dpr CSS images to respect Content-DPR Dec 2, 2019
content-security-policy CSP: Parse and report violations from Content-Security-Policy-Report-… Dec 20, 2019
cookie-store Cookie Store: Refactor tests to also work in window context. Dec 2, 2019
cookies Mark external/wpt/cookies/http-state/path-tests.htm as slow test Nov 26, 2019
core-aam Add new tests for Core-AAM: (#17742) Jul 9, 2019
cors CORS/XHR: mark Client Hints tentative Mar 25, 2019
credential-management `CredentialsContainer::IsSameOriginWithAncestors` should ignore `doma… Dec 5, 2019
css Port css-background related composition tests to external Dec 30, 2019
custom-elements Disallow recursive custom element constructions Dec 31, 2019
device-memory Remove inactive reviewers (#14798) Mar 14, 2019
docs Change how wptrunner computes reftests (#20459) Dec 20, 2019
document-policy Add initial document policy tests Nov 29, 2019
dom [AOM] Integrate element reflection with the Accessibility Tree Dec 13, 2019
domparsing HtmlImportsRequestInitiatorLock: Check imports controller existence Dec 18, 2019
domxpath XPath: Do not accept whitespace characters other than #x20, #x9, #xD,… Dec 31, 2019
dpub-aam codespell: Fix typos in the doc Dec 9, 2019
dpub-aria codespell: Fix typos in the doc Dec 9, 2019
editing Make `HTMLEditor::DoInsertHTMLWithContext()` compute new insertion po… Oct 17, 2019
element-timing [ElementTiming] Add simple test for multi-redirect Oct 30, 2019
encoding-detection Do not let X-Content-Type-Options: nosniff affect encoding detection,… Dec 17, 2019
encoding Encoding: TextEncoder/TextDecoder SharedArrayBuffer tests Oct 9, 2019
encrypted-media part 5. Stop incorrectly rejecting promises in EME. Sep 24, 2019
entries-api webkitRelativePath preserves common ancestors (#13988) Nov 9, 2018
event-timing [EventTiming] Fix crossiframe test Dec 20, 2019
eventsource Remove unnecessary idlharness.js include (#18893) Sep 6, 2019
feature-policy Fix allow/sandbox attribute timing issue on browser side Dec 6, 2019
fetch Use HTTP_NOTSAMESITE_ORIGIN for split cache Web Platform Test Dec 23, 2019
fonts Use locally-installed Ahem if available via ahem.css stylesheet. (#19370 Sep 27, 2019
forced-colors-mode Fix lint errors about Ahem usage Sep 10, 2019
fullscreen Fix web-tests that failed with UAv2 same-origin visibility. Oct 28, 2019
gamepad Update gamepad/ reviewers list (#19178) Oct 7, 2019
generic-sensor [sensors] Round off Ambient Light Sensor readouts to the nearest 50 Lux. Oct 14, 2019
geolocation-API Rename nsGeo* files to match the WebIDL interfaces Nov 14, 2019
geolocation-sensor [sensor] Upstream sensor layout tests to wpt Sep 18, 2019
graphics-aam Add more spec links to META.yml (#12045) Jul 18, 2018
gyroscope [sensor] Upstream sensor layout tests to wpt Sep 18, 2019
hr-time Remove toddreifsteck as reviewer for hr-time (#19420) Oct 9, 2019
html-longdesc Fix most remaining "TRAILING WHITESPACE" lint errors (#19847) Oct 23, 2019
html-media-capture Support "capture" attribute in Gecko and expose in GV. Jul 31, 2019
html html: Fix <input type=time> stepUp()-stops-at-border test (#20961) Dec 31, 2019
idle-detection [mojo] Add testing support to BrowserInterfaceBrokerProxy Aug 20, 2019
imagebitmap-renderingcontext Test ImageBitmapRenderingContext has canvas attribute and value is sa… Dec 18, 2019
images Add a logo for wpt-pr-bot (#19863) Oct 24, 2019
import-maps [Import Maps] Migrate Jest-based resolution tests into JSON-based tests Dec 4, 2019
inert Add an extra test to check that inert propagates into Shadow DOM as w… Nov 20, 2019
infrastructure Enable file uploads in web_tests via testdriver-vendor.js. Dec 20, 2019
input-device-capabilities Convert Input Device Capabilities IDL test to use idl_test (#12576) Aug 27, 2018
input-events Convert manual test for input events to use testdriver (#19865) Nov 11, 2019
installedapp [InstalledApp] Move & update some of the web tests to wpt. Nov 13, 2019
interfaces Update interfaces/webaudio.idl (#20869) Dec 30, 2019
intersection-observer [IntersectionObserver] Check containing block chain for stop node Nov 21, 2019
js [js] Remove invalid tests for JavaScript built-ins Mar 27, 2019
keyboard-lock Remove the idl_test test_name argument (always 'idl_test setup') (#12406 Aug 13, 2018
keyboard-map Remove the idl_test test_name argument (always 'idl_test setup') (#12406 Aug 13, 2018
kv-storage Expose kv-storage built-in module only on SecureContexts Aug 29, 2019
largest-contentful-paint [LargestContentfulPaint] Fix idlharness test Dec 16, 2019
layout-instability [LayoutInstability] Fix flaky tests Dec 27, 2019
lifecycle Remove redundant checks in freezing/pausing context. Sep 17, 2019
loading LazyLoad: add tests for dynamically setting loading Dec 25, 2019
longtask-timing [Longtasks] Ship the buffered flag Dec 11, 2019
magnetometer [sensor] Upstream sensor layout tests to wpt Sep 18, 2019
mathml [mathml] Use ASCII case-insensitiveness to validate mathsize and dir (#… Dec 17, 2019
measure-memory Initial implementation of performance.measureMemory API Oct 7, 2019
media-capabilities Implement MediaCapabilities: spatialRendering decoding query Dec 3, 2019
media-playback-quality Create media-playback-quality/ directory and idlharness.js test (#18168) Jul 30, 2019
media-source part1 : remove usage of 'corruptedVideoFrames' in tests. Dec 13, 2019
media Test video resizing during playback (#19030) Nov 28, 2019
mediacapture-depth Convert some tests to use `idl_test` (#18677) Aug 27, 2019
mediacapture-fromelement Remove Chrome-specific dependency and modernize. Dec 18, 2018
mediacapture-image [mediacapture-image] Correct failure reporting (#20234) Nov 14, 2019
mediacapture-record Update tests for new MediaRecorder mimetype-at-start-event behavior. Nov 8, 2019
mediacapture-streams Don't assume media element's canplay task runs immediately. Nov 14, 2019
mediasession P2: Implement MediaMetadata API. Oct 11, 2019
mimesniff Fetch: Content-Type parsing Nov 27, 2018
mixed-content Replace most instances of "Web Platform Tests" (#20160) Nov 8, 2019
mst-content-hint Enable the "Content hint" attribute of MediaStreamTrack Aug 16, 2018
native-file-system [Native File System] Writable File Stream Dec 23, 2019
navigation-timing [navigation-timing] Opt-in to single-page test feature (#19914) Oct 26, 2019
netinfo Fix netinfo Web Platform Test Apr 3, 2019
network-error-logging Add signed exchange reporting error test cases Feb 22, 2019
notifications Remove inactive reviewers (#14798) Mar 14, 2019
offscreen-canvas Add SecurityError tests to offscreen-canvas/convert-to-blob Dec 19, 2019
old-tests Try less trailing newlines Aug 6, 2018
orientation-event Update Device Orientation Event spec link (#18946) Sep 10, 2019
orientation-sensor [sensor] Upstream sensor layout tests to wpt Sep 18, 2019
origin-policy Origin policy: update feature policy parsing to match the latest spec Dec 19, 2019
page-visibility Remove toddreifsteck as reviewer for page-visibility (#19422) Oct 9, 2019
paint-timing Add buffered flag tests for ResourceTiming and PaintTiming Jul 18, 2019
payment-handler Reland "[Payments] Enable shipping and contact info delegation [4/5]" Sep 30, 2019
payment-method-basic-card Update payment-method-basic-card/billing-address-is-null-manual.https… Nov 18, 2019
payment-method-id Remove inactive reviewers (#14798) Mar 14, 2019
payment-request Rename existing -crash tests that may not work as crashtests Dec 12, 2019
performance-timeline Remove toddreifsteck as reviewer for perf timeline (#19423) Oct 9, 2019
permissions [Background Sync] Add WPT for periodic-background-sync permission. Dec 5, 2019
picture-in-picture [Picture-in-Picture] Remove shadow DOM support for pseudo class Apr 30, 2019
pointerevents Move the pointerevents extension tests to the main Nov 18, 2019
pointerlock Convert tabs to spaces in directories with few lint errors (#19824) Oct 22, 2019
portals Portals: Block element.focus Dec 16, 2019
preload [preload] Opt-in to single-page test feature (#20031) Oct 31, 2019
presentation-api [Presentation API] Fix getAvailability tests. May 1, 2019
printing Ignore print calls for a detached document. Jul 3, 2019
priority-hints Add more suggested reviewers for Priority Hints Aug 7, 2018
proximity Modify ProximitySensor tests (#19214) Sep 27, 2019
push-api Rename idlharness tests for [SecureContext] APIs to .https. (#12353) Aug 8, 2018
quirks Don't let the "percentages-can-resolve-against-ancestor" quirk apply … Nov 23, 2019
referrer-policy Replace most instances of "Web Platform Tests" (#20160) Nov 8, 2019
remote-playback Remove the idl_test test_name argument (always 'idl_test setup') (#12406 Aug 13, 2018
reporting Adding toJSON to report and report_body Nov 11, 2019
requestidlecallback Convert some tests to use `idl_test` (#18677) Aug 27, 2019
resize-observer Update ResizeObserver tests on <img>. Jul 3, 2019
resource-timing [ResourceTiming] Fix flakiness in workerStart test Dec 17, 2019
resources [webnfc] Implement the algo for validating external types Dec 31, 2019
screen-capture Require user gesture for getDisplayMedia(). Nov 20, 2019
screen-orientation [Screen Orientation] Fix: add requestFullscreen to onchange-event-sub… Nov 15, 2019
screen_enumeration Fugu: Move getScreens() onto the Window interface Dec 9, 2019
scroll-animations Tick animation timelines individually. Dec 18, 2019
scroll-to-text-fragment [scroll-to-text-fragment] Apply :target CSS pseudo-class to match. Dec 19, 2019
secure-contexts Rewrite secure-contexts/idlharness.any.js to use idl_test (#12386) Aug 9, 2018
selection Don't bail out when serializing a range starting at the end of an ele… Aug 20, 2019
serial [serial] Implement feature policy checks Feb 8, 2019
server-timing [server-timing] Opt-in to single-page test feature (#19912) Oct 26, 2019
service-workers Service worker: updating ready tests (#20655) Dec 20, 2019
shadow-dom part 2. Fix the innerHTML setter for shadow DOM cases in XML to suppl… Nov 21, 2019
shape-detection Rename traits and mojo directory in //skia/public Jul 30, 2019
signed-exchange Update SXG version in wpt/signed-exchange/README.md Sep 25, 2019
sms SMS Receiver: Test for detached iframe Dec 9, 2019
speech-api [speech-api] use `assert_precondition` to avoid spurious failure (#20173 Nov 8, 2019
std-toast Enable persistent toasts by adding functionality for duration Infinity Jul 25, 2019
storage-access-api [storage-access-api] expand on META.yml (#20164) Nov 28, 2019
storage part 3. Stop incorrectly rejecting promises in storage manager. Sep 24, 2019
streams Fix the order of operations in pipeTo Dec 11, 2019
subresource-integrity Test for member name clashes in idlharness (#12231) Sep 26, 2019
svg-aam codespell: Fix typos in the doc Dec 9, 2019
svg Use LayoutUnit for SVGImage's "container size" Dec 17, 2019
timing-entrytypes-registry Remove toddreifsteck as reviewer for timing entrytypes (#19417) Oct 9, 2019
tools make dom.serviceWorkers.parent_intercept true by default Dec 27, 2019
touch-events Rename "support" files Jul 15, 2019
trusted-types [Trusted Types] Support 'allow-duplicates' in trusted-types directive. Dec 11, 2019
uievents Update mousedown targets when native anonymous content is recreated Nov 11, 2019
upgrade-insecure-requests Replace most instances of "Web Platform Tests" (#20160) Nov 8, 2019
url Support IPv6 literals in KURL::SetHostAndPort Oct 30, 2019
user-timing Remove toddreifsteck as reviewer for user-timing (#19419) Oct 9, 2019
vibration [vibration] use `assert_precondition` to avoid spurious pass Nov 8, 2019
visual-viewport update .ini path and viewport-no-resize-event-on-overflow-recalc.html… Nov 20, 2019
wai-aria codespell: Fix typos in the doc Dec 9, 2019
wake-lock wake lock: Expand IDL harness tests (#19826) Oct 22, 2019
wasm fixup! Update wasm-module-builder.js from V8. Dec 23, 2019
web-animations [web-animations] Fix test in setting-the-playbackrate-of-an-animation… Dec 30, 2019
web-locks [web-locks] Improve test determinism (#20244) Nov 14, 2019
web-nfc [webnfc] Implement the algo for validating external types Dec 31, 2019
web-share make share-image-manual tentative, uses files member (#18983) Oct 19, 2019
webaudio [Gecko Bug 1592781] use promise_test() to schedule TaskRunner Tasks (#… Dec 16, 2019
webauthn Implement WebAuthn basic test using testdriver API (#20162) Dec 4, 2019
webdriver Delete test_valid_but_unmatchable_key webdriver test (#17795) Dec 11, 2019
webgl Test for member name clashes in idlharness (#12231) Sep 26, 2019
webgpu Roll WebGPU CTS Dec 20, 2019
webmessaging [webmessaging] Opt-in to single-page test feature (#19910) Oct 26, 2019
webmidi Rename idlharness.window.js to idlharness.https.window.js (#13634) Oct 20, 2018
webrtc-extensions Rename jitterBufferDelayhint to playoutDelayHint in RTCRtpReceiver. Oct 22, 2019
webrtc-identity Add webrtc-identity IDL and test (#19399) Sep 30, 2019
webrtc-quic Reland "Disallows reusing RTCIceTransport." May 3, 2019
webrtc-stats Make webrtc-stats idlharness.js test depend on webrtc (#14983) Jan 24, 2019
webrtc-svc Add API for controlling SVC encoding. Jul 29, 2019
webrtc Use greater than equal in checkMute in RTCRtpTransceiver.https.html Dec 21, 2019
websockets [websockets] Correct references Nov 9, 2019
webstorage Update test for Storage [[Set]]. Apr 15, 2019
webusb [usb] Allow device-scope control transfers when unconfigured Oct 2, 2019
webvr Restructure WebXR & WebVR Feature Policy tests May 13, 2019
webvtt [WebVTT] Improvements for matching inline VTT selectors Nov 15, 2019
webxr Add a way to signal AR support through FakeXRDeviceInit Dec 20, 2019
workers Add a runtime flag to enforce strict MIME type checks for workers. Dec 9, 2019
worklets Worklet: Reject addModule() with script's error to rethrow if available Oct 8, 2019
x-frame-options Fix a race condition in WPT related to postMessage May 22, 2019
xhr Mark idlharness tests for fetch/xhr as slow Nov 27, 2019
xslt Make XSLT IDL source and idlharness.js test tentative (#17917) Jul 20, 2019
.azure-pipelines.yml Reland "Update Safari Technology Preview to 97" (#20888) Dec 20, 2019
.codecov.yml Add codecov configutation. (#5623) Apr 24, 2017
.gitattributes Disable EOL conversion for all of WPT May 22, 2019
.gitignore Add submissions/ to .gitignore Apr 26, 2019
.mailmap Add Tess to .mailmap Feb 12, 2019
.pyup.yml Pin Sphinx to a release that works on Py2; add all requirements.txt t… Oct 26, 2019
.taskcluster.yml Allow triggering CI runs in servo Dec 9, 2019
CODEOWNERS Add /tools/third_party to CODEOWNERS Feb 5, 2019
CONTRIBUTING.md Name and link to the license from CONTRIBUTING.md (#20092) Nov 8, 2019
LICENSE.md Use the The 3-Clause BSD License from opensource.org (#11191) Apr 25, 2019
README.md Add taskcluster CI badge (#20586) Dec 3, 2019
lint.whitelist Allow existing crashtests using testharness.js for now Dec 13, 2019
testharness_runner.html Add testharness_runner file here for now. Apr 17, 2015
update-built-tests.sh Correct a path in update-built-tests.sh. Oct 25, 2019
wpt Add a wpt command as a frontend to all cli interactions. Jul 26, 2017
wpt.py Document why the top-level wpt.py exists (#20117) Nov 6, 2019

README.md

The web-platform-tests Project

Taskcluster CI Status

The web-platform-tests Project is a W3C-coordinated attempt to build a cross-browser test suite for the Web-platform stack. Writing tests in a way that allows them to be run in all browsers gives browser projects confidence that they are shipping software that is compatible with other implementations, and that later implementations will be compatible with their implementations. This in turn gives Web authors/developers confidence that they can actually rely on the Web platform to deliver on the promise of working across browsers and devices without needing extra layers of abstraction to paper over the gaps left by specification editors and implementors.

The most important sources of information and activity are:

  • github.com/web-platform-tests/wpt: the canonical location of the project's source code revision history and the discussion forum for changes to the code
  • web-platform-tests.org: the documentation website; details how to set up the project, how to write tests, how to give and receive peer review, how to serve as an administrator, and more
  • wpt.live: a public deployment of the test suite, allowing anyone to run the tests by visiting from an Internet-enabled browser of their choice
  • wpt.fyi: an archive of test results collected from an array of web browsers on a regular basis
  • Real-time chat room: the IRC chat room named #testing on irc.w3.org; includes participants located around the world, but busiest during the European working day; all discussion is archived here
  • Mailing list: a public and low-traffic discussion list

If you'd like clarification about anything, don't hesitate to ask in the chat room or on the mailing list.

Setting Up the Repo

Clone or otherwise get https://github.com/web-platform-tests/wpt.

Note: because of the frequent creation and deletion of branches in this repo, it is recommended to "prune" stale branches when fetching updates, i.e. use git pull --prune (or git fetch -p && git merge).

Running the Tests

See the documentation website and in particular the system setup for running tests locally.

Command Line Tools

The wpt command provides a frontend to a variety of tools for working with and running web-platform-tests. Some of the most useful commands are:

  • wpt serve - For starting the wpt http server
  • wpt run - For running tests in a browser
  • wpt lint - For running the lint against all tests
  • wpt manifest - For updating or generating a MANIFEST.json test manifest
  • wpt install - For installing the latest release of a browser or webdriver server on the local machine.

Windows Notes

On Windows wpt commands must be prefixed with python or the path to the python binary (if python is not in your %PATH%).

python wpt [command]

Alternatively, you may also use Bash on Ubuntu on Windows in the Windows 10 Anniversary Update build, then access your windows partition from there to launch wpt commands.

Please make sure git and your text editor do not automatically convert line endings, as it will cause lint errors. For git, please set git config core.autocrlf false in your working tree.

Publication

The master branch is automatically synced to http://w3c-test.org/.

Pull requests are automatically mirrored except those that modify sensitive resources (such as .py). The latter require someone with merge access to comment with "LGTM" or "w3c-test:mirror" to indicate the pull request has been checked.

Branches

In the vast majority of cases the only upstream branch that you should need to care about is master. If you see other branches in the repository, you can generally safely ignore them.

Contributing

Save the Web, Write Some Tests!

Absolutely everyone is welcome to contribute to test development. No test is too small or too simple, especially if it corresponds to something for which you've noted an interoperability bug in a browser.

The way to contribute is just as usual:

  • Fork this repository (and make sure you're still relatively in sync with it if you forked a while ago).
  • Create a branch for your changes: git checkout -b topic.
  • Make your changes.
  • Run ./wpt lint as described above.
  • Commit locally and push that to your repo.
  • Create a pull request based on the above.

Issues with web-platform-tests

If you spot an issue with a test and are not comfortable providing a pull request per above to fix it, please file a new issue. Thank you!

You can’t perform that action at this time.