A user account is required in order to edit this wiki, but we've had to disable public user registrations due to spam.

To request an account, ask an autoconfirmed user on Chat (such as one of these permanent autoconfirmed members).

Testsuite: Difference between revisions

From WHATWG Wiki
Jump to navigation Jump to search
(Test metadata and automation)
(Update testsuite page, fix redirecting links)
 
(21 intermediate revisions by 11 users not shown)
Line 1: Line 1:
Existing tests URI: http://dev.w3.org/html5/tests/
Tests for WHATWG specifications are maintained in the [http://github.com/w3c/web-platform-tests web-platform-tests] repository, along with those for many other web-platform features, including all those maintained by W3C.


== Requirements ==
Tests are contributed by community members, including implementers and specification editors. Different specifications are accompanied by testsuites of varying breadth and depth.


* Each test needs a "reviewed" marker of some sort
In order to contribute tests to the testsuite for a WHATWG standard, follow the instructions on http://web-platform-tests.org/.
* It must be easy to find tests where the spec has changed under them
* The barrier to contribution must be as low as possible
* Testcases should have somewhat stable URIs
* If test can be done using JavaScript preferably require it to be in JavaScript so engines can be more efficiently tested (i.e. automated).
* It must be easy to review tests
* Standardize a test format?


== Non-requirements ==
== Old lists of tests that maybe have not been ported to web-platform-tests? ==


* There does not need to be a single consistent test harness for the whole of HTML5. (When sections can be tested in isolation, each section should use a test harness that is suited to that section's testing requirements. E.g. there is little value in fitting canvas tests and parser tests into the same framework, and it may add a lot of complexity.)
People should prune this list...


== Tests metadata ==
* [https://trac.webkit.org/browser/trunk/LayoutTests (Some of?) WebKit's tests]
 
* [[Testsuite/Mozilla]]
Having a standardized way of specifying tests metadata could be helpful. In particular, they should contain information about:
* [https://dxr.mozilla.org/mozilla-central/search?q=file%3Areftest.list Some of Mozilla's reftests]
* What part of the specification the test is related to.
* [https://philip.html5.org/tests/canvas/suite/tests/ Philip's canvas tests]
* Requirements for running the tests, that could be expressed as flags.
 
The CSS Test suite defines a format for specifying test metadata that could be used: http://wiki.csswg.org/test/css2.1/format.
 
Testcase metadata sample (from http://samples.msdn.microsoft.com/IETestCenter/HTML5/DOMStorage/localStorage_clear.htm):
    <head>
        <title>HTML 5 Test Suite: localStorage API - clear()</title>
        <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
        <link rel="help" href="http://www.w3.org/html/wg/html5/#structured-client-side-storage" />
        <meta name="assert" content="5.10.1.2 - The clear() method must atomically cause the list associated with the object to be emptied of all key/value pairs, if there are any." />
    </head>
 
== Automation ==
 
Test cases should be able to run automatically whenever possible for several reasons:
* No need to run the test manually, which can saves time and produce more reliable results.
* Browser vendors can integrate the test in their automated regression harnesses.
 
The [http://www.browsertests.org Browser Tests project] uses 3 formats that could be used for automated tests. They are based on automated tests from WebKit and Mozilla and are documented here: http://code.google.com/p/browsertests/wiki/StartPage#Tests_Format
 
== Existing tests ==
* [http://samples.msdn.microsoft.com/ietestcenter/ IE's tests]
* [http://tc.labs.opera.com/html/ Opera's tests]
* [http://trac.webkit.org/browser/trunk/LayoutTests (Some of?) WebKit's tests]
* [http://mxr.mozilla.org/mozilla-central/find?string=test_.*%28html|svg%29%24&tree=mozilla-central&hint= Some of Mozilla's mochitests]
* [http://mxr.mozilla.org/mozilla-central/find?string=reftest.list Some of Mozilla's reftests]
* [http://philip.html5.org/tests/canvas/suite/tests/ Philip's canvas tests]
* [http://hixie.ch/tests/adhoc/html/ Hixie's ad-hoc tests]
* [http://hixie.ch/tests/adhoc/html/ Hixie's ad-hoc tests]
* [http://lachy.id.au/dev/markup/tests/html5/ Lachlan's tests]
* [http://lachy.id.au/dev/markup/tests/html5/ Lachlan's tests]
* [http://hg.gsnedders.com/php-html-5-direct/file/tip/tests/numbersTest gsnedders' number parsing tests]
* [https://bitbucket.org/gsnedders/php-html-5-direct/src/8c27462f5f410319011f30ce7151ed1d6f17b800/tests/numbersTest?at=default&fileviewer=file-view-default gsnedders' number parsing tests]
* [http://simon.html5.org/test/html/ zcorpan's tests]
* [https://simon.html5.org/test/html/ zcorpan's tests]
* [http://code.google.com/p/html5lib/source/browse/trunk/testdata/ html5lib tests]
* [https://hasather.net/test/html/ David Håsäther's tests]
* [http://hsivonen.iki.fi/test/moz/video-selection/ hsivonen's video tests]
* [https://mathias.html5.org/tests/ Mathias’s tests]
* [https://hsivonen.com/test/moz/video-selection/ hsivonen's video tests]
* [https://www.w3.org/DOM/Test/ Document Object Model (DOM) Conformance Test Suites]
* <del>[https://dev.w3.org/cvsweb/2006/webapi/WindowTestSuite/ Window test suite]</del> all checked and submitted ―[[User:Ms2ger|Ms2ger]] ([[User talk:Ms2ger|talk]]) 16:17, 29 February 2016 (UTC)

Latest revision as of 12:34, 24 August 2017

Tests for WHATWG specifications are maintained in the web-platform-tests repository, along with those for many other web-platform features, including all those maintained by W3C.

Tests are contributed by community members, including implementers and specification editors. Different specifications are accompanied by testsuites of varying breadth and depth.

In order to contribute tests to the testsuite for a WHATWG standard, follow the instructions on http://web-platform-tests.org/.

Old lists of tests that maybe have not been ported to web-platform-tests?

People should prune this list...