[
    /* Test count: 37 */
    /* Test number: 1 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE html>Hello
        $DATA,
        "result": $DATA{ ,12}
            <!DOCTYPE html>
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 2 */
    {
        "data": $DATA{ ,12}
            <!dOctYpE HtMl>Hello
        $DATA,
        "result": $DATA{ ,12}
            <!DOCTYPE html>
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 3 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPEhtml>Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 9, "id": "need-space-after-doctype"},
            {"line": 1, "col": 10, "id": "missing-whitespace-before-doctype-name"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE html>
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 4 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE>Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 10, "id": "expected-doctype-name-but-got-right-bracket"},
            {"line": 1, "col": 10, "id": "unknown-doctype"},
            {"line": 1, "col": 10, "id": "missing-doctype-name"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE >
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 5 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE >Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 11, "id": "expected-doctype-name-but-got-right-bracket"},
            {"line": 1, "col": 11, "id": "unknown-doctype"},
            {"line": 1, "col": 11, "id": "missing-doctype-name"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE >
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 6 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE potato>Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 17, "id": "unknown-doctype"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE potato>
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 7 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE potato >Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 18, "id": "unknown-doctype"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE potato>
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 8 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE potato taco>Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 17, "id": "expected-space-or-right-bracket-in-doctype"},
            {"line": 1, "col": 22, "id": "unknown-doctype"},
            {"line": 1, "col": 18, "id": "invalid-character-sequence-after-doctype-name"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE potato>
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 9 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE potato taco "ddd>Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 17, "id": "expected-space-or-right-bracket-in-doctype"},
            {"line": 1, "col": 27, "id": "unknown-doctype"},
            {"line": 1, "col": 18, "id": "invalid-character-sequence-after-doctype-name"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE potato>
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 10 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE potato sYstEM>Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 24, "id": "unexpected-char-in-doctype"},
            {"line": 1, "col": 24, "id": "unknown-doctype"},
            {"line": 1, "col": 24, "id": "missing-doctype-system-identifier"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE potato>
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 11 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE potato sYstEM    >Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 28, "id": "unexpected-char-in-doctype"},
            {"line": 1, "col": 28, "id": "unknown-doctype"},
            {"line": 1, "col": 28, "id": "missing-doctype-system-identifier"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE potato>
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 12 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE   potato       sYstEM  ggg>Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 34, "id": "unexpected-char-in-doctype"},
            {"line": 1, "col": 37, "id": "unknown-doctype"},
            {"line": 1, "col": 34, "id": "missing-quote-before-doctype-system-identifier"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE potato>
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 13 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE potato SYSTEM taco  >Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 25, "id": "unexpected-char-in-doctype"},
            {"line": 1, "col": 31, "id": "unknown-doctype"},
            {"line": 1, "col": 25, "id": "missing-quote-before-doctype-system-identifier"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE potato>
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 14 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE potato SYSTEM 'taco"'>Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 32, "id": "unknown-doctype"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE potato SYSTEM "taco"">
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 15 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE potato SYSTEM "taco">Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 31, "id": "unknown-doctype"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE potato SYSTEM "taco">
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 16 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE potato SYSTEM "tai'co">Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 33, "id": "unknown-doctype"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE potato SYSTEM "tai'co">
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 17 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE potato SYSTEMtaco "ddd">Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 24, "id": "unexpected-char-in-doctype"},
            {"line": 1, "col": 34, "id": "unknown-doctype"},
            {"line": 1, "col": 24, "id": "missing-quote-before-doctype-system-identifier"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE potato>
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 18 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE potato grass SYSTEM taco>Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 17, "id": "expected-space-or-right-bracket-in-doctype"},
            {"line": 1, "col": 35, "id": "unknown-doctype"},
            {"line": 1, "col": 18, "id": "invalid-character-sequence-after-doctype-name"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE potato>
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 19 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE potato pUbLIc>Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 24, "id": "unexpected-end-of-doctype"},
            {"line": 1, "col": 24, "id": "unknown-doctype"},
            {"line": 1, "col": 24, "id": "missing-doctype-public-identifier"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE potato>
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 20 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE potato pUbLIc >Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 25, "id": "unexpected-end-of-doctype"},
            {"line": 1, "col": 25, "id": "unknown-doctype"},
            {"line": 1, "col": 25, "id": "missing-doctype-public-identifier"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE potato>
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 21 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE potato pUbLIcgoof>Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 24, "id": "unexpected-char-in-doctype"},
            {"line": 1, "col": 28, "id": "unknown-doctype"},
            {"line": 1, "col": 24, "id": "missing-quote-before-doctype-public-identifier"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE potato>
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 22 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE potato PUBLIC goof>Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 25, "id": "unexpected-char-in-doctype"},
            {"line": 1, "col": 29, "id": "unknown-doctype"},
            {"line": 1, "col": 25, "id": "missing-quote-before-doctype-public-identifier"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE potato>
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 23 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE potato PUBLIC "go'of">Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 32, "id": "unknown-doctype"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE potato PUBLIC "go'of">
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 24 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE potato PUBLIC 'go'of'>Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 29, "id": "unexpected-char-in-doctype"},
            {"line": 1, "col": 32, "id": "unknown-doctype"},
            {"line": 1, "col": 29, "id": "missing-quote-before-doctype-system-identifier"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE potato PUBLIC "go">
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 25 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE potato PUBLIC 'go:hh   of' >Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 38, "id": "unknown-doctype"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE potato PUBLIC "go:hh   of">
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 26 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE potato PUBLIC "W3C-//dfdf" SYSTEM ggg>Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 38, "id": "unexpected-char-in-doctype"},
            {"line": 1, "col": 48, "id": "unknown-doctype"},
            {"line": 1, "col": 38, "id": "missing-quote-before-doctype-system-identifier"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE potato PUBLIC "W3C-//dfdf">
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 27 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
               "http://www.w3.org/TR/html4/strict.dtd">Hello
        $DATA,
        "errors": [
            {"line": 2, "col": 43, "id": "unknown-doctype"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 28 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE ...>Hello
        $DATA,
        "errors": [
            {"line": 1, "col": 14, "id": "unknown-doctype"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE ...>
            <html>
              <head>
              <body>
                "Hello"
        $DATA
    },
    /* Test number: 29 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        $DATA,
        "errors": [
            {"line": 2, "col": 58, "id": "unknown-doctype"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
            <html>
              <head>
              <body>
        $DATA
    },
    /* Test number: 30 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
        $DATA,
        "errors": [
            {"line": 2, "col": 54, "id": "unknown-doctype"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
            <html>
              <head>
              <body>
        $DATA
    },
    /* Test number: 31 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE root-element [SYSTEM OR PUBLIC FPI] "uri" [ 
            <!-- internal declarations -->
            ]>
        $DATA,
        "errors": [
            {"line": 1, "col": 23, "id": "expected-space-or-right-bracket-in-doctype"},
            {"line": 2, "col": 30, "id": "unknown-doctype"},
            {"line": 1, "col": 24, "id": "invalid-character-sequence-after-doctype-name"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE root-element>
            <html>
              <head>
              <body>
                "]>"
        $DATA
    },
    /* Test number: 32 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE html PUBLIC
              "-//WAPFORUM//DTD XHTML Mobile 1.0//EN"
                "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
        $DATA,
        "errors": [
            {"line": 3, "col": 53, "id": "unknown-doctype"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
            <html>
              <head>
              <body>
        $DATA
    },
    /* Test number: 33 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE HTML SYSTEM "http://www.w3.org/DTD/HTML4-strict.dtd"><body><b>Mine!</b></body>
        $DATA,
        "errors": [
            {"line": 1, "col": 63, "id": "unknown-doctype"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE html SYSTEM "http://www.w3.org/DTD/HTML4-strict.dtd">
            <html>
              <head>
              <body>
                <b>
                  "Mine!"
        $DATA
    },
    /* Test number: 34 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
        $DATA,
        "errors": [
            {"line": 1, "col": 50, "id": "unexpected-char-in-doctype"},
            {"line": 1, "col": 89, "id": "unknown-doctype"},
            {"line": 1, "col": 50, "id": "missing-whitespace-between-doctype-public-and-system-identifiers"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
            <html>
              <head>
              <body>
        $DATA
    },
    /* Test number: 35 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"'http://www.w3.org/TR/html4/strict.dtd'>
        $DATA,
        "errors": [
            {"line": 1, "col": 50, "id": "unexpected-char-in-doctype"},
            {"line": 1, "col": 89, "id": "unknown-doctype"},
            {"line": 1, "col": 50, "id": "missing-whitespace-between-doctype-public-and-system-identifiers"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
            <html>
              <head>
              <body>
        $DATA
    },
    /* Test number: 36 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01//EN"'http://www.w3.org/TR/html4/strict.dtd'>
        $DATA,
        "errors": [
            {"line": 1, "col": 21, "id": "unexpected-char-in-doctype"},
            {"line": 1, "col": 49, "id": "unexpected-char-in-doctype"},
            {"line": 1, "col": 88, "id": "unknown-doctype"},
            {"line": 1, "col": 22, "id": "missing-whitespace-after-doctype-public-keyword"},
            {"line": 1, "col": 49, "id": "missing-whitespace-between-doctype-public-and-system-identifiers"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
            <html>
              <head>
              <body>
        $DATA
    },
    /* Test number: 37 */
    {
        "data": $DATA{ ,12}
            <!DOCTYPE HTML PUBLIC'-//W3C//DTD HTML 4.01//EN''http://www.w3.org/TR/html4/strict.dtd'>
        $DATA,
        "errors": [
            {"line": 1, "col": 21, "id": "unexpected-char-in-doctype"},
            {"line": 1, "col": 49, "id": "unexpected-char-in-doctype"},
            {"line": 1, "col": 88, "id": "unknown-doctype"},
            {"line": 1, "col": 22, "id": "missing-whitespace-after-doctype-public-keyword"},
            {"line": 1, "col": 49, "id": "missing-whitespace-between-doctype-public-and-system-identifiers"}
        ],
        "result": $DATA{ ,12}
            <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
            <html>
              <head>
              <body>
        $DATA
    },
]