Test Suite Index

This page lists a few test documents and test scenarios for the W3C Markup Validator make sure everything works fine after making changes to the validator. If you can think of interesting test cases that aren't on this page, let us know.

This test suite is work in progress. Please submit any issue or idea to the public mailing-list public-qa-dev@w3.org

do not edit this page, it is automatically generated from the validator's automated test suite. If you want to add tests, edit the test suite's catalog instead.

  1. Valid Documents
  2. Invalid Documents
  3. Docs that should be Well Formed
  4. Document Encoding Tests
  5. Error conditions & strange cases
  6. Test for specific output
  7. Non-Automated tests

Valid Documents

Document types support

HTML 2.0 Document Type support test

validate - with v.w.o - view: Valid HTML 2.0 sample document.

HTML 2.0 Document Type support test

validate - with v.w.o - view: Valid HTML 2.0 Strict sample document.

HTML 4.0 Document Type support test

validate - with v.w.o - view: Valid HTML 4.0 Strict sample document.

HTML 4.0 Transitional Document Type support test

validate - with v.w.o - view: Valid HTML 4.0 Transitional sample document.

HTML 4.0 Frameset Document Type support test

validate - with v.w.o - view: Valid HTML 4.0 Frameset sample document.

HTML 4.01 Strict Document Type support test

validate - with v.w.o - view: Valid HTML 4.01 Strict sample document.

HTML 4.01 Transitional Document Type support test

validate - with v.w.o - view: Valid HTML 4.01 Transitional sample document - (from the HTML 4.01 PR)

HTML 4.01 Transitional (w/ iframe) Document Type support test

validate - with v.w.o - view: Valid HTML 4.01 Transitional sample document. - with iframe element (test for

HTML5 support test

validate - with v.w.o - view: HTML5 sample document.

ISO-HTML Document Type support test

validate - with v.w.o - view: Valid ISO-HTML (aka ISO/IEC 15445:2000) sample document.

XHTML 1.0 Strict Document Type support test

validate - with v.w.o - view: Valid XHTML 1.0 Strict sample document

XHTML 1.0 Strict Document Type support test

validate - with v.w.o - view: Valid XHTML 1.0 Strict (from XHTML Spec) sample document.

XHTML Basic 1.0 Document Type support test

validate - with v.w.o - view: Valid XHTML Basic 1.0 sample document.

XHTML Basic 1.1 Document Type support test

validate - with v.w.o - view: Valid XHTML Basic 1.1 sample document.

XHTML Basic 1.1 (revised) Document Type support test

validate - with v.w.o - view: W3C home page as XHTML 1.1 Basic. Should be valid but may not validate with the old REC versions of the DTD (would not like the class and style attributes)

XHTML MP 1.2 Document Type support test

validate - with v.w.o - view: XHTML MP 1.2

XHTML 1.1 Document Type support test

validate - with v.w.o - view: XHTML 1.1

XHTML+MathML2 Document Type support test

validate - with v.w.o - view: Valid XHTML/MathML2 sample document (with FPI)

MathML 2.0 Document Type support test

validate - with v.w.o - view: Valid MathML 2.0 minimal test document

XHTML 1.1 (as application/xhtml+xml) Document Type support test

validate - with v.w.o - view: Valid XHTML 1.1 sample document, served as application/xhtml+xml

SMIL 1.0 Document Type support test

validate - with v.w.o - view: Valid SMIL 1.0 minimal document

SMIL 2.0 Document Type support test

validate - with v.w.o - view: Valid SMIL 2.0 sample document.

SMIL 2.1 Document Type support test

validate - with v.w.o - view: Valid SMIL 2.1 sample document.

SMIL 2.1 Mobile Document Type support test

validate - with v.w.o - view: Valid SMIL 2.1 Mobile sample document.

XHTML + MathML + SVG Document Type support test

validate - with v.w.o - view: Valid XHTML + MathML + SVG sample document (from the 9 August 2002 WD)

XHTML Print 1.0 Document Type support test

validate - with v.w.o - view: Valid XHTML-Print sample document.

SVG 1.0 Document Type support test

validate - with v.w.o - view: Valid SVG 1.0 Rec. minimal document

SVG 1.1 Document Type support test

validate - with v.w.o - view: Valid SVG 1.1 Rec. minimal document

SVG 1.1 Tiny Document Type support test

validate - with v.w.o - view: Valid SVG Tiny 1.1 sample document.

XHTML + RDFa Document Type support test

validate - with v.w.o - view: Valid XHTML + RDFa sample document.

Document types outside the main catalogue

HTML4.0 plus blink (Custom DTD) Type support test

validate - with v.w.o - view: HTML4.0 plus blink ("Custom" SGML DTD)

RDDL (with FPI) Document Type support test

validate - with v.w.o - view: RDDL (with FPI)

RDDL (SI only) Document Type support test

validate - with v.w.o - view: RDDL (no FPI)

MusicXML Document Type support test

validate - with v.w.o - view: sample MusicXML, a non-catalogued XML based document type. (also test for

Valid Doctypeless Documents

(control) test for validation of SVG 1.0 with Doctype

validate - with v.w.o - view: Valid SVG 1.0, using a DOCTYPE

Test for validation of Doctype-less SVG 1.0

validate - with v.w.o - view: Valid SVG 1.0, but no declared DOCTYPE. Version attribute present for auto-detection

(control) test for validation of SVG 1.1 with Doctype

validate - with v.w.o - view: Valid SVG 1.1, using a DOCTYPE

Test for validation of Doctype-less SVG 1.1

validate - with v.w.o - view: Valid SVG 1.1, no declared DOCTYPE. Version attribute present for auto-detection.

(control) test for validation of SVG 1.1 Basic with Doctype

validate - with v.w.o - view: Valid SVG Basic 1.1, using a DOCTYPE (test currently fails because of issues in the DTD)

Test for validation of Doctype-less SVG 1.1 Basic

validate - with v.w.o - view: Valid SVG Basic 1.1, no declared DOCTYPE. Version and baseProfile attributes present for auto-detection. (test currently fails because of issues in the DTD)

(control) test for validation of SVG 1.1 Tiny with Doctype

validate - with v.w.o - view: Valid SVG Tiny 1.1, using a DOCTYPE

Test for validation of Doctype-less SVG 1.1 Tiny

validate - with v.w.o - view: Valid SVG Tiny 1.1, no declared DOCTYPE. Version and baseProfile attributes present for auto-detection.

Test for validation of SVG 1.1 without a version attribute, but with a DOCTYPE

validate - with v.w.o - view: Valid SVG 1.1, using a DOCTYPE. No version attribute (optional). Should use info given by doctype.

Test for validation of SVG 1.0 without a version attribute, but with a DOCTYPE

validate - with v.w.o - view: Valid SVG 1.0, using a DOCTYPE. No version attribute (optional). Should use info given by doctype.

Test for validation of SVG with neither a version attribute nor DOCTYPE

validate - with v.w.o - view: SVG with neither DOCTYPE nor version attribute. The validator may use a default.

Valid Documents, with Warnings

Test document with reference to a non-existing ID

validate - with v.w.o - view: Reference to a non-existing ID (opensp message type X, See

Test for warnings about non-SGML character(s)

validate - with v.w.o - view: Non-SGML Chars

Test for warning about ampersand as data (in SGML)

validate - with v.w.o - view: HTML 4.01 Document with Ampersand as data

Test for warning in case of ambiguous parse mode

validate - with v.w.o - view: document served as

Test of warning in case of FPI/SI doctype mismatch (XHTML1)

validate - with v.w.o - view: FPI/SI doctype declaration mismatch (system Id refers to a 404)

Test of warning in case of FPI/SI doctype mismatch (HTML4)

validate - with v.w.o - view: FPI/SI doctype declaration mismatch (html 4 doc with system Id refers to xhtml)

Test of warning in case of FPI case mismatch in doctype

validate - with v.w.o - view: FPI/SI doctype declaration mismatch (system Id is OK but FPI has wrong case)

Test of warning for the usage of shorttag constructs

validate - with v.w.o - view: sample HTML 4 document using the (valid, but problematic) shorttags features

Test for warning output from HTML5 parser

validate - with v.w.o - view: sample HTML5 document using a construct that should pass checking, with a warning output.

Valid XHTML 1.0 documents not conforming to HTML compatibility Guidelines

Test of warning for non-HTML compatible XHTML document (C1)

validate - with v.w.o - view: C1: XML Declaration

Test of warning for non-HTML compatible XHTML document (C2)

validate - with v.w.o - view: C2: empty elements and minimized form

Test of warning for non-HTML compatible XHTML document (C3)

validate - with v.w.o - view: C3: Element Minimization and Empty Element Content

Valid Documents served with a wrong media type

Test of warning for HTML 4.01 served with wrong media type

validate - with v.w.o - view: HTML 4.01 Strict served with an XHTML mime type. This should fail validation since the media type forces the XML parsing mode

Test of warning for SVG served with wrong media type

validate - with v.w.o - view: SVG 1.0 Rec. minimal document served as text/html. This may pass validation with a warning as text/html will not trigger an unambiguous parsing mode, and doctype will prevail. (is that wrong?)

Test of warning for MathML served with wrong media type

validate - with v.w.o - view: MathML 2.0 as text/html This may pass validation with a warning as text/html will not trigger an unambiguous parsing mode, and doctype will prevail. (is that wrong?)

Bug Regression Tests: Valid documents

Regression test: non-unix newlines

validate - with v.w.o - view: XHTML+Math+SVG document with non-unix newlines, (See

Regression test: named entitles on a line with colons and numbers

validate - with v.w.o - view: XHTML with named entities on a line with colons and numbers, caused bogus error report in validator 0.8.0 (See

Invalid Documents

Miscellaneous invalid docs

XHTML1, bogus element (foo element not in DTD)

validate - with v.w.o - view: XHTML1, bogus element (foo element not in DTD)

XHTML1, bogus attribute

validate - with v.w.o - view: XHTML1, bogus attribute

Testing fuzzy matching: typos in attribute and element, and wrong-cased attribute and element.

validate - with v.w.o - view: Testing fuzzy matching: typos in attribute and element, and wrong-cased attribute and element.

HTML5 document with tokenizer error (precise locator)

validate - with v.w.o - view: HTML5 document with tokenizer error (precise locator)

HTML5 document with Tree builder (range locator)

validate - with v.w.o - view: HTML5 document with Tree builder (range locator)

HTML5 document with bogus attribute (should have an error explanation)

validate - with v.w.o - view: HTML5 document with bogus attribute (should have an error explanation)

XHTML1, bogus element (uppercase A element not in DTD), tends to cascade errors about each attribute

validate - with v.w.o - view: XHTML1, bogus element (uppercase A element not in DTD), tends to cascade errors about each attribute

us-ascii xhtml document with a latin1 character

validate - with v.w.o - view: us-ascii xhtml document with a latin1 character

Invalid document (img without alt, invalid

validate - with v.w.o - view: Invalid document (img without alt, invalid

invalid frames document (noframes in forbidden location). Also test for absence of newlines

validate - with v.w.o - view: invalid frames document (noframes in forbidden location). Also test for absence of newlines

HTML 4.01 Strict - with iframe element (test for

validate - with v.w.o - view: HTML 4.01 Strict - with iframe element (test for

XHTML1, blank first line (

validate - with v.w.o - view: XHTML1, blank first line (

Bug

validate - with v.w.o - view: Bug

XHTML with bogus XML Decl, served as application/xhtml+xml (missing final "?")

validate - with v.w.o - view: XHTML with bogus XML Decl, served as application/xhtml+xml (missing final "?")

XHTML with bogus XML Decl, served as text/html (missing final "?")

validate - with v.w.o - view: XHTML with bogus XML Decl, served as text/html (missing final "?")

bogus FPI #1: lowercase "doctype".

validate - with v.w.o - view: bogus FPI #1: lowercase "doctype".

SMIL 2.0 with bogus xmlns and missing space between attributes

validate - with v.w.o - view: SMIL 2.0 with bogus xmlns and missing space between attributes

SMIL 2.0 with bogus xmlns, xml ill-formedness and bogus elements (used to test sorting of errors)

validate - with v.w.o - view: SMIL 2.0 with bogus xmlns, xml ill-formedness and bogus elements (used to test sorting of errors)

XHTML 1.0 missing space between attributes (

validate - with v.w.o - view: XHTML 1.0 missing space between attributes (

Missing Doctype

XHTML, no DOCTYPE, no xmlns (thus invalid)

validate - with v.w.o - view: XHTML, no DOCTYPE, no xmlns (thus invalid)

XHTML, no DOCTYPE, has xmlns (served as application/xhtml+xml)

validate - with v.w.o - view: XHTML, no DOCTYPE, has xmlns (served as application/xhtml+xml)

XHTML, no DOCTYPE, has xmlns (served as application/xhtml+xml)

validate - with v.w.o - view: XHTML, no DOCTYPE, has xmlns (served as application/xhtml+xml)

XML, no DOCTYPE, not well-formed (marked as "invalid XML" - FIXME should be reworded)

validate - with v.w.o - view: XML, no DOCTYPE, not well-formed (marked as "invalid XML" - FIXME should be reworded)

SGML-ish document without html root. Served as text/html. No DOCTYPE. Correct SGML syntax. Would pass as well-formed XML if it were XML...

validate - with v.w.o - view: SGML-ish document without html root. Served as text/html. No DOCTYPE. Correct SGML syntax. Would pass as well-formed XML if it were XML...

SGML-ish document without html root. Served as text/html. No DOCTYPE. Bogus SGML syntax.

validate - with v.w.o - view: SGML-ish document without html root. Served as text/html. No DOCTYPE. Bogus SGML syntax.

DTD-Valid but not conformant

XHTML 1.0 Strict missing xmlns attribute (valid)

validate - with v.w.o - view: XHTML 1.0 Strict missing xmlns attribute (valid)

Documents that have an invalid/unknown FPI, which should get public/system identifier mismatch warnings (W26)

bogus FPI #2: HTML 4.01 "Strict"

validate - with v.w.o - view: bogus FPI #2: HTML 4.01 "Strict"

bogus FPI #3: XHTML 1.1 "Strict"

validate - with v.w.o - view: bogus FPI #3: XHTML 1.1 "Strict"

Docs that should be Well Formed

Basic XML document, well formed. No doctype. Currently checked only for xmlwf. Passes.

validate - with v.w.o - view: Basic XML document, well formed. No doctype. Currently checked only for xmlwf. Passes.

XML output from OpenOffice 5.2 ("Build/Tag number OpenOffice605"), many namespaces. Currently checked only for xmlwf. Passes.

validate - with v.w.o - view: XML output from OpenOffice 5.2 ("Build/Tag number OpenOffice605"), many namespaces. Currently checked only for xmlwf. Passes.

Very minimal SVG document, no document type. Currently checked only for xmlwf. Passes.

validate - with v.w.o - view: Very minimal SVG document, no document type. Currently checked only for xmlwf. Passes.

XHTML document without doctype, served as XML. Fallback to XHTML 1.0, and invalid.

validate - with v.w.o - view: XHTML document without doctype, served as XML. Fallback to XHTML 1.0, and invalid.

Document Encoding Tests

Various Encodings

iso-2022-jp encoded document

validate - with v.w.o - view: iso-2022-jp encoded document

windows-1250 encoded document (Slovenian)

validate - with v.w.o - view: windows-1250 encoded document (Slovenian)

Another windows-1250 encoded document (Valid XHTML)

validate - with v.w.o - view: Another windows-1250 encoded document (Valid XHTML)

utf-8 encoded document

validate - with v.w.o - view: utf-8 encoded document

XML file with a "Plane 20" character (bogus).

validate - with v.w.o - view: XML file with a "Plane 20" character (bogus).

Charset mismatch: HTTP Content-Type and XML Declaration (sends warning, proceed with HTTP and pass)

validate - with v.w.o - view: Charset mismatch: HTTP Content-Type and XML Declaration (sends warning, proceed with HTTP and pass)

Charset mismatch: HTTP Content-Type and meta http-equiv (sends warning, proceed with HTTP and pass)

validate - with v.w.o - view: Charset mismatch: HTTP Content-Type and meta http-equiv (sends warning, proceed with HTTP and pass)

iso-8859-1 HTML document with charset declared in meta, (test for

validate - with v.w.o - view: iso-8859-1 HTML document with charset declared in meta, (test for

iso-8859-1 HTML document with charset not declared in meta (nor in HTTP), (test for

validate - with v.w.o - view: iso-8859-1 HTML document with charset not declared in meta (nor in HTTP), (test for

case-sensitivity of charset parameter in meta

validate - with v.w.o - view: This is a test for

Error conditions & strange cases

DOCTYPE with a relative URI for the system identifier. Should probably pass if the sgml parser was given the base URI(?)

validate - with v.w.o - view: DOCTYPE with a relative URI for the system identifier. Should probably pass if the sgml parser was given the base URI(?)

Test for specific output

Output of preparse warnings

text/xml, no charset (W01)

validate - with v.w.o - view: text/xml, no charset (W01)

text/html, no charset, fbc set (W02)

validate - with v.w.o - view: text/html, no charset, fbc set (W02)

charset override (W03)

validate - with v.w.o - view: charset override (W03)

text/html, no charset, override set (W04)

validate - with v.w.o - view: text/html, no charset, override set (W04)

text/html, no charset (W04)

validate - with v.w.o - view: text/html, no charset (W04)

XHTML, no DOCTYPE, if overriden, should output W05.

validate - with v.w.o - view: XHTML, no DOCTYPE, if overriden, should output W05.

HTML4.0 plus blink ("Custom" SGML DTD), parse mode fallback to SGML (W06)

validate - with v.w.o - view: HTML4.0 plus blink ("Custom" SGML DTD), parse mode fallback to SGML (W06)

HTML 4.01 Strict served with an XHTML mime type. Parse mode conflict (W07)

validate - with v.w.o - view: HTML 4.01 Strict served with an XHTML mime type. Parse mode conflict (W07)

XHTML, no DOCTYPE, no xmlns (thus invalid). (W09).

validate - with v.w.o - view: XHTML, no DOCTYPE, no xmlns (thus invalid). (W09).

XML, no DOCTYPE, not well-formed (W09xml)

validate - with v.w.o - view: XML, no DOCTYPE, not well-formed (W09xml)

XHTML. If using doctype override to HTML401, namespace will trigger (W11)

validate - with v.w.o - view: XHTML. If using doctype override to HTML401, namespace will trigger (W11)

Test for xmlns in HTML content

validate - with v.w.o - view: HTML 4.01 with xmlns attribute on root element. Should trigger a validation error (it does) and preparse warning W11 (it doesn't!)

HTML 4.01 Strict, validated with HTML 4.01 Transitional override (W13)

validate - with v.w.o - view: HTML 4.01 Strict, validated with HTML 4.01 Transitional override (W13)

No doctype, override given, fallback fbd is off (W15)

validate - with v.w.o - view: No doctype, override given, fallback fbd is off (W15)

No doctype, fallback given (W16)

validate - with v.w.o - view: No doctype, fallback given (W16)

charset mismatch HTTP / XML decl (W18)

validate - with v.w.o - view: charset mismatch HTTP / XML decl (W18)

charset mismatch HTTP / Meta (W19)

validate - with v.w.o - view: charset mismatch HTTP / Meta (W19)

MathML 2.0 as text/html (W23)

validate - with v.w.o - view: MathML 2.0 as text/html (W23)

supported, but rare, charset (W24)

validate - with v.w.o - view: supported, but rare, charset (W24)

SVG with neither DOCTYPE nor version attribute (OK in SVG). (W25)

validate - with v.w.o - view: SVG with neither DOCTYPE nor version attribute (OK in SVG). (W25)

Non-Automated tests

The following test collections are not managed by the automated test suite, and should be tested by hand on a regular basis

User Interface tests

The following tests do not test the binary "validity" results, but the proper handling of options, errors, various outputs, etc. "validate" links use this instance, with validator.w3.org links added for reference comparison

Bugs and Regression Tests

These should be tied to a bug report on either mailing-list and/or bugzilla whenever possible.