%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/985914/root/www/varak.net/wiki.varak.net/tests/phpunit/includes/tidy/
Upload File :
Create Path :
Current File : //proc/985914/root/www/varak.net/wiki.varak.net/tests/phpunit/includes/tidy/html5lib-tests.json

{
  "adoption01.dat": [
    {
      "data": "<a><p></a></p>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,10): adoption-agency-1.3"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a"
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "a"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a></a><p><a></a></p></body></html>",
        "noQuirksBodyHtml": "<a></a><p><a></a></p>"
      }
    },
    {
      "data": "<a>1<p>2</a>3</p>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,12): adoption-agency-1.3"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "children": [
                      {
                        "text": "1"
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "a",
                        "children": [
                          {
                            "text": "2"
                          }
                        ]
                      },
                      {
                        "text": "3"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a>1</a><p><a>2</a>3</p></body></html>",
        "noQuirksBodyHtml": "<a>1</a><p><a>2</a>3</p>"
      }
    },
    {
      "data": "<a>1<button>2</a>3</button>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,17): adoption-agency-1.3"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "button": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "children": [
                      {
                        "text": "1"
                      }
                    ]
                  },
                  {
                    "tag": "button",
                    "children": [
                      {
                        "tag": "a",
                        "children": [
                          {
                            "text": "2"
                          }
                        ]
                      },
                      {
                        "text": "3"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a>1</a><button><a>2</a>3</button></body></html>",
        "noQuirksBodyHtml": "<a>1</a><button><a>2</a>3</button>"
      }
    },
    {
      "data": "<a>1<b>2</a>3</b>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,12): adoption-agency-1.3"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "b": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "children": [
                      {
                        "text": "1"
                      },
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": "2"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "b",
                    "children": [
                      {
                        "text": "3"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a>1<b>2</b></a><b>3</b></body></html>",
        "noQuirksBodyHtml": "<a>1<b>2</b></a><b>3</b>"
      }
    },
    {
      "data": "<a>1<div>2<div>3</a>4</div>5</div>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,20): adoption-agency-1.3",
        "(1,20): adoption-agency-1.3"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "children": [
                      {
                        "text": "1"
                      }
                    ]
                  },
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "a",
                        "children": [
                          {
                            "text": "2"
                          }
                        ]
                      },
                      {
                        "tag": "div",
                        "children": [
                          {
                            "tag": "a",
                            "children": [
                              {
                                "text": "3"
                              }
                            ]
                          },
                          {
                            "text": "4"
                          }
                        ]
                      },
                      {
                        "text": "5"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a>1</a><div><a>2</a><div><a>3</a>4</div>5</div></body></html>",
        "noQuirksBodyHtml": "<a>1</a><div><a>2</a><div><a>3</a>4</div>5</div>"
      }
    },
    {
      "data": "<table><a>1<p>2</a>3</p>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,10): unexpected-start-tag-implies-table-voodoo",
        "(1,11): unexpected-character-implies-table-voodoo",
        "(1,14): unexpected-start-tag-implies-table-voodoo",
        "(1,15): unexpected-character-implies-table-voodoo",
        "(1,19): unexpected-end-tag-implies-table-voodoo",
        "(1,19): adoption-agency-1.3",
        "(1,20): unexpected-character-implies-table-voodoo",
        "(1,24): unexpected-end-tag-implies-table-voodoo",
        "(1,24): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "p": true,
            "table": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "children": [
                      {
                        "text": "1"
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "a",
                        "children": [
                          {
                            "text": "2"
                          }
                        ]
                      },
                      {
                        "text": "3"
                      }
                    ]
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a>1</a><p><a>2</a>3</p><table></table></body></html>",
        "noQuirksBodyHtml": "<a>1</a><p><a>2</a>3</p><table></table>"
      }
    },
    {
      "data": "<b><b><a><p></a>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,16): adoption-agency-1.3",
        "(1,16): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "a": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "b",
                        "children": [
                          {
                            "tag": "a"
                          },
                          {
                            "tag": "p",
                            "children": [
                              {
                                "tag": "a"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><b><b><a></a><p><a></a></p></b></b></body></html>",
        "noQuirksBodyHtml": "<b><b><a></a><p><a></a></p></b></b>"
      }
    },
    {
      "data": "<b><a><b><p></a>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,16): adoption-agency-1.3",
        "(1,16): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "a": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "a",
                        "children": [
                          {
                            "tag": "b"
                          }
                        ]
                      },
                      {
                        "tag": "b",
                        "children": [
                          {
                            "tag": "p",
                            "children": [
                              {
                                "tag": "a"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><b><a><b></b></a><b><p><a></a></p></b></b></body></html>",
        "noQuirksBodyHtml": "<b><a><b></b></a><b><p><a></a></p></b></b>"
      }
    },
    {
      "data": "<a><b><b><p></a>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,16): adoption-agency-1.3",
        "(1,16): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "b": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "children": [
                      {
                        "tag": "b",
                        "children": [
                          {
                            "tag": "b"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "b",
                        "children": [
                          {
                            "tag": "p",
                            "children": [
                              {
                                "tag": "a"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a><b><b></b></b></a><b><b><p><a></a></p></b></b></body></html>",
        "noQuirksBodyHtml": "<a><b><b></b></b></a><b><b><p><a></a></p></b></b>"
      }
    },
    {
      "data": "<p>1<s id=\"A\">2<b id=\"B\">3</p>4</s>5</b>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,30): unexpected-end-tag",
        "(1,35): adoption-agency-1.3"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "s": true,
            "b": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "1"
                      },
                      {
                        "tag": "s",
                        "attrs": [
                          {
                            "name": "id",
                            "value": "A"
                          }
                        ],
                        "children": [
                          {
                            "text": "2"
                          },
                          {
                            "tag": "b",
                            "attrs": [
                              {
                                "name": "id",
                                "value": "B"
                              }
                            ],
                            "children": [
                              {
                                "text": "3"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "s",
                    "attrs": [
                      {
                        "name": "id",
                        "value": "A"
                      }
                    ],
                    "children": [
                      {
                        "tag": "b",
                        "attrs": [
                          {
                            "name": "id",
                            "value": "B"
                          }
                        ],
                        "children": [
                          {
                            "text": "4"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "b",
                    "attrs": [
                      {
                        "name": "id",
                        "value": "B"
                      }
                    ],
                    "children": [
                      {
                        "text": "5"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><p>1<s id=\"A\">2<b id=\"B\">3</b></s></p><s id=\"A\"><b id=\"B\">4</b></s><b id=\"B\">5</b></body></html>",
        "noQuirksBodyHtml": "<p>1<s id=\"A\">2<b id=\"B\">3</b></s></p><s id=\"A\"><b id=\"B\">4</b></s><b id=\"B\">5</b>"
      }
    },
    {
      "data": "<table><a>1<td>2</td>3</table>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,10): unexpected-start-tag-implies-table-voodoo",
        "(1,11): unexpected-character-implies-table-voodoo",
        "(1,15): unexpected-cell-in-table-body",
        "(1,30): unexpected-implied-end-tag-in-table-view"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "children": [
                      {
                        "text": "1"
                      }
                    ]
                  },
                  {
                    "tag": "a",
                    "children": [
                      {
                        "text": "3"
                      }
                    ]
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "text": "2"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a>1</a><a>3</a><table><tbody><tr><td>2</td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<a>1</a><a>3</a><table><tbody><tr><td>2</td></tr></tbody></table>"
      }
    },
    {
      "data": "<table>A<td>B</td>C</table>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,8): unexpected-character-implies-table-voodoo",
        "(1,12): unexpected-cell-in-table-body",
        "(1,22): unexpected-character-implies-table-voodoo"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "AC"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "text": "B"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>AC<table><tbody><tr><td>B</td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "AC<table><tbody><tr><td>B</td></tr></tbody></table>"
      }
    },
    {
      "data": "<a><svg><tr><input></a>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,23): unexpected-end-tag",
        "(1,23): adoption-agency-1.3"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "svg svg": true,
            "svg tr": true,
            "svg input": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "children": [
                      {
                        "tag": "svg",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "tag": "tr",
                            "ns": "http://www.w3.org/2000/svg",
                            "children": [
                              {
                                "tag": "input",
                                "ns": "http://www.w3.org/2000/svg"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a><svg><tr><input></input></tr></svg></a></body></html>",
        "noQuirksBodyHtml": "<a><svg><tr><input></input></tr></svg></a>"
      }
    },
    {
      "data": "<div><a><b><div><div><div><div><div><div><div><div><div><div></a>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,65): adoption-agency-1.3",
        "(1,65): adoption-agency-1.3",
        "(1,65): adoption-agency-1.3",
        "(1,65): adoption-agency-1.3",
        "(1,65): adoption-agency-1.3",
        "(1,65): adoption-agency-1.3",
        "(1,65): adoption-agency-1.3",
        "(1,65): adoption-agency-1.3",
        "(1,65): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "a": true,
            "b": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "a",
                        "children": [
                          {
                            "tag": "b"
                          }
                        ]
                      },
                      {
                        "tag": "b",
                        "children": [
                          {
                            "tag": "div",
                            "children": [
                              {
                                "tag": "a"
                              },
                              {
                                "tag": "div",
                                "children": [
                                  {
                                    "tag": "a"
                                  },
                                  {
                                    "tag": "div",
                                    "children": [
                                      {
                                        "tag": "a"
                                      },
                                      {
                                        "tag": "div",
                                        "children": [
                                          {
                                            "tag": "a"
                                          },
                                          {
                                            "tag": "div",
                                            "children": [
                                              {
                                                "tag": "a"
                                              },
                                              {
                                                "tag": "div",
                                                "children": [
                                                  {
                                                    "tag": "a"
                                                  },
                                                  {
                                                    "tag": "div",
                                                    "children": [
                                                      {
                                                        "tag": "a"
                                                      },
                                                      {
                                                        "tag": "div",
                                                        "children": [
                                                          {
                                                            "tag": "a",
                                                            "children": [
                                                              {
                                                                "tag": "div",
                                                                "children": [
                                                                  {
                                                                    "tag": "div"
                                                                  }
                                                                ]
                                                              }
                                                            ]
                                                          }
                                                        ]
                                                      }
                                                    ]
                                                  }
                                                ]
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div><a><b></b></a><b><div><a></a><div><a></a><div><a></a><div><a></a><div><a></a><div><a></a><div><a></a><div><a><div><div></div></div></a></div></div></div></div></div></div></div></div></b></div></body></html>",
        "noQuirksBodyHtml": "<div><a><b></b></a><b><div><a></a><div><a></a><div><a></a><div><a></a><div><a></a><div><a></a><div><a></a><div><a><div><div></div></div></a></div></div></div></div></div></div></div></div></b></div>"
      }
    },
    {
      "data": "<div><a><b><u><i><code><div></a>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,32): adoption-agency-1.3",
        "(1,32): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "a": true,
            "b": true,
            "u": true,
            "i": true,
            "code": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "a",
                        "children": [
                          {
                            "tag": "b",
                            "children": [
                              {
                                "tag": "u",
                                "children": [
                                  {
                                    "tag": "i",
                                    "children": [
                                      {
                                        "tag": "code"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "u",
                        "children": [
                          {
                            "tag": "i",
                            "children": [
                              {
                                "tag": "code",
                                "children": [
                                  {
                                    "tag": "div",
                                    "children": [
                                      {
                                        "tag": "a"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div><a><b><u><i><code></code></i></u></b></a><u><i><code><div><a></a></div></code></i></u></div></body></html>",
        "noQuirksBodyHtml": "<div><a><b><u><i><code></code></i></u></b></a><u><i><code><div><a></a></div></code></i></u></div>"
      }
    },
    {
      "data": "<b><b><b><b>x</b></b></b></b>y",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "b",
                        "children": [
                          {
                            "tag": "b",
                            "children": [
                              {
                                "tag": "b",
                                "children": [
                                  {
                                    "text": "x"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "text": "y"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><b><b><b><b>x</b></b></b></b>y</body></html>",
        "noQuirksBodyHtml": "<b><b><b><b>x</b></b></b></b>y"
      }
    },
    {
      "data": "<p><b><b><b><b><p>x",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,18): unexpected-end-tag",
        "(1,19): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "b": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "b",
                        "children": [
                          {
                            "tag": "b",
                            "children": [
                              {
                                "tag": "b",
                                "children": [
                                  {
                                    "tag": "b"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "b",
                        "children": [
                          {
                            "tag": "b",
                            "children": [
                              {
                                "tag": "b",
                                "children": [
                                  {
                                    "text": "x"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><p><b><b><b><b></b></b></b></b></p><p><b><b><b>x</b></b></b></p></body></html>",
        "noQuirksBodyHtml": "<p><b><b><b><b></b></b></b></b></p><p><b><b><b>x</b></b></b></p>"
      }
    },
    {
      "data": "<b><em><foo><foob><fooc><aside></b></em>",
      "errors": [
        "(1,35): adoption-agency-1.3",
        "(1,40): adoption-agency-1.3",
        "(1,40): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "div"
      },
      "document": {
        "props": {
          "tags": {
            "b": true,
            "em": true,
            "foo": true,
            "foob": true,
            "fooc": true,
            "aside": true
          }
        },
        "tree": [
          {
            "tag": "b",
            "children": [
              {
                "tag": "em",
                "children": [
                  {
                    "tag": "foo",
                    "children": [
                      {
                        "tag": "foob",
                        "children": [
                          {
                            "tag": "fooc"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          },
          {
            "tag": "aside",
            "children": [
              {
                "tag": "b"
              }
            ]
          }
        ],
        "html": "<b><em><foo><foob><fooc></fooc></foob></foo></em></b><aside><b></b></aside>",
        "noQuirksBodyHtml": "<b><em><foo><foob><fooc></fooc></foob></foo></em></b><aside><b></b></aside>"
      }
    }
  ],
  "adoption02.dat": [
    {
      "data": "<b>1<i>2<p>3</b>4",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,16): adoption-agency-1.3",
        "(1,17): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "i": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "text": "1"
                      },
                      {
                        "tag": "i",
                        "children": [
                          {
                            "text": "2"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "i",
                    "children": [
                      {
                        "tag": "p",
                        "children": [
                          {
                            "tag": "b",
                            "children": [
                              {
                                "text": "3"
                              }
                            ]
                          },
                          {
                            "text": "4"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><b>1<i>2</i></b><i><p><b>3</b>4</p></i></body></html>",
        "noQuirksBodyHtml": "<b>1<i>2</i></b><i><p><b>3</b>4</p></i>"
      }
    },
    {
      "data": "<a><div><style></style><address><a>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,35): unexpected-start-tag-implies-end-tag",
        "(1,35): adoption-agency-1.3",
        "(1,35): adoption-agency-1.3",
        "(1,35): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "div": true,
            "style": true,
            "address": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a"
                  },
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "a",
                        "children": [
                          {
                            "tag": "style"
                          }
                        ]
                      },
                      {
                        "tag": "address",
                        "children": [
                          {
                            "tag": "a"
                          },
                          {
                            "tag": "a"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a></a><div><a><style></style></a><address><a></a><a></a></address></div></body></html>",
        "noQuirksBodyHtml": "<a></a><div><a><style></style></a><address><a></a><a></a></address></div>"
      }
    }
  ],
  "comments01.dat": [
    {
      "data": "FOO<!-- BAR -->BAZ",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "comment": " BAR "
                  },
                  {
                    "text": "BAZ"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<!-- BAR -->BAZ</body></html>",
        "noQuirksBodyHtml": "FOO<!-- BAR -->BAZ"
      }
    },
    {
      "data": "FOO<!-- BAR --!>BAZ",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,15): unexpected-bang-after-double-dash-in-comment"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "comment": " BAR "
                  },
                  {
                    "text": "BAZ"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<!-- BAR -->BAZ</body></html>",
        "noQuirksBodyHtml": "FOO<!-- BAR -->BAZ"
      }
    },
    {
      "data": "FOO<!-- BAR --   >BAZ",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,15): unexpected-char-in-comment",
        "(1,21): eof-in-comment"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "comment": " BAR --   >BAZ"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<!-- BAR --   >BAZ--></body></html>",
        "noQuirksBodyHtml": "FOO<!-- BAR --   >BAZ-->"
      }
    },
    {
      "data": "FOO<!-- BAR -- <QUX> -- MUX -->BAZ",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,15): unexpected-char-in-comment",
        "(1,24): unexpected-char-in-comment"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "comment": " BAR -- <QUX> -- MUX "
                  },
                  {
                    "text": "BAZ"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<!-- BAR -- <QUX> -- MUX -->BAZ</body></html>",
        "noQuirksBodyHtml": "FOO<!-- BAR -- <QUX> -- MUX -->BAZ"
      }
    },
    {
      "data": "FOO<!-- BAR -- <QUX> -- MUX --!>BAZ",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,15): unexpected-char-in-comment",
        "(1,24): unexpected-char-in-comment",
        "(1,31): unexpected-bang-after-double-dash-in-comment"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "comment": " BAR -- <QUX> -- MUX "
                  },
                  {
                    "text": "BAZ"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<!-- BAR -- <QUX> -- MUX -->BAZ</body></html>",
        "noQuirksBodyHtml": "FOO<!-- BAR -- <QUX> -- MUX -->BAZ"
      }
    },
    {
      "data": "FOO<!-- BAR -- <QUX> -- MUX -- >BAZ",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,15): unexpected-char-in-comment",
        "(1,24): unexpected-char-in-comment",
        "(1,31): unexpected-char-in-comment",
        "(1,35): eof-in-comment"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "comment": " BAR -- <QUX> -- MUX -- >BAZ"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<!-- BAR -- <QUX> -- MUX -- >BAZ--></body></html>",
        "noQuirksBodyHtml": "FOO<!-- BAR -- <QUX> -- MUX -- >BAZ-->"
      }
    },
    {
      "data": "FOO<!---->BAZ",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "comment": ""
                  },
                  {
                    "text": "BAZ"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<!---->BAZ</body></html>",
        "noQuirksBodyHtml": "FOO<!---->BAZ"
      }
    },
    {
      "data": "FOO<!--->BAZ",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,9): incorrect-comment"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "comment": ""
                  },
                  {
                    "text": "BAZ"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<!---->BAZ</body></html>",
        "noQuirksBodyHtml": "FOO<!---->BAZ"
      }
    },
    {
      "data": "FOO<!-->BAZ",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,8): incorrect-comment"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "comment": ""
                  },
                  {
                    "text": "BAZ"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<!---->BAZ</body></html>",
        "noQuirksBodyHtml": "FOO<!---->BAZ"
      }
    },
    {
      "data": "<?xml version=\"1.0\">Hi",
      "errors": [
        "(1,1): expected-tag-name-but-got-question-mark",
        "(1,22): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "comment": "?xml version=\"1.0\""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hi"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!--?xml version=\"1.0\"--><html><head></head><body>Hi</body></html>",
        "noQuirksBodyHtml": "<!--?xml version=\"1.0\"-->Hi"
      }
    },
    {
      "data": "<?xml version=\"1.0\">",
      "errors": [
        "(1,1): expected-tag-name-but-got-question-mark",
        "(1,20): expected-doctype-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "comment": "?xml version=\"1.0\""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!--?xml version=\"1.0\"--><html><head></head><body></body></html>",
        "noQuirksBodyHtml": "<!--?xml version=\"1.0\"-->"
      }
    },
    {
      "data": "<?xml version",
      "errors": [
        "(1,1): expected-tag-name-but-got-question-mark",
        "(1,13): expected-doctype-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "comment": "?xml version"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!--?xml version--><html><head></head><body></body></html>",
        "noQuirksBodyHtml": "<!--?xml version-->"
      }
    },
    {
      "data": "FOO<!----->BAZ",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,10): unexpected-dash-after-double-dash-in-comment"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "comment": "-"
                  },
                  {
                    "text": "BAZ"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<!----->BAZ</body></html>",
        "noQuirksBodyHtml": "FOO<!----->BAZ"
      }
    },
    {
      "data": "<html><!-- comment --><title>Comment before head</title>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "title": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "comment": " comment "
              },
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "Comment before head"
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><!-- comment --><head><title>Comment before head</title></head><body></body></html>",
        "noQuirksBodyHtml": "<!-- comment --><title>Comment before head</title>"
      }
    }
  ],
  "doctype01.dat": [
    {
      "data": "<!DOCTYPE html>Hello",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!dOctYpE HtMl>Hello",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPEhtml>Hello",
      "errors": [
        "(1,9): need-space-after-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE>Hello",
      "errors": [
        "(1,9): need-space-after-doctype",
        "(1,10): expected-doctype-name-but-got-right-bracket",
        "(1,10): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": ""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE ><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE >Hello",
      "errors": [
        "(1,11): expected-doctype-name-but-got-right-bracket",
        "(1,11): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": ""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE ><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE potato>Hello",
      "errors": [
        "(1,17): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "potato"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE potato >Hello",
      "errors": [
        "(1,18): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "potato"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE potato taco>Hello",
      "errors": [
        "(1,17): expected-space-or-right-bracket-in-doctype",
        "(1,22): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "potato"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE potato taco \"ddd>Hello",
      "errors": [
        "(1,17): expected-space-or-right-bracket-in-doctype",
        "(1,27): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "potato"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE potato sYstEM>Hello",
      "errors": [
        "(1,24): unexpected-char-in-doctype",
        "(1,24): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "potato"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE potato sYstEM    >Hello",
      "errors": [
        "(1,28): unexpected-char-in-doctype",
        "(1,28): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "potato"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE   potato       sYstEM  ggg>Hello",
      "errors": [
        "(1,34): unexpected-char-in-doctype",
        "(1,37): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "potato"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE potato SYSTEM taco  >Hello",
      "errors": [
        "(1,25): unexpected-char-in-doctype",
        "(1,31): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "potato"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE potato SYSTEM 'taco\"'>Hello",
      "errors": [
        "(1,32): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "potato \"\" \"taco\"\""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE potato SYSTEM \"taco\">Hello",
      "errors": [
        "(1,31): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "potato \"\" \"taco\""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE potato SYSTEM \"tai'co\">Hello",
      "errors": [
        "(1,33): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "potato \"\" \"tai'co\""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE potato SYSTEMtaco \"ddd\">Hello",
      "errors": [
        "(1,24): unexpected-char-in-doctype",
        "(1,34): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "potato"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE potato grass SYSTEM taco>Hello",
      "errors": [
        "(1,17): expected-space-or-right-bracket-in-doctype",
        "(1,35): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "potato"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE potato pUbLIc>Hello",
      "errors": [
        "(1,24): unexpected-end-of-doctype",
        "(1,24): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "potato"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE potato pUbLIc >Hello",
      "errors": [
        "(1,25): unexpected-end-of-doctype",
        "(1,25): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "potato"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE potato pUbLIcgoof>Hello",
      "errors": [
        "(1,24): unexpected-char-in-doctype",
        "(1,28): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "potato"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE potato PUBLIC goof>Hello",
      "errors": [
        "(1,25): unexpected-char-in-doctype",
        "(1,29): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "potato"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE potato PUBLIC \"go'of\">Hello",
      "errors": [
        "(1,32): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "potato \"go'of\" \"\""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE potato PUBLIC 'go'of'>Hello",
      "errors": [
        "(1,29): unexpected-char-in-doctype",
        "(1,32): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "potato \"go\" \"\""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE potato PUBLIC 'go:hh   of' >Hello",
      "errors": [
        "(1,38): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "potato \"go:hh   of\" \"\""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE potato PUBLIC \"W3C-//dfdf\" SYSTEM ggg>Hello",
      "errors": [
        "(1,38): unexpected-char-in-doctype",
        "(1,48): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "potato \"W3C-//dfdf\" \"\""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE potato><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"\n   \"http://www.w3.org/TR/html4/strict.dtd\">Hello",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE ...>Hello",
      "errors": [
        "(1,14): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "..."
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Hello"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE ...><html><head></head><body>Hello</body></html>",
        "noQuirksBodyHtml": "Hello"
      }
    },
    {
      "data": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">",
      "errors": [
        "(2,58): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Frameset//EN\"\n\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd\">",
      "errors": [
        "(2,54): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html \"-//W3C//DTD XHTML 1.0 Frameset//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd\""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!DOCTYPE root-element [SYSTEM OR PUBLIC FPI] \"uri\" [ \n<!-- internal declarations -->\n]>",
      "errors": [
        "(1,23): expected-space-or-right-bracket-in-doctype",
        "(2,30): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true,
          "escaped": true
        },
        "tree": [
          {
            "doctype": "root-element"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "]>",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE root-element><html><head></head><body>]&gt;</body></html>",
        "noQuirksBodyHtml": "\n]&gt;"
      }
    },
    {
      "data": "<!DOCTYPE html PUBLIC\n  \"-//WAPFORUM//DTD XHTML Mobile 1.0//EN\"\n    \"http://www.wapforum.org/DTD/xhtml-mobile10.dtd\">",
      "errors": [
        "(3,53): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html \"-//WAPFORUM//DTD XHTML Mobile 1.0//EN\" \"http://www.wapforum.org/DTD/xhtml-mobile10.dtd\""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!DOCTYPE HTML SYSTEM \"http://www.w3.org/DTD/HTML4-strict.dtd\"><body><b>Mine!</b></body>",
      "errors": [
        "(1,63): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html \"\" \"http://www.w3.org/DTD/HTML4-strict.dtd\""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "text": "Mine!"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><b>Mine!</b></body></html>",
        "noQuirksBodyHtml": "<b>Mine!</b>"
      }
    },
    {
      "data": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"\"http://www.w3.org/TR/html4/strict.dtd\">",
      "errors": [
        "(1,50): unexpected-char-in-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"'http://www.w3.org/TR/html4/strict.dtd'>",
      "errors": [
        "(1,50): unexpected-char-in-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!DOCTYPE HTML PUBLIC\"-//W3C//DTD HTML 4.01//EN\"'http://www.w3.org/TR/html4/strict.dtd'>",
      "errors": [
        "(1,21): unexpected-char-in-doctype",
        "(1,49): unexpected-char-in-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!DOCTYPE HTML PUBLIC'-//W3C//DTD HTML 4.01//EN''http://www.w3.org/TR/html4/strict.dtd'>",
      "errors": [
        "(1,21): unexpected-char-in-doctype",
        "(1,49): unexpected-char-in-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    }
  ],
  "domjs-unsafe.dat": [
    {
      "data": "<svg><![CDATA[foo\nbar]]>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(2,6): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "foo\nbar"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>foo\nbar</svg></body></html>",
        "noQuirksBodyHtml": "<svg>foo\nbar</svg>"
      }
    },
    {
      "data": "<svg><![CDATA[foo\rbar]]>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(2,6): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "foo\nbar"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>foo\nbar</svg></body></html>",
        "noQuirksBodyHtml": "<svg>foo\nbar</svg>"
      }
    },
    {
      "data": "<svg><![CDATA[foo\r\nbar]]>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(2,6): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "foo\nbar"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>foo\nbar</svg></body></html>",
        "noQuirksBodyHtml": "<svg>foo\nbar</svg>"
      }
    },
    {
      "data": "<script>a='\u0000'</script>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,12): invalid-codepoint"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "a='�'",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script>a='�'</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script>a='�'</script>"
      }
    },
    {
      "data": "<script type=\"data\"><!--\u0000</script>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag",
        "(1,25): invalid-codepoint"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "data"
                      }
                    ],
                    "children": [
                      {
                        "text": "<!--�",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script type=\"data\"><!--�</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script type=\"data\"><!--�</script>"
      }
    },
    {
      "data": "<script type=\"data\"><!--foo\u0000</script>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag",
        "(1,28): invalid-codepoint"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "data"
                      }
                    ],
                    "children": [
                      {
                        "text": "<!--foo�",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script type=\"data\"><!--foo�</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script type=\"data\"><!--foo�</script>"
      }
    },
    {
      "data": "<script type=\"data\"><!-- foo-\u0000</script>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag",
        "(1,30): invalid-codepoint"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "data"
                      }
                    ],
                    "children": [
                      {
                        "text": "<!-- foo-�",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script type=\"data\"><!-- foo-�</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script type=\"data\"><!-- foo-�</script>"
      }
    },
    {
      "data": "<script type=\"data\"><!-- foo--\u0000</script>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag",
        "(1,31): invalid-codepoint"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "data"
                      }
                    ],
                    "children": [
                      {
                        "text": "<!-- foo--�",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script type=\"data\"><!-- foo--�</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script type=\"data\"><!-- foo--�</script>"
      }
    },
    {
      "data": "<script type=\"data\"><!-- foo-",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag",
        "(1,29): expected-script-data-but-got-eof",
        "(1,29): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "data"
                      }
                    ],
                    "children": [
                      {
                        "text": "<!-- foo-",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script type=\"data\"><!-- foo-</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script type=\"data\"><!-- foo-</script>"
      }
    },
    {
      "data": "<script type=\"data\"><!-- foo-<</script>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "data"
                      }
                    ],
                    "children": [
                      {
                        "text": "<!-- foo-<",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script type=\"data\"><!-- foo-<</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script type=\"data\"><!-- foo-<</script>"
      }
    },
    {
      "data": "<script type=\"data\"><!-- foo-<S",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag",
        "(1,31): expected-script-data-but-got-eof",
        "(1,31): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "data"
                      }
                    ],
                    "children": [
                      {
                        "text": "<!-- foo-<S",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script type=\"data\"><!-- foo-<S</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script type=\"data\"><!-- foo-<S</script>"
      }
    },
    {
      "data": "<script type=\"data\"><!-- foo-</SCRIPT>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "data"
                      }
                    ],
                    "children": [
                      {
                        "text": "<!-- foo-",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script type=\"data\"><!-- foo-</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script type=\"data\"><!-- foo-</script>"
      }
    },
    {
      "data": "<script type=\"data\"><!--<p></script>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "data"
                      }
                    ],
                    "children": [
                      {
                        "text": "<!--<p>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script type=\"data\"><!--<p></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script type=\"data\"><!--<p></script>"
      }
    },
    {
      "data": "<script type=\"data\"><!--<script></script></script>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "data"
                      }
                    ],
                    "children": [
                      {
                        "text": "<!--<script></script>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script type=\"data\"><!--<script></script></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script type=\"data\"><!--<script></script></script>"
      }
    },
    {
      "data": "<script type=\"data\"><!--<script>\u0000</script></script>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag",
        "(1,33): invalid-codepoint"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "data"
                      }
                    ],
                    "children": [
                      {
                        "text": "<!--<script>�</script>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script type=\"data\"><!--<script>�</script></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script type=\"data\"><!--<script>�</script></script>"
      }
    },
    {
      "data": "<script type=\"data\"><!--<script>-\u0000</script></script>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag",
        "(1,34): invalid-codepoint"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "data"
                      }
                    ],
                    "children": [
                      {
                        "text": "<!--<script>-�</script>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script type=\"data\"><!--<script>-�</script></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script type=\"data\"><!--<script>-�</script></script>"
      }
    },
    {
      "data": "<script type=\"data\"><!--<script>--\u0000</script></script>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag",
        "(1,35): invalid-codepoint"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "data"
                      }
                    ],
                    "children": [
                      {
                        "text": "<!--<script>--�</script>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script type=\"data\"><!--<script>--�</script></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script type=\"data\"><!--<script>--�</script></script>"
      }
    },
    {
      "data": "<script type=\"data\"><!--<script>---</script></script>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "data"
                      }
                    ],
                    "children": [
                      {
                        "text": "<!--<script>---</script>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script type=\"data\"><!--<script>---</script></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script type=\"data\"><!--<script>---</script></script>"
      }
    },
    {
      "data": "<script type=\"data\"><!--<script></scrip></SCRIPT></script>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "data"
                      }
                    ],
                    "children": [
                      {
                        "text": "<!--<script></scrip></SCRIPT>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script type=\"data\"><!--<script></scrip></SCRIPT></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script type=\"data\"><!--<script></scrip></SCRIPT></script>"
      }
    },
    {
      "data": "<script type=\"data\"><!--<script></scrip </SCRIPT></script>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "data"
                      }
                    ],
                    "children": [
                      {
                        "text": "<!--<script></scrip </SCRIPT>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script type=\"data\"><!--<script></scrip </SCRIPT></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script type=\"data\"><!--<script></scrip </SCRIPT></script>"
      }
    },
    {
      "data": "<script type=\"data\"><!--<script></scrip/</SCRIPT></script>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "data"
                      }
                    ],
                    "children": [
                      {
                        "text": "<!--<script></scrip/</SCRIPT>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script type=\"data\"><!--<script></scrip/</SCRIPT></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script type=\"data\"><!--<script></scrip/</SCRIPT></script>"
      }
    },
    {
      "data": "<script type=\"data\"></scrip/></script>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "data"
                      }
                    ],
                    "children": [
                      {
                        "text": "</scrip/>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script type=\"data\"></scrip/></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script type=\"data\"></scrip/></script>"
      }
    },
    {
      "data": "<script type=\"data\"></scrip ></script>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "data"
                      }
                    ],
                    "children": [
                      {
                        "text": "</scrip >",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script type=\"data\"></scrip ></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script type=\"data\"></scrip ></script>"
      }
    },
    {
      "data": "<script type=\"data\"><!--</scrip></script>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "data"
                      }
                    ],
                    "children": [
                      {
                        "text": "<!--</scrip>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script type=\"data\"><!--</scrip></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script type=\"data\"><!--</scrip></script>"
      }
    },
    {
      "data": "<script type=\"data\"><!--</scrip </script>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "data"
                      }
                    ],
                    "children": [
                      {
                        "text": "<!--</scrip ",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script type=\"data\"><!--</scrip </script></head><body></body></html>",
        "noQuirksBodyHtml": "<script type=\"data\"><!--</scrip </script>"
      }
    },
    {
      "data": "<script type=\"data\"><!--</scrip/</script>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "data"
                      }
                    ],
                    "children": [
                      {
                        "text": "<!--</scrip/",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script type=\"data\"><!--</scrip/</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script type=\"data\"><!--</scrip/</script>"
      }
    },
    {
      "data": "<!DOCTYPE html><!DOCTYPE html>",
      "errors": [
        "(1,30): unexpected-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<html><!DOCTYPE html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,21): unexpected-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<html><head><!DOCTYPE html></head>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,27): unexpected-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<html><head></head><!DOCTYPE html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,34): unexpected-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<body></body><!DOCTYPE html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,28): unexpected-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<table><!DOCTYPE html></table>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,22): unexpected-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table></table></body></html>",
        "noQuirksBodyHtml": "<table></table>"
      }
    },
    {
      "data": "<select><!DOCTYPE html></select>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,23): unexpected-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><select></select></body></html>",
        "noQuirksBodyHtml": "<select></select>"
      }
    },
    {
      "data": "<table><colgroup><!DOCTYPE html></colgroup></table>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,32): unexpected-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "colgroup": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "colgroup"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><colgroup></colgroup></table></body></html>",
        "noQuirksBodyHtml": "<table><colgroup></colgroup></table>"
      }
    },
    {
      "data": "<table><colgroup><!--test--></colgroup></table>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "colgroup": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "colgroup",
                        "children": [
                          {
                            "comment": "test"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><colgroup><!--test--></colgroup></table></body></html>",
        "noQuirksBodyHtml": "<table><colgroup><!--test--></colgroup></table>"
      }
    },
    {
      "data": "<table><colgroup><html></colgroup></table>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,23): non-html-root"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "colgroup": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "colgroup"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><colgroup></colgroup></table></body></html>",
        "noQuirksBodyHtml": "<table><colgroup></colgroup></table>"
      }
    },
    {
      "data": "<table><colgroup> foo</colgroup></table>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,32): foster-parenting-character-in-table",
        "(1,32): foster-parenting-character-in-table",
        "(1,32): foster-parenting-character-in-table",
        "(1,32): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "colgroup": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "foo"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "colgroup",
                        "children": [
                          {
                            "text": " "
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>foo<table><colgroup> </colgroup></table></body></html>",
        "noQuirksBodyHtml": "foo<table><colgroup> </colgroup></table>"
      }
    },
    {
      "data": "<select><!--test--></select>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "comment": "test"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><select><!--test--></select></body></html>",
        "noQuirksBodyHtml": "<select><!--test--></select>"
      }
    },
    {
      "data": "<select><html></select>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,14): non-html-root"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><select></select></body></html>",
        "noQuirksBodyHtml": "<select></select>"
      }
    },
    {
      "data": "<frameset><html></frameset>",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag",
        "(1,16): non-html-root"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<frameset></frameset><html>",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag",
        "(1,27): non-html-root"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<frameset></frameset><!DOCTYPE html>",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag",
        "(1,36): unexpected-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<html><body></body></html><!DOCTYPE html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,41): unexpected-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<svg><!DOCTYPE html></svg>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,20): unexpected-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg></svg></body></html>",
        "noQuirksBodyHtml": "<svg></svg>"
      }
    },
    {
      "data": "<svg><font></font></svg>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg font": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "font",
                        "ns": "http://www.w3.org/2000/svg"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg><font></font></svg></body></html>",
        "noQuirksBodyHtml": "<svg><font></font></svg>"
      }
    },
    {
      "data": "<svg><font id=foo></font></svg>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg font": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "font",
                        "ns": "http://www.w3.org/2000/svg",
                        "attrs": [
                          {
                            "name": "id",
                            "value": "foo"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg><font id=\"foo\"></font></svg></body></html>",
        "noQuirksBodyHtml": "<svg><font id=\"foo\"></font></svg>"
      }
    },
    {
      "data": "<svg><font size=4></font></svg>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,18): unexpected-html-element-in-foreign-content",
        "(1,31): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "font": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg"
                  },
                  {
                    "tag": "font",
                    "attrs": [
                      {
                        "name": "size",
                        "value": "4"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg></svg><font size=\"4\"></font></body></html>",
        "noQuirksBodyHtml": "<svg><font size=\"4\"></font></svg>"
      }
    },
    {
      "data": "<svg><font color=red></font></svg>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,21): unexpected-html-element-in-foreign-content",
        "(1,34): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "font": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg"
                  },
                  {
                    "tag": "font",
                    "attrs": [
                      {
                        "name": "color",
                        "value": "red"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg></svg><font color=\"red\"></font></body></html>",
        "noQuirksBodyHtml": "<svg><font color=\"red\"></font></svg>"
      }
    },
    {
      "data": "<svg><font font=sans></font></svg>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg font": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "font",
                        "ns": "http://www.w3.org/2000/svg",
                        "attrs": [
                          {
                            "name": "font",
                            "value": "sans"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg><font font=\"sans\"></font></svg></body></html>",
        "noQuirksBodyHtml": "<svg><font font=\"sans\"></font></svg>"
      }
    }
  ],
  "entities01.dat": [
    {
      "data": "FOO&gt;BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO>BAR",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO&gt;BAR</body></html>",
        "noQuirksBodyHtml": "FOO&gt;BAR"
      }
    },
    {
      "data": "FOO&gtBAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,6): named-entity-without-semicolon"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO>BAR",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO&gt;BAR</body></html>",
        "noQuirksBodyHtml": "FOO&gt;BAR"
      }
    },
    {
      "data": "FOO&gt BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,6): named-entity-without-semicolon"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO> BAR",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO&gt; BAR</body></html>",
        "noQuirksBodyHtml": "FOO&gt; BAR"
      }
    },
    {
      "data": "FOO&gt;;;BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO>;;BAR",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO&gt;;;BAR</body></html>",
        "noQuirksBodyHtml": "FOO&gt;;;BAR"
      }
    },
    {
      "data": "I'm &notit; I tell you",
      "errors": [
        "(1,4): expected-doctype-but-got-chars",
        "(1,9): named-entity-without-semicolon"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "I'm ¬it; I tell you"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>I'm ¬it; I tell you</body></html>",
        "noQuirksBodyHtml": "I'm ¬it; I tell you"
      }
    },
    {
      "data": "I'm &notin; I tell you",
      "errors": [
        "(1,4): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "I'm ∉ I tell you"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>I'm ∉ I tell you</body></html>",
        "noQuirksBodyHtml": "I'm ∉ I tell you"
      }
    },
    {
      "data": "FOO& BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO& BAR",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO&amp; BAR</body></html>",
        "noQuirksBodyHtml": "FOO&amp; BAR"
      }
    },
    {
      "data": "FOO&<BAR>",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,9): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "bar": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO&",
                    "escaped": true
                  },
                  {
                    "tag": "bar"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO&amp;<bar></bar></body></html>",
        "noQuirksBodyHtml": "FOO&amp;<bar></bar>"
      }
    },
    {
      "data": "FOO&&&&gt;BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO&&&>BAR",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO&amp;&amp;&amp;&gt;BAR</body></html>",
        "noQuirksBodyHtml": "FOO&amp;&amp;&amp;&gt;BAR"
      }
    },
    {
      "data": "FOO&#41;BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO)BAR"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO)BAR</body></html>",
        "noQuirksBodyHtml": "FOO)BAR"
      }
    },
    {
      "data": "FOO&#x41;BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOOABAR"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOOABAR</body></html>",
        "noQuirksBodyHtml": "FOOABAR"
      }
    },
    {
      "data": "FOO&#X41;BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOOABAR"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOOABAR</body></html>",
        "noQuirksBodyHtml": "FOOABAR"
      }
    },
    {
      "data": "FOO&#BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,5): expected-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO&#BAR",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO&amp;#BAR</body></html>",
        "noQuirksBodyHtml": "FOO&amp;#BAR"
      }
    },
    {
      "data": "FOO&#ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,5): expected-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO&#ZOO",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO&amp;#ZOO</body></html>",
        "noQuirksBodyHtml": "FOO&amp;#ZOO"
      }
    },
    {
      "data": "FOO&#xBAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,7): expected-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOOºR"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOOºR</body></html>",
        "noQuirksBodyHtml": "FOOºR"
      }
    },
    {
      "data": "FOO&#xZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,6): expected-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO&#xZOO",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO&amp;#xZOO</body></html>",
        "noQuirksBodyHtml": "FOO&amp;#xZOO"
      }
    },
    {
      "data": "FOO&#XZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,6): expected-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO&#XZOO",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO&amp;#XZOO</body></html>",
        "noQuirksBodyHtml": "FOO&amp;#XZOO"
      }
    },
    {
      "data": "FOO&#41BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,7): numeric-entity-without-semicolon"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO)BAR"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO)BAR</body></html>",
        "noQuirksBodyHtml": "FOO)BAR"
      }
    },
    {
      "data": "FOO&#x41BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,10): numeric-entity-without-semicolon"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO䆺R"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO䆺R</body></html>",
        "noQuirksBodyHtml": "FOO䆺R"
      }
    },
    {
      "data": "FOO&#x41ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,8): numeric-entity-without-semicolon"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOOAZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOOAZOO</body></html>",
        "noQuirksBodyHtml": "FOOAZOO"
      }
    },
    {
      "data": "FOO&#x0000;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO�ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO�ZOO</body></html>",
        "noQuirksBodyHtml": "FOO�ZOO"
      }
    },
    {
      "data": "FOO&#x0078;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOOxZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOOxZOO</body></html>",
        "noQuirksBodyHtml": "FOOxZOO"
      }
    },
    {
      "data": "FOO&#x0079;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOOyZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOOyZOO</body></html>",
        "noQuirksBodyHtml": "FOOyZOO"
      }
    },
    {
      "data": "FOO&#x0080;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO€ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO€ZOO</body></html>",
        "noQuirksBodyHtml": "FOO€ZOO"
      }
    },
    {
      "data": "FOO&#x0081;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOOZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOOZOO</body></html>",
        "noQuirksBodyHtml": "FOOZOO"
      }
    },
    {
      "data": "FOO&#x0082;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO‚ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO‚ZOO</body></html>",
        "noQuirksBodyHtml": "FOO‚ZOO"
      }
    },
    {
      "data": "FOO&#x0083;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOOƒZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOOƒZOO</body></html>",
        "noQuirksBodyHtml": "FOOƒZOO"
      }
    },
    {
      "data": "FOO&#x0084;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO„ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO„ZOO</body></html>",
        "noQuirksBodyHtml": "FOO„ZOO"
      }
    },
    {
      "data": "FOO&#x0085;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO…ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO…ZOO</body></html>",
        "noQuirksBodyHtml": "FOO…ZOO"
      }
    },
    {
      "data": "FOO&#x0086;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO†ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO†ZOO</body></html>",
        "noQuirksBodyHtml": "FOO†ZOO"
      }
    },
    {
      "data": "FOO&#x0087;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO‡ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO‡ZOO</body></html>",
        "noQuirksBodyHtml": "FOO‡ZOO"
      }
    },
    {
      "data": "FOO&#x0088;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOOˆZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOOˆZOO</body></html>",
        "noQuirksBodyHtml": "FOOˆZOO"
      }
    },
    {
      "data": "FOO&#x0089;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO‰ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO‰ZOO</body></html>",
        "noQuirksBodyHtml": "FOO‰ZOO"
      }
    },
    {
      "data": "FOO&#x008A;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOOŠZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOOŠZOO</body></html>",
        "noQuirksBodyHtml": "FOOŠZOO"
      }
    },
    {
      "data": "FOO&#x008B;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO‹ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO‹ZOO</body></html>",
        "noQuirksBodyHtml": "FOO‹ZOO"
      }
    },
    {
      "data": "FOO&#x008C;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOOŒZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOOŒZOO</body></html>",
        "noQuirksBodyHtml": "FOOŒZOO"
      }
    },
    {
      "data": "FOO&#x008D;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOOZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOOZOO</body></html>",
        "noQuirksBodyHtml": "FOOZOO"
      }
    },
    {
      "data": "FOO&#x008E;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOOŽZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOOŽZOO</body></html>",
        "noQuirksBodyHtml": "FOOŽZOO"
      }
    },
    {
      "data": "FOO&#x008F;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOOZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOOZOO</body></html>",
        "noQuirksBodyHtml": "FOOZOO"
      }
    },
    {
      "data": "FOO&#x0090;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOOZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOOZOO</body></html>",
        "noQuirksBodyHtml": "FOOZOO"
      }
    },
    {
      "data": "FOO&#x0091;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO‘ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO‘ZOO</body></html>",
        "noQuirksBodyHtml": "FOO‘ZOO"
      }
    },
    {
      "data": "FOO&#x0092;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO’ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO’ZOO</body></html>",
        "noQuirksBodyHtml": "FOO’ZOO"
      }
    },
    {
      "data": "FOO&#x0093;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO“ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO“ZOO</body></html>",
        "noQuirksBodyHtml": "FOO“ZOO"
      }
    },
    {
      "data": "FOO&#x0094;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO”ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO”ZOO</body></html>",
        "noQuirksBodyHtml": "FOO”ZOO"
      }
    },
    {
      "data": "FOO&#x0095;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO•ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO•ZOO</body></html>",
        "noQuirksBodyHtml": "FOO•ZOO"
      }
    },
    {
      "data": "FOO&#x0096;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO–ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO–ZOO</body></html>",
        "noQuirksBodyHtml": "FOO–ZOO"
      }
    },
    {
      "data": "FOO&#x0097;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO—ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO—ZOO</body></html>",
        "noQuirksBodyHtml": "FOO—ZOO"
      }
    },
    {
      "data": "FOO&#x0098;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO˜ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO˜ZOO</body></html>",
        "noQuirksBodyHtml": "FOO˜ZOO"
      }
    },
    {
      "data": "FOO&#x0099;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO™ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO™ZOO</body></html>",
        "noQuirksBodyHtml": "FOO™ZOO"
      }
    },
    {
      "data": "FOO&#x009A;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOOšZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOOšZOO</body></html>",
        "noQuirksBodyHtml": "FOOšZOO"
      }
    },
    {
      "data": "FOO&#x009B;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO›ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO›ZOO</body></html>",
        "noQuirksBodyHtml": "FOO›ZOO"
      }
    },
    {
      "data": "FOO&#x009C;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOOœZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOOœZOO</body></html>",
        "noQuirksBodyHtml": "FOOœZOO"
      }
    },
    {
      "data": "FOO&#x009D;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOOZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOOZOO</body></html>",
        "noQuirksBodyHtml": "FOOZOO"
      }
    },
    {
      "data": "FOO&#x009E;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOOžZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOOžZOO</body></html>",
        "noQuirksBodyHtml": "FOOžZOO"
      }
    },
    {
      "data": "FOO&#x009F;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOOŸZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOOŸZOO</body></html>",
        "noQuirksBodyHtml": "FOOŸZOO"
      }
    },
    {
      "data": "FOO&#x00A0;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO ZOO",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO&nbsp;ZOO</body></html>",
        "noQuirksBodyHtml": "FOO&nbsp;ZOO"
      }
    },
    {
      "data": "FOO&#xD7FF;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO퟿ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO퟿ZOO</body></html>",
        "noQuirksBodyHtml": "FOO퟿ZOO"
      }
    },
    {
      "data": "FOO&#xD800;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO�ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO�ZOO</body></html>",
        "noQuirksBodyHtml": "FOO�ZOO"
      }
    },
    {
      "data": "FOO&#xD801;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO�ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO�ZOO</body></html>",
        "noQuirksBodyHtml": "FOO�ZOO"
      }
    },
    {
      "data": "FOO&#xDFFE;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO�ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO�ZOO</body></html>",
        "noQuirksBodyHtml": "FOO�ZOO"
      }
    },
    {
      "data": "FOO&#xDFFF;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO�ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO�ZOO</body></html>",
        "noQuirksBodyHtml": "FOO�ZOO"
      }
    },
    {
      "data": "FOO&#xE000;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOOZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOOZOO</body></html>",
        "noQuirksBodyHtml": "FOOZOO"
      }
    },
    {
      "data": "FOO&#x10FFFE;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,13): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO􏿾ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO􏿾ZOO</body></html>",
        "noQuirksBodyHtml": "FOO􏿾ZOO"
      }
    },
    {
      "data": "FOO&#x1087D4;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO􈟔ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO􈟔ZOO</body></html>",
        "noQuirksBodyHtml": "FOO􈟔ZOO"
      }
    },
    {
      "data": "FOO&#x10FFFF;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,13): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO􏿿ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO􏿿ZOO</body></html>",
        "noQuirksBodyHtml": "FOO􏿿ZOO"
      }
    },
    {
      "data": "FOO&#x110000;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,13): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO�ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO�ZOO</body></html>",
        "noQuirksBodyHtml": "FOO�ZOO"
      }
    },
    {
      "data": "FOO&#xFFFFFF;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,13): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO�ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO�ZOO</body></html>",
        "noQuirksBodyHtml": "FOO�ZOO"
      }
    },
    {
      "data": "FOO&#11111111111",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,13): illegal-codepoint-for-numeric-entity",
        "(1,13): eof-in-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO�"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO�</body></html>",
        "noQuirksBodyHtml": "FOO�"
      }
    },
    {
      "data": "FOO&#1111111111",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,13): illegal-codepoint-for-numeric-entity",
        "(1,13): eof-in-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO�"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO�</body></html>",
        "noQuirksBodyHtml": "FOO�"
      }
    },
    {
      "data": "FOO&#111111111111",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,13): illegal-codepoint-for-numeric-entity",
        "(1,13): eof-in-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO�"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO�</body></html>",
        "noQuirksBodyHtml": "FOO�"
      }
    },
    {
      "data": "FOO&#11111111111ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,16): numeric-entity-without-semicolon",
        "(1,16): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO�ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO�ZOO</body></html>",
        "noQuirksBodyHtml": "FOO�ZOO"
      }
    },
    {
      "data": "FOO&#1111111111ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,15): numeric-entity-without-semicolon",
        "(1,15): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO�ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO�ZOO</body></html>",
        "noQuirksBodyHtml": "FOO�ZOO"
      }
    },
    {
      "data": "FOO&#111111111111ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,17): numeric-entity-without-semicolon",
        "(1,17): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO�ZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO�ZOO</body></html>",
        "noQuirksBodyHtml": "FOO�ZOO"
      }
    }
  ],
  "entities02.dat": [
    {
      "data": "<div bar=\"ZZ&gt;YY\"></div>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "attrs": [
                      {
                        "name": "bar",
                        "value": "ZZ>YY"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div bar=\"ZZ>YY\"></div></body></html>",
        "noQuirksBodyHtml": "<div bar=\"ZZ>YY\"></div>"
      }
    },
    {
      "data": "<div bar=\"ZZ&\"></div>",
      "errors": [
        "(1,15): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "attrs": [
                      {
                        "name": "bar",
                        "value": "ZZ&",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div bar=\"ZZ&amp;\"></div></body></html>",
        "noQuirksBodyHtml": "<div bar=\"ZZ&amp;\"></div>"
      }
    },
    {
      "data": "<div bar='ZZ&'></div>",
      "errors": [
        "(1,15): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "attrs": [
                      {
                        "name": "bar",
                        "value": "ZZ&",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div bar=\"ZZ&amp;\"></div></body></html>",
        "noQuirksBodyHtml": "<div bar=\"ZZ&amp;\"></div>"
      }
    },
    {
      "data": "<div bar=ZZ&></div>",
      "errors": [
        "(1,13): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "attrs": [
                      {
                        "name": "bar",
                        "value": "ZZ&",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div bar=\"ZZ&amp;\"></div></body></html>",
        "noQuirksBodyHtml": "<div bar=\"ZZ&amp;\"></div>"
      }
    },
    {
      "data": "<div bar=\"ZZ&gt=YY\"></div>",
      "errors": [
        "(1,15): named-entity-without-semicolon",
        "(1,20): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "attrs": [
                      {
                        "name": "bar",
                        "value": "ZZ&gt=YY",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div bar=\"ZZ&amp;gt=YY\"></div></body></html>",
        "noQuirksBodyHtml": "<div bar=\"ZZ&amp;gt=YY\"></div>"
      }
    },
    {
      "data": "<div bar=\"ZZ&gt0YY\"></div>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "attrs": [
                      {
                        "name": "bar",
                        "value": "ZZ&gt0YY",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div bar=\"ZZ&amp;gt0YY\"></div></body></html>",
        "noQuirksBodyHtml": "<div bar=\"ZZ&amp;gt0YY\"></div>"
      }
    },
    {
      "data": "<div bar=\"ZZ&gt9YY\"></div>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "attrs": [
                      {
                        "name": "bar",
                        "value": "ZZ&gt9YY",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div bar=\"ZZ&amp;gt9YY\"></div></body></html>",
        "noQuirksBodyHtml": "<div bar=\"ZZ&amp;gt9YY\"></div>"
      }
    },
    {
      "data": "<div bar=\"ZZ&gtaYY\"></div>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "attrs": [
                      {
                        "name": "bar",
                        "value": "ZZ&gtaYY",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div bar=\"ZZ&amp;gtaYY\"></div></body></html>",
        "noQuirksBodyHtml": "<div bar=\"ZZ&amp;gtaYY\"></div>"
      }
    },
    {
      "data": "<div bar=\"ZZ&gtZYY\"></div>",
      "errors": [
        "(1,20): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "attrs": [
                      {
                        "name": "bar",
                        "value": "ZZ&gtZYY",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div bar=\"ZZ&amp;gtZYY\"></div></body></html>",
        "noQuirksBodyHtml": "<div bar=\"ZZ&amp;gtZYY\"></div>"
      }
    },
    {
      "data": "<div bar=\"ZZ&gt YY\"></div>",
      "errors": [
        "(1,15): named-entity-without-semicolon",
        "(1,20): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "attrs": [
                      {
                        "name": "bar",
                        "value": "ZZ> YY"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div bar=\"ZZ> YY\"></div></body></html>",
        "noQuirksBodyHtml": "<div bar=\"ZZ> YY\"></div>"
      }
    },
    {
      "data": "<div bar=\"ZZ&gt\"></div>",
      "errors": [
        "(1,15): named-entity-without-semicolon",
        "(1,17): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "attrs": [
                      {
                        "name": "bar",
                        "value": "ZZ>"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div bar=\"ZZ>\"></div></body></html>",
        "noQuirksBodyHtml": "<div bar=\"ZZ>\"></div>"
      }
    },
    {
      "data": "<div bar='ZZ&gt'></div>",
      "errors": [
        "(1,15): named-entity-without-semicolon",
        "(1,17): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "attrs": [
                      {
                        "name": "bar",
                        "value": "ZZ>"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div bar=\"ZZ>\"></div></body></html>",
        "noQuirksBodyHtml": "<div bar=\"ZZ>\"></div>"
      }
    },
    {
      "data": "<div bar=ZZ&gt></div>",
      "errors": [
        "(1,14): named-entity-without-semicolon",
        "(1,15): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "attrs": [
                      {
                        "name": "bar",
                        "value": "ZZ>"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div bar=\"ZZ>\"></div></body></html>",
        "noQuirksBodyHtml": "<div bar=\"ZZ>\"></div>"
      }
    },
    {
      "data": "<div bar=\"ZZ&pound_id=23\"></div>",
      "errors": [
        "(1,18): named-entity-without-semicolon",
        "(1,26): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "attrs": [
                      {
                        "name": "bar",
                        "value": "ZZ£_id=23"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div bar=\"ZZ£_id=23\"></div></body></html>",
        "noQuirksBodyHtml": "<div bar=\"ZZ£_id=23\"></div>"
      }
    },
    {
      "data": "<div bar=\"ZZ&prod_id=23\"></div>",
      "errors": [
        "(1,25): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "attrs": [
                      {
                        "name": "bar",
                        "value": "ZZ&prod_id=23",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div bar=\"ZZ&amp;prod_id=23\"></div></body></html>",
        "noQuirksBodyHtml": "<div bar=\"ZZ&amp;prod_id=23\"></div>"
      }
    },
    {
      "data": "<div bar=\"ZZ&pound;_id=23\"></div>",
      "errors": [
        "(1,27): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "attrs": [
                      {
                        "name": "bar",
                        "value": "ZZ£_id=23"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div bar=\"ZZ£_id=23\"></div></body></html>",
        "noQuirksBodyHtml": "<div bar=\"ZZ£_id=23\"></div>"
      }
    },
    {
      "data": "<div bar=\"ZZ&prod;_id=23\"></div>",
      "errors": [
        "(1,26): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "attrs": [
                      {
                        "name": "bar",
                        "value": "ZZ∏_id=23"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div bar=\"ZZ∏_id=23\"></div></body></html>",
        "noQuirksBodyHtml": "<div bar=\"ZZ∏_id=23\"></div>"
      }
    },
    {
      "data": "<div bar=\"ZZ&pound=23\"></div>",
      "errors": [
        "(1,18): named-entity-without-semicolon",
        "(1,23): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "attrs": [
                      {
                        "name": "bar",
                        "value": "ZZ&pound=23",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div bar=\"ZZ&amp;pound=23\"></div></body></html>",
        "noQuirksBodyHtml": "<div bar=\"ZZ&amp;pound=23\"></div>"
      }
    },
    {
      "data": "<div bar=\"ZZ&prod=23\"></div>",
      "errors": [
        "(1,22): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "attrs": [
                      {
                        "name": "bar",
                        "value": "ZZ&prod=23",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div bar=\"ZZ&amp;prod=23\"></div></body></html>",
        "noQuirksBodyHtml": "<div bar=\"ZZ&amp;prod=23\"></div>"
      }
    },
    {
      "data": "<div>ZZ&pound_id=23</div>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,13): named-entity-without-semicolon"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": "ZZ£_id=23"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div>ZZ£_id=23</div></body></html>",
        "noQuirksBodyHtml": "<div>ZZ£_id=23</div>"
      }
    },
    {
      "data": "<div>ZZ&prod_id=23</div>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": "ZZ&prod_id=23",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div>ZZ&amp;prod_id=23</div></body></html>",
        "noQuirksBodyHtml": "<div>ZZ&amp;prod_id=23</div>"
      }
    },
    {
      "data": "<div>ZZ&pound;_id=23</div>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": "ZZ£_id=23"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div>ZZ£_id=23</div></body></html>",
        "noQuirksBodyHtml": "<div>ZZ£_id=23</div>"
      }
    },
    {
      "data": "<div>ZZ&prod;_id=23</div>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": "ZZ∏_id=23"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div>ZZ∏_id=23</div></body></html>",
        "noQuirksBodyHtml": "<div>ZZ∏_id=23</div>"
      }
    },
    {
      "data": "<div>ZZ&pound=23</div>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,13): named-entity-without-semicolon"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": "ZZ£=23"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div>ZZ£=23</div></body></html>",
        "noQuirksBodyHtml": "<div>ZZ£=23</div>"
      }
    },
    {
      "data": "<div>ZZ&prod=23</div>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": "ZZ&prod=23",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div>ZZ&amp;prod=23</div></body></html>",
        "noQuirksBodyHtml": "<div>ZZ&amp;prod=23</div>"
      }
    },
    {
      "data": "<div>ZZ&AElig=</div>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": "ZZÆ="
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div>ZZÆ=</div></body></html>",
        "noQuirksBodyHtml": "<div>ZZÆ=</div>"
      }
    }
  ],
  "foreign-fragment.dat": [
    {
      "data": "<nobr>X",
      "errors": [
        "6: HTML start tag “nobr” in a foreign namespace context.",
        "7: End of file seen and there were open elements.",
        "6: Unclosed element “nobr”."
      ],
      "fragment": {
        "name": "path",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {
            "svg nobr": true
          }
        },
        "tree": [
          {
            "tag": "nobr",
            "ns": "http://www.w3.org/2000/svg",
            "children": [
              {
                "text": "X"
              }
            ]
          }
        ],
        "html": "<nobr>X</nobr>",
        "noQuirksBodyHtml": "<nobr>X</nobr>"
      }
    },
    {
      "data": "<font color></font>X",
      "errors": [
        "12: HTML start tag “font” in a foreign namespace context."
      ],
      "fragment": {
        "name": "path",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {
            "svg font": true
          }
        },
        "tree": [
          {
            "tag": "font",
            "ns": "http://www.w3.org/2000/svg",
            "attrs": [
              {
                "name": "color",
                "value": ""
              }
            ]
          },
          {
            "text": "X"
          }
        ],
        "html": "<font color=\"\"></font>X",
        "noQuirksBodyHtml": "<font color=\"\"></font>X"
      }
    },
    {
      "data": "<font></font>X",
      "errors": [],
      "fragment": {
        "name": "path",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {
            "svg font": true
          }
        },
        "tree": [
          {
            "tag": "font",
            "ns": "http://www.w3.org/2000/svg"
          },
          {
            "text": "X"
          }
        ],
        "html": "<font></font>X",
        "noQuirksBodyHtml": "<font></font>X"
      }
    },
    {
      "data": "<g></path>X",
      "errors": [
        "10: End tag “path” did not match the name of the current open element (“g”).",
        "11: End of file seen and there were open elements.",
        "3: Unclosed element “g”."
      ],
      "fragment": {
        "name": "path",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {
            "svg g": true
          }
        },
        "tree": [
          {
            "tag": "g",
            "ns": "http://www.w3.org/2000/svg",
            "children": [
              {
                "text": "X"
              }
            ]
          }
        ],
        "html": "<g>X</g>",
        "noQuirksBodyHtml": "<g>X</g>"
      }
    },
    {
      "data": "</path>X",
      "errors": [
        "5: Stray end tag “path”."
      ],
      "fragment": {
        "name": "path",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {}
        },
        "tree": [
          {
            "text": "X"
          }
        ],
        "html": "X",
        "noQuirksBodyHtml": "X"
      }
    },
    {
      "data": "</foreignObject>X",
      "errors": [
        "5: Stray end tag “foreignobject”."
      ],
      "fragment": {
        "name": "foreignObject",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {}
        },
        "tree": [
          {
            "text": "X"
          }
        ],
        "html": "X",
        "noQuirksBodyHtml": "X"
      }
    },
    {
      "data": "</desc>X",
      "errors": [
        "5: Stray end tag “desc”."
      ],
      "fragment": {
        "name": "desc",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {}
        },
        "tree": [
          {
            "text": "X"
          }
        ],
        "html": "X",
        "noQuirksBodyHtml": "X"
      }
    },
    {
      "data": "</title>X",
      "errors": [
        "5: Stray end tag “title”."
      ],
      "fragment": {
        "name": "title",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {}
        },
        "tree": [
          {
            "text": "X"
          }
        ],
        "html": "X",
        "noQuirksBodyHtml": "X"
      }
    },
    {
      "data": "</svg>X",
      "errors": [
        "5: Stray end tag “svg”."
      ],
      "fragment": {
        "name": "svg",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {}
        },
        "tree": [
          {
            "text": "X"
          }
        ],
        "html": "X",
        "noQuirksBodyHtml": "X"
      }
    },
    {
      "data": "</mfenced>X",
      "errors": [
        "5: Stray end tag “mfenced”."
      ],
      "fragment": {
        "name": "mfenced",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {}
        },
        "tree": [
          {
            "text": "X"
          }
        ],
        "html": "X",
        "noQuirksBodyHtml": "X"
      }
    },
    {
      "data": "</malignmark>X",
      "errors": [
        "5: Stray end tag “malignmark”."
      ],
      "fragment": {
        "name": "malignmark",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {}
        },
        "tree": [
          {
            "text": "X"
          }
        ],
        "html": "X",
        "noQuirksBodyHtml": "X"
      }
    },
    {
      "data": "</math>X",
      "errors": [
        "5: Stray end tag “math”."
      ],
      "fragment": {
        "name": "math",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {}
        },
        "tree": [
          {
            "text": "X"
          }
        ],
        "html": "X",
        "noQuirksBodyHtml": "X"
      }
    },
    {
      "data": "</annotation-xml>X",
      "errors": [
        "5: Stray end tag “annotation-xml”."
      ],
      "fragment": {
        "name": "annotation-xml",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {}
        },
        "tree": [
          {
            "text": "X"
          }
        ],
        "html": "X",
        "noQuirksBodyHtml": "X"
      }
    },
    {
      "data": "</mtext>X",
      "errors": [
        "5: Stray end tag “mtext”."
      ],
      "fragment": {
        "name": "mtext",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {}
        },
        "tree": [
          {
            "text": "X"
          }
        ],
        "html": "X",
        "noQuirksBodyHtml": "X"
      }
    },
    {
      "data": "</mi>X",
      "errors": [
        "5: Stray end tag “mi”."
      ],
      "fragment": {
        "name": "mi",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {}
        },
        "tree": [
          {
            "text": "X"
          }
        ],
        "html": "X",
        "noQuirksBodyHtml": "X"
      }
    },
    {
      "data": "</mo>X",
      "errors": [
        "5: Stray end tag “mo”."
      ],
      "fragment": {
        "name": "mo",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {}
        },
        "tree": [
          {
            "text": "X"
          }
        ],
        "html": "X",
        "noQuirksBodyHtml": "X"
      }
    },
    {
      "data": "</mn>X",
      "errors": [
        "5: Stray end tag “mn”."
      ],
      "fragment": {
        "name": "mn",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {}
        },
        "tree": [
          {
            "text": "X"
          }
        ],
        "html": "X",
        "noQuirksBodyHtml": "X"
      }
    },
    {
      "data": "</ms>X",
      "errors": [
        "5: Stray end tag “ms”."
      ],
      "fragment": {
        "name": "ms",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {}
        },
        "tree": [
          {
            "text": "X"
          }
        ],
        "html": "X",
        "noQuirksBodyHtml": "X"
      }
    },
    {
      "data": "<b></b><mglyph/><i></i><malignmark/><u></u><ms/>X",
      "errors": [
        "51: Self-closing syntax (“/>”) used on a non-void HTML element. Ignoring the slash and treating as a start tag.",
        "52: End of file seen and there were open elements.",
        "51: Unclosed element “ms”."
      ],
      "fragment": {
        "name": "ms",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {
            "b": true,
            "math mglyph": true,
            "i": true,
            "math malignmark": true,
            "u": true,
            "ms": true
          }
        },
        "tree": [
          {
            "tag": "b"
          },
          {
            "tag": "mglyph",
            "ns": "http://www.w3.org/1998/Math/MathML"
          },
          {
            "tag": "i"
          },
          {
            "tag": "malignmark",
            "ns": "http://www.w3.org/1998/Math/MathML"
          },
          {
            "tag": "u"
          },
          {
            "tag": "ms",
            "children": [
              {
                "text": "X"
              }
            ]
          }
        ],
        "html": "<b></b><mglyph></mglyph><i></i><malignmark></malignmark><u></u><ms>X</ms>",
        "noQuirksBodyHtml": "<b></b><mglyph><i></i><malignmark><u></u><ms>X</ms></malignmark></mglyph>"
      }
    },
    {
      "data": "<malignmark></malignmark>",
      "errors": [],
      "fragment": {
        "name": "ms",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {
            "math malignmark": true
          }
        },
        "tree": [
          {
            "tag": "malignmark",
            "ns": "http://www.w3.org/1998/Math/MathML"
          }
        ],
        "html": "<malignmark></malignmark>",
        "noQuirksBodyHtml": "<malignmark></malignmark>"
      }
    },
    {
      "data": "<div></div>",
      "errors": [],
      "fragment": {
        "name": "ms",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {
            "div": true
          }
        },
        "tree": [
          {
            "tag": "div"
          }
        ],
        "html": "<div></div>",
        "noQuirksBodyHtml": "<div></div>"
      }
    },
    {
      "data": "<figure></figure>",
      "errors": [],
      "fragment": {
        "name": "ms",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {
            "figure": true
          }
        },
        "tree": [
          {
            "tag": "figure"
          }
        ],
        "html": "<figure></figure>",
        "noQuirksBodyHtml": "<figure></figure>"
      }
    },
    {
      "data": "<b></b><mglyph/><i></i><malignmark/><u></u><mn/>X",
      "errors": [
        "51: Self-closing syntax (“/>”) used on a non-void HTML element. Ignoring the slash and treating as a start tag.",
        "52: End of file seen and there were open elements.",
        "51: Unclosed element “mn”."
      ],
      "fragment": {
        "name": "mn",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {
            "b": true,
            "math mglyph": true,
            "i": true,
            "math malignmark": true,
            "u": true,
            "mn": true
          }
        },
        "tree": [
          {
            "tag": "b"
          },
          {
            "tag": "mglyph",
            "ns": "http://www.w3.org/1998/Math/MathML"
          },
          {
            "tag": "i"
          },
          {
            "tag": "malignmark",
            "ns": "http://www.w3.org/1998/Math/MathML"
          },
          {
            "tag": "u"
          },
          {
            "tag": "mn",
            "children": [
              {
                "text": "X"
              }
            ]
          }
        ],
        "html": "<b></b><mglyph></mglyph><i></i><malignmark></malignmark><u></u><mn>X</mn>",
        "noQuirksBodyHtml": "<b></b><mglyph><i></i><malignmark><u></u><mn>X</mn></malignmark></mglyph>"
      }
    },
    {
      "data": "<malignmark></malignmark>",
      "errors": [],
      "fragment": {
        "name": "mn",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {
            "math malignmark": true
          }
        },
        "tree": [
          {
            "tag": "malignmark",
            "ns": "http://www.w3.org/1998/Math/MathML"
          }
        ],
        "html": "<malignmark></malignmark>",
        "noQuirksBodyHtml": "<malignmark></malignmark>"
      }
    },
    {
      "data": "<div></div>",
      "errors": [],
      "fragment": {
        "name": "mn",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {
            "div": true
          }
        },
        "tree": [
          {
            "tag": "div"
          }
        ],
        "html": "<div></div>",
        "noQuirksBodyHtml": "<div></div>"
      }
    },
    {
      "data": "<figure></figure>",
      "errors": [],
      "fragment": {
        "name": "mn",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {
            "figure": true
          }
        },
        "tree": [
          {
            "tag": "figure"
          }
        ],
        "html": "<figure></figure>",
        "noQuirksBodyHtml": "<figure></figure>"
      }
    },
    {
      "data": "<b></b><mglyph/><i></i><malignmark/><u></u><mo/>X",
      "errors": [
        "51: Self-closing syntax (“/>”) used on a non-void HTML element. Ignoring the slash and treating as a start tag.",
        "52: End of file seen and there were open elements.",
        "51: Unclosed element “mo”."
      ],
      "fragment": {
        "name": "mo",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {
            "b": true,
            "math mglyph": true,
            "i": true,
            "math malignmark": true,
            "u": true,
            "mo": true
          }
        },
        "tree": [
          {
            "tag": "b"
          },
          {
            "tag": "mglyph",
            "ns": "http://www.w3.org/1998/Math/MathML"
          },
          {
            "tag": "i"
          },
          {
            "tag": "malignmark",
            "ns": "http://www.w3.org/1998/Math/MathML"
          },
          {
            "tag": "u"
          },
          {
            "tag": "mo",
            "children": [
              {
                "text": "X"
              }
            ]
          }
        ],
        "html": "<b></b><mglyph></mglyph><i></i><malignmark></malignmark><u></u><mo>X</mo>",
        "noQuirksBodyHtml": "<b></b><mglyph><i></i><malignmark><u></u><mo>X</mo></malignmark></mglyph>"
      }
    },
    {
      "data": "<malignmark></malignmark>",
      "errors": [],
      "fragment": {
        "name": "mo",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {
            "math malignmark": true
          }
        },
        "tree": [
          {
            "tag": "malignmark",
            "ns": "http://www.w3.org/1998/Math/MathML"
          }
        ],
        "html": "<malignmark></malignmark>",
        "noQuirksBodyHtml": "<malignmark></malignmark>"
      }
    },
    {
      "data": "<div></div>",
      "errors": [],
      "fragment": {
        "name": "mo",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {
            "div": true
          }
        },
        "tree": [
          {
            "tag": "div"
          }
        ],
        "html": "<div></div>",
        "noQuirksBodyHtml": "<div></div>"
      }
    },
    {
      "data": "<figure></figure>",
      "errors": [],
      "fragment": {
        "name": "mo",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {
            "figure": true
          }
        },
        "tree": [
          {
            "tag": "figure"
          }
        ],
        "html": "<figure></figure>",
        "noQuirksBodyHtml": "<figure></figure>"
      }
    },
    {
      "data": "<b></b><mglyph/><i></i><malignmark/><u></u><mi/>X",
      "errors": [
        "51: Self-closing syntax (“/>”) used on a non-void HTML element. Ignoring the slash and treating as a start tag.",
        "52: End of file seen and there were open elements.",
        "51: Unclosed element “mi”."
      ],
      "fragment": {
        "name": "mi",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {
            "b": true,
            "math mglyph": true,
            "i": true,
            "math malignmark": true,
            "u": true,
            "mi": true
          }
        },
        "tree": [
          {
            "tag": "b"
          },
          {
            "tag": "mglyph",
            "ns": "http://www.w3.org/1998/Math/MathML"
          },
          {
            "tag": "i"
          },
          {
            "tag": "malignmark",
            "ns": "http://www.w3.org/1998/Math/MathML"
          },
          {
            "tag": "u"
          },
          {
            "tag": "mi",
            "children": [
              {
                "text": "X"
              }
            ]
          }
        ],
        "html": "<b></b><mglyph></mglyph><i></i><malignmark></malignmark><u></u><mi>X</mi>",
        "noQuirksBodyHtml": "<b></b><mglyph><i></i><malignmark><u></u><mi>X</mi></malignmark></mglyph>"
      }
    },
    {
      "data": "<malignmark></malignmark>",
      "errors": [],
      "fragment": {
        "name": "mi",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {
            "math malignmark": true
          }
        },
        "tree": [
          {
            "tag": "malignmark",
            "ns": "http://www.w3.org/1998/Math/MathML"
          }
        ],
        "html": "<malignmark></malignmark>",
        "noQuirksBodyHtml": "<malignmark></malignmark>"
      }
    },
    {
      "data": "<div></div>",
      "errors": [],
      "fragment": {
        "name": "mi",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {
            "div": true
          }
        },
        "tree": [
          {
            "tag": "div"
          }
        ],
        "html": "<div></div>",
        "noQuirksBodyHtml": "<div></div>"
      }
    },
    {
      "data": "<figure></figure>",
      "errors": [],
      "fragment": {
        "name": "mi",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {
            "figure": true
          }
        },
        "tree": [
          {
            "tag": "figure"
          }
        ],
        "html": "<figure></figure>",
        "noQuirksBodyHtml": "<figure></figure>"
      }
    },
    {
      "data": "<b></b><mglyph/><i></i><malignmark/><u></u><mtext/>X",
      "errors": [
        "51: Self-closing syntax (“/>”) used on a non-void HTML element. Ignoring the slash and treating as a start tag.",
        "52: End of file seen and there were open elements.",
        "51: Unclosed element “mtext”."
      ],
      "fragment": {
        "name": "mtext",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {
            "b": true,
            "math mglyph": true,
            "i": true,
            "math malignmark": true,
            "u": true,
            "mtext": true
          }
        },
        "tree": [
          {
            "tag": "b"
          },
          {
            "tag": "mglyph",
            "ns": "http://www.w3.org/1998/Math/MathML"
          },
          {
            "tag": "i"
          },
          {
            "tag": "malignmark",
            "ns": "http://www.w3.org/1998/Math/MathML"
          },
          {
            "tag": "u"
          },
          {
            "tag": "mtext",
            "children": [
              {
                "text": "X"
              }
            ]
          }
        ],
        "html": "<b></b><mglyph></mglyph><i></i><malignmark></malignmark><u></u><mtext>X</mtext>",
        "noQuirksBodyHtml": "<b></b><mglyph><i></i><malignmark><u></u><mtext>X</mtext></malignmark></mglyph>"
      }
    },
    {
      "data": "<malignmark></malignmark>",
      "errors": [],
      "fragment": {
        "name": "mtext",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {
            "math malignmark": true
          }
        },
        "tree": [
          {
            "tag": "malignmark",
            "ns": "http://www.w3.org/1998/Math/MathML"
          }
        ],
        "html": "<malignmark></malignmark>",
        "noQuirksBodyHtml": "<malignmark></malignmark>"
      }
    },
    {
      "data": "<div></div>",
      "errors": [],
      "fragment": {
        "name": "mtext",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {
            "div": true
          }
        },
        "tree": [
          {
            "tag": "div"
          }
        ],
        "html": "<div></div>",
        "noQuirksBodyHtml": "<div></div>"
      }
    },
    {
      "data": "<figure></figure>",
      "errors": [],
      "fragment": {
        "name": "mtext",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {
            "figure": true
          }
        },
        "tree": [
          {
            "tag": "figure"
          }
        ],
        "html": "<figure></figure>",
        "noQuirksBodyHtml": "<figure></figure>"
      }
    },
    {
      "data": "<div></div>",
      "errors": [
        "5: HTML start tag “div” in a foreign namespace context."
      ],
      "fragment": {
        "name": "annotation-xml",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {
            "math div": true
          }
        },
        "tree": [
          {
            "tag": "div",
            "ns": "http://www.w3.org/1998/Math/MathML"
          }
        ],
        "html": "<div></div>",
        "noQuirksBodyHtml": "<div></div>"
      }
    },
    {
      "data": "<figure></figure>",
      "errors": [],
      "fragment": {
        "name": "annotation-xml",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {
            "math figure": true
          }
        },
        "tree": [
          {
            "tag": "figure",
            "ns": "http://www.w3.org/1998/Math/MathML"
          }
        ],
        "html": "<figure></figure>",
        "noQuirksBodyHtml": "<figure></figure>"
      }
    },
    {
      "data": "<div></div>",
      "errors": [
        "5: HTML start tag “div” in a foreign namespace context."
      ],
      "fragment": {
        "name": "math",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {
            "math div": true
          }
        },
        "tree": [
          {
            "tag": "div",
            "ns": "http://www.w3.org/1998/Math/MathML"
          }
        ],
        "html": "<div></div>",
        "noQuirksBodyHtml": "<div></div>"
      }
    },
    {
      "data": "<figure></figure>",
      "errors": [],
      "fragment": {
        "name": "math",
        "ns": "http://www.w3.org/1998/Math/MathML"
      },
      "document": {
        "props": {
          "tags": {
            "math figure": true
          }
        },
        "tree": [
          {
            "tag": "figure",
            "ns": "http://www.w3.org/1998/Math/MathML"
          }
        ],
        "html": "<figure></figure>",
        "noQuirksBodyHtml": "<figure></figure>"
      }
    },
    {
      "data": "<div></div>",
      "errors": [],
      "fragment": {
        "name": "foreignObject",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {
            "div": true
          }
        },
        "tree": [
          {
            "tag": "div"
          }
        ],
        "html": "<div></div>",
        "noQuirksBodyHtml": "<div></div>"
      }
    },
    {
      "data": "<figure></figure>",
      "errors": [],
      "fragment": {
        "name": "foreignObject",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {
            "figure": true
          }
        },
        "tree": [
          {
            "tag": "figure"
          }
        ],
        "html": "<figure></figure>",
        "noQuirksBodyHtml": "<figure></figure>"
      }
    },
    {
      "data": "<div></div>",
      "errors": [],
      "fragment": {
        "name": "title",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {
            "div": true
          }
        },
        "tree": [
          {
            "tag": "div"
          }
        ],
        "html": "<div></div>",
        "noQuirksBodyHtml": "<div></div>"
      }
    },
    {
      "data": "<figure></figure>",
      "errors": [],
      "fragment": {
        "name": "title",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {
            "figure": true
          }
        },
        "tree": [
          {
            "tag": "figure"
          }
        ],
        "html": "<figure></figure>",
        "noQuirksBodyHtml": "<figure></figure>"
      }
    },
    {
      "data": "<figure></figure>",
      "errors": [],
      "fragment": {
        "name": "desc",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {
            "figure": true
          }
        },
        "tree": [
          {
            "tag": "figure"
          }
        ],
        "html": "<figure></figure>",
        "noQuirksBodyHtml": "<figure></figure>"
      }
    },
    {
      "data": "<div><h1>X</h1></div>",
      "errors": [
        "5: HTML start tag “div” in a foreign namespace context.",
        "9: HTML start tag “h1” in a foreign namespace context."
      ],
      "fragment": {
        "name": "svg",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {
            "svg div": true,
            "svg h1": true
          }
        },
        "tree": [
          {
            "tag": "div",
            "ns": "http://www.w3.org/2000/svg",
            "children": [
              {
                "tag": "h1",
                "ns": "http://www.w3.org/2000/svg",
                "children": [
                  {
                    "text": "X"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<div><h1>X</h1></div>",
        "noQuirksBodyHtml": "<div><h1>X</h1></div>"
      }
    },
    {
      "data": "<div></div>",
      "errors": [
        "5: HTML start tag “div” in a foreign namespace context."
      ],
      "fragment": {
        "name": "svg",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {
            "svg div": true
          }
        },
        "tree": [
          {
            "tag": "div",
            "ns": "http://www.w3.org/2000/svg"
          }
        ],
        "html": "<div></div>",
        "noQuirksBodyHtml": "<div></div>"
      }
    },
    {
      "data": "<div></div>",
      "errors": [],
      "fragment": {
        "name": "desc",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {
            "div": true
          }
        },
        "tree": [
          {
            "tag": "div"
          }
        ],
        "html": "<div></div>",
        "noQuirksBodyHtml": "<div></div>"
      }
    },
    {
      "data": "<figure></figure>",
      "errors": [],
      "fragment": {
        "name": "desc",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {
            "figure": true
          }
        },
        "tree": [
          {
            "tag": "figure"
          }
        ],
        "html": "<figure></figure>",
        "noQuirksBodyHtml": "<figure></figure>"
      }
    },
    {
      "data": "<plaintext><foo>",
      "errors": [
        "(1,16): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "desc",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {
            "plaintext": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "plaintext",
            "children": [
              {
                "text": "<foo>",
                "no_escape": true
              }
            ]
          }
        ],
        "html": "<plaintext><foo></plaintext>",
        "noQuirksBodyHtml": "<plaintext><foo></plaintext>"
      }
    },
    {
      "data": "<frameset>X",
      "errors": [
        "6: Stray start tag “frameset”."
      ],
      "fragment": {
        "name": "desc",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {}
        },
        "tree": [
          {
            "text": "X"
          }
        ],
        "html": "X",
        "noQuirksBodyHtml": "X"
      }
    },
    {
      "data": "<head>X",
      "errors": [
        "6: Stray start tag “head”."
      ],
      "fragment": {
        "name": "desc",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {}
        },
        "tree": [
          {
            "text": "X"
          }
        ],
        "html": "X",
        "noQuirksBodyHtml": "X"
      }
    },
    {
      "data": "<body>X",
      "errors": [
        "6: Stray start tag “body”."
      ],
      "fragment": {
        "name": "desc",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {}
        },
        "tree": [
          {
            "text": "X"
          }
        ],
        "html": "X",
        "noQuirksBodyHtml": "X"
      }
    },
    {
      "data": "<html>X",
      "errors": [
        "6: Stray start tag “html”."
      ],
      "fragment": {
        "name": "desc",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {}
        },
        "tree": [
          {
            "text": "X"
          }
        ],
        "html": "X",
        "noQuirksBodyHtml": "X"
      }
    },
    {
      "data": "<html class=\"foo\">X",
      "errors": [
        "6: Stray start tag “html”."
      ],
      "fragment": {
        "name": "desc",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {}
        },
        "tree": [
          {
            "text": "X"
          }
        ],
        "html": "X",
        "noQuirksBodyHtml": "X"
      }
    },
    {
      "data": "<body class=\"foo\">X",
      "errors": [
        "6: Stray start tag “body”."
      ],
      "fragment": {
        "name": "desc",
        "ns": "http://www.w3.org/2000/svg"
      },
      "document": {
        "props": {
          "tags": {}
        },
        "tree": [
          {
            "text": "X"
          }
        ],
        "html": "X",
        "noQuirksBodyHtml": "X"
      }
    }
  ],
  "html5test-com.dat": [
    {
      "data": "<div<div>",
      "errors": [
        "(1,9): expected-doctype-but-got-start-tag",
        "(1,9): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div<div": true
          },
          "tagWithLt": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div<div"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div<div></div<div></body></html>",
        "noQuirksBodyHtml": "<div<div></div<div>"
      }
    },
    {
      "data": "<div foo<bar=''>",
      "errors": [
        "(1,9): invalid-character-in-attribute-name",
        "(1,16): expected-doctype-but-got-start-tag",
        "(1,16): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          },
          "attrWithFunnyChar": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "attrs": [
                      {
                        "name": "foo<bar",
                        "value": ""
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div foo<bar=\"\"></div></body></html>",
        "noQuirksBodyHtml": "<div foo<bar=\"\"></div>"
      }
    },
    {
      "data": "<div foo=`bar`>",
      "errors": [
        "(1,10): equals-in-unquoted-attribute-value",
        "(1,14): unexpected-character-in-unquoted-attribute-value",
        "(1,15): expected-doctype-but-got-start-tag",
        "(1,15): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "attrs": [
                      {
                        "name": "foo",
                        "value": "`bar`"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div foo=\"`bar`\"></div></body></html>",
        "noQuirksBodyHtml": "<div foo=\"`bar`\"></div>"
      }
    },
    {
      "data": "<div \\\"foo=''>",
      "errors": [
        "(1,7): invalid-character-in-attribute-name",
        "(1,14): expected-doctype-but-got-start-tag",
        "(1,14): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          },
          "attrWithFunnyChar": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "attrs": [
                      {
                        "name": "\\\"foo",
                        "value": ""
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div \\\"foo=\"\"></div></body></html>",
        "noQuirksBodyHtml": "<div \\\"foo=\"\"></div>"
      }
    },
    {
      "data": "<a href='\\nbar'></a>",
      "errors": [
        "(1,16): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "attrs": [
                      {
                        "name": "href",
                        "value": "\\nbar"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a href=\"\\nbar\"></a></body></html>",
        "noQuirksBodyHtml": "<a href=\"\\nbar\"></a>"
      }
    },
    {
      "data": "<!DOCTYPE html>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "&lang;&rang;",
      "errors": [
        "(1,6): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "⟨⟩"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>⟨⟩</body></html>",
        "noQuirksBodyHtml": "⟨⟩"
      }
    },
    {
      "data": "&apos;",
      "errors": [
        "(1,6): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "'"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>'</body></html>",
        "noQuirksBodyHtml": "'"
      }
    },
    {
      "data": "&ImaginaryI;",
      "errors": [
        "(1,12): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "ⅈ"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>ⅈ</body></html>",
        "noQuirksBodyHtml": "ⅈ"
      }
    },
    {
      "data": "&Kopf;",
      "errors": [
        "(1,6): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "𝕂"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>𝕂</body></html>",
        "noQuirksBodyHtml": "𝕂"
      }
    },
    {
      "data": "&notinva;",
      "errors": [
        "(1,9): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "∉"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>∉</body></html>",
        "noQuirksBodyHtml": "∉"
      }
    },
    {
      "data": "<?import namespace=\"foo\" implementation=\"#bar\">",
      "errors": [
        "(1,1): expected-tag-name-but-got-question-mark",
        "(1,47): expected-doctype-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "comment": "?import namespace=\"foo\" implementation=\"#bar\""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!--?import namespace=\"foo\" implementation=\"#bar\"--><html><head></head><body></body></html>",
        "noQuirksBodyHtml": "<!--?import namespace=\"foo\" implementation=\"#bar\"-->"
      }
    },
    {
      "data": "<!--foo--bar-->",
      "errors": [
        "(1,10): unexpected-char-in-comment",
        "(1,15): expected-doctype-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "comment": "foo--bar"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!--foo--bar--><html><head></head><body></body></html>",
        "noQuirksBodyHtml": "<!--foo--bar-->"
      }
    },
    {
      "data": "<![CDATA[x]]>",
      "errors": [
        "(1,2): expected-dashes-or-doctype",
        "(1,13): expected-doctype-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "comment": "[CDATA[x]]"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!--[CDATA[x]]--><html><head></head><body></body></html>",
        "noQuirksBodyHtml": "<!--[CDATA[x]]-->"
      }
    },
    {
      "data": "<textarea><!--</textarea>--></textarea>",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag",
        "(1,39): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "textarea": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "textarea",
                    "children": [
                      {
                        "text": "<!--",
                        "escaped": true
                      }
                    ]
                  },
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><textarea>&lt;!--</textarea>--&gt;</body></html>",
        "noQuirksBodyHtml": "<textarea>&lt;!--</textarea>--&gt;"
      }
    },
    {
      "data": "<textarea><!--</textarea>-->",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "textarea": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "textarea",
                    "children": [
                      {
                        "text": "<!--",
                        "escaped": true
                      }
                    ]
                  },
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><textarea>&lt;!--</textarea>--&gt;</body></html>",
        "noQuirksBodyHtml": "<textarea>&lt;!--</textarea>--&gt;"
      }
    },
    {
      "data": "<style><!--</style>--></style>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,30): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          },
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": "<!--",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><style><!--</style></head><body>--&gt;</body></html>",
        "noQuirksBodyHtml": "<style><!--</style>--&gt;"
      }
    },
    {
      "data": "<style><!--</style>-->",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          },
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": "<!--",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><style><!--</style></head><body>--&gt;</body></html>",
        "noQuirksBodyHtml": "<style><!--</style>--&gt;"
      }
    },
    {
      "data": "<ul><li>A </li> <li>B</li></ul>",
      "errors": [
        "(1,4): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ul": true,
            "li": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ul",
                    "children": [
                      {
                        "tag": "li",
                        "children": [
                          {
                            "text": "A "
                          }
                        ]
                      },
                      {
                        "text": " "
                      },
                      {
                        "tag": "li",
                        "children": [
                          {
                            "text": "B"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ul><li>A </li> <li>B</li></ul></body></html>",
        "noQuirksBodyHtml": "<ul><li>A </li> <li>B</li></ul>"
      }
    },
    {
      "data": "<table><form><input type=hidden><input></form><div></div></table>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,13): unexpected-form-in-table",
        "(1,32): unexpected-hidden-input-in-table",
        "(1,39): unexpected-start-tag-implies-table-voodoo",
        "(1,46): unexpected-end-tag-implies-table-voodoo",
        "(1,46): unexpected-end-tag",
        "(1,51): unexpected-start-tag-implies-table-voodoo",
        "(1,57): unexpected-end-tag-implies-table-voodoo"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "input": true,
            "div": true,
            "table": true,
            "form": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "input"
                  },
                  {
                    "tag": "div"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "form"
                      },
                      {
                        "tag": "input",
                        "attrs": [
                          {
                            "name": "type",
                            "value": "hidden"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><input><div></div><table><form></form><input type=\"hidden\"></table></body></html>",
        "noQuirksBodyHtml": "<input><div></div><table><form></form><input type=\"hidden\"></table>"
      }
    },
    {
      "data": "<i>A<b>B<p></i>C</b>D",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,15): adoption-agency-1.3",
        "(1,20): adoption-agency-1.3"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "i": true,
            "b": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "i",
                    "children": [
                      {
                        "text": "A"
                      },
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": "B"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "b"
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "b",
                        "children": [
                          {
                            "tag": "i"
                          },
                          {
                            "text": "C"
                          }
                        ]
                      },
                      {
                        "text": "D"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><i>A<b>B</b></i><b></b><p><b><i></i>C</b>D</p></body></html>",
        "noQuirksBodyHtml": "<i>A<b>B</b></i><b></b><p><b><i></i>C</b>D</p>"
      }
    },
    {
      "data": "<div></div>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div></div></body></html>",
        "noQuirksBodyHtml": "<div></div>"
      }
    },
    {
      "data": "<svg></svg>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg></svg></body></html>",
        "noQuirksBodyHtml": "<svg></svg>"
      }
    },
    {
      "data": "<math></math>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math></math></body></html>",
        "noQuirksBodyHtml": "<math></math>"
      }
    }
  ],
  "inbody01.dat": [
    {
      "data": "<button>1</foo>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,15): unexpected-end-tag",
        "(1,15): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "button": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "button",
                    "children": [
                      {
                        "text": "1"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><button>1</button></body></html>",
        "noQuirksBodyHtml": "<button>1</button>"
      }
    },
    {
      "data": "<foo>1<p>2</foo>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,16): unexpected-end-tag",
        "(1,16): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "foo": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "foo",
                    "children": [
                      {
                        "text": "1"
                      },
                      {
                        "tag": "p",
                        "children": [
                          {
                            "text": "2"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><foo>1<p>2</p></foo></body></html>",
        "noQuirksBodyHtml": "<foo>1<p>2</p></foo>"
      }
    },
    {
      "data": "<dd>1</foo>",
      "errors": [
        "(1,4): expected-doctype-but-got-start-tag",
        "(1,11): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "dd": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "dd",
                    "children": [
                      {
                        "text": "1"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><dd>1</dd></body></html>",
        "noQuirksBodyHtml": "<dd>1</dd>"
      }
    },
    {
      "data": "<foo>1<dd>2</foo>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,17): unexpected-end-tag",
        "(1,17): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "foo": true,
            "dd": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "foo",
                    "children": [
                      {
                        "text": "1"
                      },
                      {
                        "tag": "dd",
                        "children": [
                          {
                            "text": "2"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><foo>1<dd>2</dd></foo></body></html>",
        "noQuirksBodyHtml": "<foo>1<dd>2</dd></foo>"
      }
    }
  ],
  "isindex.dat": [
    {
      "data": "<isindex>",
      "errors": [
        "(1,9): expected-doctype-but-got-start-tag",
        "(1,9): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "isindex": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "isindex"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><isindex></isindex></body></html>",
        "noQuirksBodyHtml": "<isindex></isindex>"
      }
    },
    {
      "data": "<isindex name=\"A\" action=\"B\" prompt=\"C\" foo=\"D\">",
      "errors": [
        "(1,48): expected-doctype-but-got-start-tag",
        "(1,48): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "isindex": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "isindex",
                    "attrs": [
                      {
                        "name": "action",
                        "value": "B"
                      },
                      {
                        "name": "foo",
                        "value": "D"
                      },
                      {
                        "name": "name",
                        "value": "A"
                      },
                      {
                        "name": "prompt",
                        "value": "C"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><isindex name=\"A\" action=\"B\" prompt=\"C\" foo=\"D\"></isindex></body></html>",
        "noQuirksBodyHtml": "<isindex name=\"A\" action=\"B\" prompt=\"C\" foo=\"D\"></isindex>"
      }
    },
    {
      "data": "<form><isindex>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,15): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "form": true,
            "isindex": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "form",
                    "children": [
                      {
                        "tag": "isindex"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><form><isindex></isindex></form></body></html>",
        "noQuirksBodyHtml": "<form><isindex></isindex></form>"
      }
    },
    {
      "data": "<!doctype html><isindex>x</isindex>x",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "isindex": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "isindex",
                    "children": [
                      {
                        "text": "x"
                      }
                    ]
                  },
                  {
                    "text": "x"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><isindex>x</isindex>x</body></html>",
        "noQuirksBodyHtml": "<isindex>x</isindex>x"
      }
    }
  ],
  "main-element.dat": [
    {
      "data": "<!doctype html><p>foo<main>bar<p>baz",
      "errors": [
        "(1,36): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "main": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "foo"
                      }
                    ]
                  },
                  {
                    "tag": "main",
                    "children": [
                      {
                        "text": "bar"
                      },
                      {
                        "tag": "p",
                        "children": [
                          {
                            "text": "baz"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p>foo</p><main>bar<p>baz</p></main></body></html>",
        "noQuirksBodyHtml": "<p>foo</p><main>bar<p>baz</p></main>"
      }
    },
    {
      "data": "<!doctype html><main><p>foo</main>bar",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "main": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "main",
                    "children": [
                      {
                        "tag": "p",
                        "children": [
                          {
                            "text": "foo"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "text": "bar"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><main><p>foo</p></main>bar</body></html>",
        "noQuirksBodyHtml": "<main><p>foo</p></main>bar"
      }
    },
    {
      "data": "<!DOCTYPE html>xxx<svg><x><g><a><main><b>",
      "errors": [
        " * (1,42) unexpected HTML-like start tag token in foreign content",
        " * (1,42) unexpected end of file"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg x": true,
            "svg g": true,
            "svg a": true,
            "svg main": true,
            "b": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "xxx"
                  },
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "x",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "tag": "g",
                            "ns": "http://www.w3.org/2000/svg",
                            "children": [
                              {
                                "tag": "a",
                                "ns": "http://www.w3.org/2000/svg",
                                "children": [
                                  {
                                    "tag": "main",
                                    "ns": "http://www.w3.org/2000/svg"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "b"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>xxx<svg><x><g><a><main></main></a></g></x></svg><b></b></body></html>",
        "noQuirksBodyHtml": "xxx<svg><x><g><a><main><b></b></main></a></g></x></svg>"
      }
    }
  ],
  "math.dat": [
    {
      "data": "<math><tr><td><mo><tr>",
      "errors": [],
      "fragment": {
        "name": "td"
      },
      "document": {
        "props": {
          "tags": {
            "math math": true,
            "math tr": true,
            "math td": true,
            "math mo": true
          }
        },
        "tree": [
          {
            "tag": "math",
            "ns": "http://www.w3.org/1998/Math/MathML",
            "children": [
              {
                "tag": "tr",
                "ns": "http://www.w3.org/1998/Math/MathML",
                "children": [
                  {
                    "tag": "td",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mo",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<math><tr><td><mo></mo></td></tr></math>",
        "noQuirksBodyHtml": "<math><tr><td><mo></mo></td></tr></math>"
      }
    },
    {
      "data": "<math><tr><td><mo><tr>",
      "errors": [],
      "fragment": {
        "name": "tr"
      },
      "document": {
        "props": {
          "tags": {
            "math math": true,
            "math tr": true,
            "math td": true,
            "math mo": true
          }
        },
        "tree": [
          {
            "tag": "math",
            "ns": "http://www.w3.org/1998/Math/MathML",
            "children": [
              {
                "tag": "tr",
                "ns": "http://www.w3.org/1998/Math/MathML",
                "children": [
                  {
                    "tag": "td",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mo",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<math><tr><td><mo></mo></td></tr></math>",
        "noQuirksBodyHtml": "<math><tr><td><mo></mo></td></tr></math>"
      }
    },
    {
      "data": "<math><thead><mo><tbody>",
      "errors": [],
      "fragment": {
        "name": "thead"
      },
      "document": {
        "props": {
          "tags": {
            "math math": true,
            "math thead": true,
            "math mo": true
          }
        },
        "tree": [
          {
            "tag": "math",
            "ns": "http://www.w3.org/1998/Math/MathML",
            "children": [
              {
                "tag": "thead",
                "ns": "http://www.w3.org/1998/Math/MathML",
                "children": [
                  {
                    "tag": "mo",
                    "ns": "http://www.w3.org/1998/Math/MathML"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<math><thead><mo></mo></thead></math>",
        "noQuirksBodyHtml": "<math><thead><mo></mo></thead></math>"
      }
    },
    {
      "data": "<math><tfoot><mo><tbody>",
      "errors": [],
      "fragment": {
        "name": "tfoot"
      },
      "document": {
        "props": {
          "tags": {
            "math math": true,
            "math tfoot": true,
            "math mo": true
          }
        },
        "tree": [
          {
            "tag": "math",
            "ns": "http://www.w3.org/1998/Math/MathML",
            "children": [
              {
                "tag": "tfoot",
                "ns": "http://www.w3.org/1998/Math/MathML",
                "children": [
                  {
                    "tag": "mo",
                    "ns": "http://www.w3.org/1998/Math/MathML"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<math><tfoot><mo></mo></tfoot></math>",
        "noQuirksBodyHtml": "<math><tfoot><mo></mo></tfoot></math>"
      }
    },
    {
      "data": "<math><tbody><mo><tfoot>",
      "errors": [],
      "fragment": {
        "name": "tbody"
      },
      "document": {
        "props": {
          "tags": {
            "math math": true,
            "math tbody": true,
            "math mo": true
          }
        },
        "tree": [
          {
            "tag": "math",
            "ns": "http://www.w3.org/1998/Math/MathML",
            "children": [
              {
                "tag": "tbody",
                "ns": "http://www.w3.org/1998/Math/MathML",
                "children": [
                  {
                    "tag": "mo",
                    "ns": "http://www.w3.org/1998/Math/MathML"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<math><tbody><mo></mo></tbody></math>",
        "noQuirksBodyHtml": "<math><tbody><mo></mo></tbody></math>"
      }
    },
    {
      "data": "<math><tbody><mo></table>",
      "errors": [],
      "fragment": {
        "name": "tbody"
      },
      "document": {
        "props": {
          "tags": {
            "math math": true,
            "math tbody": true,
            "math mo": true
          }
        },
        "tree": [
          {
            "tag": "math",
            "ns": "http://www.w3.org/1998/Math/MathML",
            "children": [
              {
                "tag": "tbody",
                "ns": "http://www.w3.org/1998/Math/MathML",
                "children": [
                  {
                    "tag": "mo",
                    "ns": "http://www.w3.org/1998/Math/MathML"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<math><tbody><mo></mo></tbody></math>",
        "noQuirksBodyHtml": "<math><tbody><mo></mo></tbody></math>"
      }
    },
    {
      "data": "<math><thead><mo></table>",
      "errors": [],
      "fragment": {
        "name": "tbody"
      },
      "document": {
        "props": {
          "tags": {
            "math math": true,
            "math thead": true,
            "math mo": true
          }
        },
        "tree": [
          {
            "tag": "math",
            "ns": "http://www.w3.org/1998/Math/MathML",
            "children": [
              {
                "tag": "thead",
                "ns": "http://www.w3.org/1998/Math/MathML",
                "children": [
                  {
                    "tag": "mo",
                    "ns": "http://www.w3.org/1998/Math/MathML"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<math><thead><mo></mo></thead></math>",
        "noQuirksBodyHtml": "<math><thead><mo></mo></thead></math>"
      }
    },
    {
      "data": "<math><tfoot><mo></table>",
      "errors": [],
      "fragment": {
        "name": "tbody"
      },
      "document": {
        "props": {
          "tags": {
            "math math": true,
            "math tfoot": true,
            "math mo": true
          }
        },
        "tree": [
          {
            "tag": "math",
            "ns": "http://www.w3.org/1998/Math/MathML",
            "children": [
              {
                "tag": "tfoot",
                "ns": "http://www.w3.org/1998/Math/MathML",
                "children": [
                  {
                    "tag": "mo",
                    "ns": "http://www.w3.org/1998/Math/MathML"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<math><tfoot><mo></mo></tfoot></math>",
        "noQuirksBodyHtml": "<math><tfoot><mo></mo></tfoot></math>"
      }
    }
  ],
  "menuitem-element.dat": [
    {
      "data": "<menuitem>",
      "errors": [
        "10: Start tag seen without seeing a doctype first. Expected “<!DOCTYPE html>”."
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "menuitem": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "menuitem"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><menuitem></menuitem></body></html>",
        "noQuirksBodyHtml": "<menuitem></menuitem>"
      }
    },
    {
      "data": "</menuitem>",
      "errors": [
        "11: End tag seen without seeing a doctype first. Expected “<!DOCTYPE html>”.",
        "11: Stray end tag “menuitem”."
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!DOCTYPE html><body><menuitem>A",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "menuitem": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "menuitem",
                    "children": [
                      {
                        "text": "A"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><menuitem>A</menuitem></body></html>",
        "noQuirksBodyHtml": "<menuitem>A</menuitem>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><menuitem>A<menuitem>B",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "menuitem": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "menuitem",
                    "children": [
                      {
                        "text": "A"
                      }
                    ]
                  },
                  {
                    "tag": "menuitem",
                    "children": [
                      {
                        "text": "B"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><menuitem>A</menuitem><menuitem>B</menuitem></body></html>",
        "noQuirksBodyHtml": "<menuitem>A</menuitem><menuitem>B</menuitem>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><menuitem>A<menu>B</menu>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "menuitem": true,
            "menu": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "menuitem",
                    "children": [
                      {
                        "text": "A"
                      }
                    ]
                  },
                  {
                    "tag": "menu",
                    "children": [
                      {
                        "text": "B"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><menuitem>A</menuitem><menu>B</menu></body></html>",
        "noQuirksBodyHtml": "<menuitem>A</menuitem><menu>B</menu>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><menuitem>A<hr>B",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "menuitem": true,
            "hr": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "menuitem",
                    "children": [
                      {
                        "text": "A"
                      }
                    ]
                  },
                  {
                    "tag": "hr"
                  },
                  {
                    "text": "B"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><menuitem>A</menuitem><hr>B</body></html>",
        "noQuirksBodyHtml": "<menuitem>A</menuitem><hr>B"
      }
    },
    {
      "data": "<!DOCTYPE html><li><menuitem><li>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "li": true,
            "menuitem": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "li",
                    "children": [
                      {
                        "tag": "menuitem"
                      }
                    ]
                  },
                  {
                    "tag": "li"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><li><menuitem></menuitem></li><li></li></body></html>",
        "noQuirksBodyHtml": "<li><menuitem></menuitem></li><li></li>"
      }
    },
    {
      "data": "<!DOCTYPE html><menuitem><p></menuitem>x",
      "errors": [
        "39: Stray end tag “menuitem”."
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "menuitem": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "menuitem",
                    "children": [
                      {
                        "tag": "p",
                        "children": [
                          {
                            "text": "x"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><menuitem><p>x</p></menuitem></body></html>",
        "noQuirksBodyHtml": "<menuitem><p>x</p></menuitem>"
      }
    },
    {
      "data": "<!DOCTYPE html><p><b></p><menuitem>",
      "errors": [
        "25: End tag “p” seen, but there were open elements.",
        "21: Unclosed element “b”.",
        "35: End of file seen and there were open elements."
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "b": true,
            "menuitem": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "b"
                      }
                    ]
                  },
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "menuitem"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><b></b></p><b><menuitem></menuitem></b></body></html>",
        "noQuirksBodyHtml": "<p><b></b></p><b><menuitem></menuitem></b>"
      }
    },
    {
      "data": "<!DOCTYPE html><menuitem><asdf></menuitem>x",
      "errors": [
        "40: End tag “menuitem” seen, but there were open elements.",
        "31: Unclosed element “asdf”."
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "menuitem": true,
            "asdf": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "menuitem",
                    "children": [
                      {
                        "tag": "asdf"
                      }
                    ]
                  },
                  {
                    "text": "x"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><menuitem><asdf></asdf></menuitem>x</body></html>",
        "noQuirksBodyHtml": "<menuitem><asdf></asdf></menuitem>x"
      }
    },
    {
      "data": "<!DOCTYPE html></menuitem>",
      "errors": [
        "26: Stray end tag “menuitem”."
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!DOCTYPE html><html></menuitem>",
      "errors": [
        "26: Stray end tag “menuitem”."
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!DOCTYPE html><head></menuitem>",
      "errors": [
        "26: Stray end tag “menuitem”."
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!DOCTYPE html><select><menuitem></select>",
      "errors": [
        "33: Stray start tag “menuitem”."
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select></select></body></html>",
        "noQuirksBodyHtml": "<select></select>"
      }
    },
    {
      "data": "<!DOCTYPE html><option><menuitem>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "option": true,
            "menuitem": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "option",
                    "children": [
                      {
                        "tag": "menuitem"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><option><menuitem></menuitem></option></body></html>",
        "noQuirksBodyHtml": "<option><menuitem></menuitem></option>"
      }
    },
    {
      "data": "<!DOCTYPE html><menuitem><option>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "menuitem": true,
            "option": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "menuitem",
                    "children": [
                      {
                        "tag": "option"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><menuitem><option></option></menuitem></body></html>",
        "noQuirksBodyHtml": "<menuitem><option></option></menuitem>"
      }
    },
    {
      "data": "<!DOCTYPE html><menuitem></body>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "menuitem": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "menuitem"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><menuitem></menuitem></body></html>",
        "noQuirksBodyHtml": "<menuitem></menuitem>"
      }
    },
    {
      "data": "<!DOCTYPE html><menuitem></html>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "menuitem": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "menuitem"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><menuitem></menuitem></body></html>",
        "noQuirksBodyHtml": "<menuitem></menuitem>"
      }
    },
    {
      "data": "<!DOCTYPE html><menuitem><p>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "menuitem": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "menuitem",
                    "children": [
                      {
                        "tag": "p"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><menuitem><p></p></menuitem></body></html>",
        "noQuirksBodyHtml": "<menuitem><p></p></menuitem>"
      }
    },
    {
      "data": "<!DOCTYPE html><menuitem><li>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "menuitem": true,
            "li": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "menuitem",
                    "children": [
                      {
                        "tag": "li"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><menuitem><li></li></menuitem></body></html>",
        "noQuirksBodyHtml": "<menuitem><li></li></menuitem>"
      }
    }
  ],
  "namespace-sensitivity.dat": [
    {
      "data": "<body><table><tr><td><svg><td><foreignObject><span></td>Foo",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "svg svg": true,
            "svg td": true,
            "svg foreignObject": true,
            "span": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Foo"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "svg",
                                    "ns": "http://www.w3.org/2000/svg",
                                    "children": [
                                      {
                                        "tag": "td",
                                        "ns": "http://www.w3.org/2000/svg",
                                        "children": [
                                          {
                                            "tag": "foreignObject",
                                            "ns": "http://www.w3.org/2000/svg",
                                            "children": [
                                              {
                                                "tag": "span"
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>Foo<table><tbody><tr><td><svg><td><foreignObject><span></span></foreignObject></td></svg></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "Foo<table><tbody><tr><td><svg><td><foreignObject><span></span></foreignObject></td></svg></td></tr></tbody></table>"
      }
    }
  ],
  "noscript01.dat": [
    {
      "data": "<head><noscript><!doctype html><!--foo--></noscript>",
      "errors": [
        "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE.",
        "Line: 1 Col: 31 Unexpected DOCTYPE. Ignored."
      ],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "comment": "foo"
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><noscript><!--foo--></noscript></head><body></body></html>",
        "noQuirksBodyHtml": "<noscript><!--foo--></noscript>"
      }
    },
    {
      "data": "<head><noscript><html class=\"foo\"><!--foo--></noscript>",
      "errors": [
        "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE.",
        "Line: 1 Col: 34 html needs to be the first start tag."
      ],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "attrs": [
              {
                "name": "class",
                "value": "foo"
              }
            ],
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "comment": "foo"
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html class=\"foo\"><head><noscript><!--foo--></noscript></head><body></body></html>",
        "noQuirksBodyHtml": "<noscript><!--foo--></noscript>"
      }
    },
    {
      "data": "<head><noscript></noscript>",
      "errors": [
        "(1,6): expected-doctype-but-got-tag"
      ],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript"
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><noscript></noscript></head><body></body></html>",
        "noQuirksBodyHtml": "<noscript></noscript>"
      }
    },
    {
      "data": "<head><noscript>   </noscript>",
      "errors": [
        "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE."
      ],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "text": "   ",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><noscript>   </noscript></head><body></body></html>",
        "noQuirksBodyHtml": "<noscript>   </noscript>"
      }
    },
    {
      "data": "<head><noscript><!--foo--></noscript>",
      "errors": [
        "(1,6): expected-doctype-but-got-tag"
      ],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "comment": "foo"
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><noscript><!--foo--></noscript></head><body></body></html>",
        "noQuirksBodyHtml": "<noscript><!--foo--></noscript>"
      }
    },
    {
      "data": "<head><noscript><basefont><!--foo--></noscript>",
      "errors": [
        "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE."
      ],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "basefont": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "tag": "basefont"
                      },
                      {
                        "comment": "foo"
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><noscript><basefont><!--foo--></noscript></head><body></body></html>",
        "noQuirksBodyHtml": "<noscript><basefont><!--foo--></noscript>"
      }
    },
    {
      "data": "<head><noscript><bgsound><!--foo--></noscript>",
      "errors": [
        "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE."
      ],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "bgsound": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "tag": "bgsound"
                      },
                      {
                        "comment": "foo"
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><noscript><bgsound><!--foo--></noscript></head><body></body></html>",
        "noQuirksBodyHtml": "<noscript><bgsound><!--foo--></noscript>"
      }
    },
    {
      "data": "<head><noscript><link><!--foo--></noscript>",
      "errors": [
        "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE."
      ],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "link": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "tag": "link"
                      },
                      {
                        "comment": "foo"
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><noscript><link><!--foo--></noscript></head><body></body></html>",
        "noQuirksBodyHtml": "<noscript><link><!--foo--></noscript>"
      }
    },
    {
      "data": "<head><noscript><meta><!--foo--></noscript>",
      "errors": [
        "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE."
      ],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "meta": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "tag": "meta"
                      },
                      {
                        "comment": "foo"
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><noscript><meta><!--foo--></noscript></head><body></body></html>",
        "noQuirksBodyHtml": "<noscript><meta><!--foo--></noscript>"
      }
    },
    {
      "data": "<head><noscript><noframes>XXX</noscript></noframes></noscript>",
      "errors": [
        "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE."
      ],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "noframes": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "tag": "noframes",
                        "children": [
                          {
                            "text": "XXX</noscript>",
                            "no_escape": true
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><noscript><noframes>XXX</noscript></noframes></noscript></head><body></body></html>",
        "noQuirksBodyHtml": "<noscript><noframes>XXX</noscript></noframes></noscript>"
      }
    },
    {
      "data": "<head><noscript><style>XXX</style></noscript>",
      "errors": [
        "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE."
      ],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "style": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "tag": "style",
                        "children": [
                          {
                            "text": "XXX",
                            "no_escape": true
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><noscript><style>XXX</style></noscript></head><body></body></html>",
        "noQuirksBodyHtml": "<noscript><style>XXX</style></noscript>"
      }
    },
    {
      "data": "<head><noscript></br><!--foo--></noscript>",
      "errors": [
        "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE.",
        "Line: 1 Col: 21 Element br not allowed in a inhead-noscript context",
        "Line: 1 Col: 21 Unexpected end tag (br). Treated as br element.",
        "Line: 1 Col: 42 Unexpected end tag (noscript). Ignored."
      ],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true,
            "br": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript"
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "br"
                  },
                  {
                    "comment": "foo"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><noscript></noscript></head><body><br><!--foo--></body></html>",
        "noQuirksBodyHtml": "<noscript><br><!--foo--></noscript>"
      }
    },
    {
      "data": "<head><noscript><head class=\"foo\"><!--foo--></noscript>",
      "errors": [
        "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE.",
        "Line: 1 Col: 34 Unexpected start tag (head)."
      ],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "comment": "foo"
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><noscript><!--foo--></noscript></head><body></body></html>",
        "noQuirksBodyHtml": "<noscript><!--foo--></noscript>"
      }
    },
    {
      "data": "<head><noscript><noscript class=\"foo\"><!--foo--></noscript>",
      "errors": [
        "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE.",
        "Line: 1 Col: 34 Unexpected start tag (noscript)."
      ],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "comment": "foo"
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><noscript><!--foo--></noscript></head><body></body></html>",
        "noQuirksBodyHtml": "<noscript><noscript class=\"foo\"><!--foo--></noscript></noscript>"
      }
    },
    {
      "data": "<head><noscript></p><!--foo--></noscript>",
      "errors": [
        "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE.",
        "Line: 1 Col: 20 Unexpected end tag (p). Ignored."
      ],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "comment": "foo"
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><noscript><!--foo--></noscript></head><body></body></html>",
        "noQuirksBodyHtml": "<noscript><p></p><!--foo--></noscript>"
      }
    },
    {
      "data": "<head><noscript><p><!--foo--></noscript>",
      "errors": [
        "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE.",
        "Line: 1 Col: 19 Element p not allowed in a inhead-noscript context",
        "Line: 1 Col: 40 Unexpected end tag (noscript). Ignored."
      ],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true,
            "p": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript"
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "comment": "foo"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><noscript></noscript></head><body><p><!--foo--></p></body></html>",
        "noQuirksBodyHtml": "<noscript><p><!--foo--></p></noscript>"
      }
    },
    {
      "data": "<head><noscript>XXX<!--foo--></noscript></head>",
      "errors": [
        "Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE.",
        "Line: 1 Col: 19 Unexpected non-space character. Expected inhead-noscript content",
        "Line: 1 Col: 30 Unexpected end tag (noscript). Ignored.",
        "Line: 1 Col: 37 Unexpected end tag (head). Ignored."
      ],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript"
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "XXX"
                  },
                  {
                    "comment": "foo"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><noscript></noscript></head><body>XXX<!--foo--></body></html>",
        "noQuirksBodyHtml": "<noscript>XXX<!--foo--></noscript>"
      }
    },
    {
      "data": "<head><noscript>",
      "errors": [
        "(1,6): expected-doctype-but-got-tag",
        "(1,6): eof-in-head-noscript"
      ],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript"
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><noscript></noscript></head><body></body></html>",
        "noQuirksBodyHtml": "<noscript></noscript>"
      }
    }
  ],
  "pending-spec-changes-plain-text-unsafe.dat": [
    {
      "data": "<body><table>\u0000filler\u0000text\u0000",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,14): invalid-codepoint",
        "(1,14): invalid-codepoint-in-table-text",
        "(1,21): invalid-codepoint",
        "(1,21): invalid-codepoint-in-table-text",
        "(1,26): invalid-codepoint",
        "(1,26): invalid-codepoint-in-table-text",
        "(1,26): foster-parenting-character-in-table",
        "(1,26): foster-parenting-character-in-table",
        "(1,26): foster-parenting-character-in-table",
        "(1,26): foster-parenting-character-in-table",
        "(1,26): foster-parenting-character-in-table",
        "(1,26): foster-parenting-character-in-table",
        "(1,26): foster-parenting-character-in-table",
        "(1,26): foster-parenting-character-in-table",
        "(1,26): foster-parenting-character-in-table",
        "(1,26): foster-parenting-character-in-table",
        "(1,26): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "fillertext"
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>fillertext<table></table></body></html>",
        "noQuirksBodyHtml": "fillertext<table></table>"
      }
    }
  ],
  "pending-spec-changes.dat": [
    {
      "data": "<input type=\"hidden\"><frameset>",
      "errors": [
        "(1,21): expected-doctype-but-got-start-tag",
        "(1,31): unexpected-start-tag",
        "(1,31): eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": "<input type=\"hidden\">"
      }
    },
    {
      "data": "<!DOCTYPE html><table><caption><svg>foo</table>bar",
      "errors": [
        "(1,47): unexpected-end-tag",
        "(1,47): end-table-tag-in-caption"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "caption": true,
            "svg svg": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "caption",
                        "children": [
                          {
                            "tag": "svg",
                            "ns": "http://www.w3.org/2000/svg",
                            "children": [
                              {
                                "text": "foo"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "text": "bar"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><caption><svg>foo</svg></caption></table>bar</body></html>",
        "noQuirksBodyHtml": "<table><caption><svg>foo</svg></caption></table>bar"
      }
    },
    {
      "data": "<table><tr><td><svg><desc><td></desc><circle>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,30): unexpected-cell-end-tag",
        "(1,37): unexpected-end-tag",
        "(1,45): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "svg svg": true,
            "svg desc": true,
            "circle": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "svg",
                                    "ns": "http://www.w3.org/2000/svg",
                                    "children": [
                                      {
                                        "tag": "desc",
                                        "ns": "http://www.w3.org/2000/svg"
                                      }
                                    ]
                                  }
                                ]
                              },
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "circle"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><tr><td><svg><desc></desc></svg></td><td><circle></circle></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td><svg><desc></desc></svg></td><td><circle></circle></td></tr></tbody></table>"
      }
    }
  ],
  "plain-text-unsafe.dat": [
    {
      "data": "FOO&#x000D;ZOO",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,11): illegal-codepoint-for-numeric-entity"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO\rZOO"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO\rZOO</body></html>",
        "noQuirksBodyHtml": "FOO\rZOO"
      }
    },
    {
      "data": "<html>\u0000<frameset></frameset>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,7): invalid-codepoint",
        "(1,7): invalid-codepoint-in-body",
        "(1,17): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<html> \u0000 <frameset></frameset>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,8): invalid-codepoint",
        "(1,8): invalid-codepoint-in-body",
        "(1,19): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": "  "
      }
    },
    {
      "data": "<html>a\u0000a<frameset></frameset>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,8): invalid-codepoint",
        "(1,8): invalid-codepoint-in-body",
        "(1,19): unexpected-start-tag",
        "(1,30): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "aa"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>aa</body></html>",
        "noQuirksBodyHtml": "aa"
      }
    },
    {
      "data": "<html>\u0000\u0000<frameset></frameset>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,7): invalid-codepoint",
        "(1,7): invalid-codepoint-in-body",
        "(1,8): invalid-codepoint",
        "(1,8): invalid-codepoint-in-body",
        "(1,18): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<html>\u0000\n <frameset></frameset>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,7): invalid-codepoint",
        "(1,7): invalid-codepoint-in-body",
        "(2,11): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": "\n "
      }
    },
    {
      "data": "<html><select>\u0000",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,15): invalid-codepoint",
        "(1,15): invalid-codepoint-in-select",
        "(1,15): eof-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><select></select></body></html>",
        "noQuirksBodyHtml": "<select></select>"
      }
    },
    {
      "data": "\u0000",
      "errors": [
        "(1,1): invalid-codepoint",
        "(1,1): expected-doctype-but-got-chars",
        "(1,1): invalid-codepoint-in-body"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<body>\u0000",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,7): invalid-codepoint",
        "(1,7): invalid-codepoint-in-body"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<plaintext>\u0000filler\u0000text\u0000",
      "errors": [
        "(1,11): expected-doctype-but-got-start-tag",
        "(1,12): invalid-codepoint",
        "(1,19): invalid-codepoint",
        "(1,24): invalid-codepoint",
        "(1,24): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "plaintext": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "plaintext",
                    "children": [
                      {
                        "text": "�filler�text�",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><plaintext>�filler�text�</plaintext></body></html>",
        "noQuirksBodyHtml": "<plaintext>�filler�text�</plaintext>"
      }
    },
    {
      "data": "<svg><![CDATA[\u0000filler\u0000text\u0000]]>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,30): invalid-codepoint",
        "(1,30): invalid-codepoint",
        "(1,30): invalid-codepoint",
        "(1,30): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "�filler�text�"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>�filler�text�</svg></body></html>",
        "noQuirksBodyHtml": "<svg>�filler�text�</svg>"
      }
    },
    {
      "data": "<body><!\u0000>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,8): expected-dashes-or-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "comment": "�"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><!--�--></body></html>",
        "noQuirksBodyHtml": "<!--�-->"
      }
    },
    {
      "data": "<body><!\u0000filler\u0000text>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,8): expected-dashes-or-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "comment": "�filler�text"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><!--�filler�text--></body></html>",
        "noQuirksBodyHtml": "<!--�filler�text-->"
      }
    },
    {
      "data": "<body><svg><foreignObject>\u0000filler\u0000text",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,27): invalid-codepoint",
        "(1,27): invalid-codepoint-in-body",
        "(1,34): invalid-codepoint",
        "(1,34): invalid-codepoint-in-body",
        "(1,38): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg foreignObject": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "foreignObject",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "text": "fillertext"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg><foreignObject>fillertext</foreignObject></svg></body></html>",
        "noQuirksBodyHtml": "<svg><foreignObject>fillertext</foreignObject></svg>"
      }
    },
    {
      "data": "<svg>\u0000filler\u0000text",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,6): invalid-codepoint",
        "(1,6): invalid-codepoint-in-foreign-content",
        "(1,13): invalid-codepoint",
        "(1,13): invalid-codepoint-in-foreign-content",
        "(1,17): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "�filler�text"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>�filler�text</svg></body></html>",
        "noQuirksBodyHtml": "<svg>�filler�text</svg>"
      }
    },
    {
      "data": "<svg>\u0000<frameset>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,6): invalid-codepoint",
        "(1,6): invalid-codepoint-in-foreign-content",
        "(1,16): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "�"
                      },
                      {
                        "tag": "frameset",
                        "ns": "http://www.w3.org/2000/svg"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>�<frameset></frameset></svg></body></html>",
        "noQuirksBodyHtml": "<svg>�<frameset></frameset></svg>"
      }
    },
    {
      "data": "<svg>\u0000 <frameset>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,6): invalid-codepoint",
        "(1,6): invalid-codepoint-in-foreign-content",
        "(1,17): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "� "
                      },
                      {
                        "tag": "frameset",
                        "ns": "http://www.w3.org/2000/svg"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>� <frameset></frameset></svg></body></html>",
        "noQuirksBodyHtml": "<svg>� <frameset></frameset></svg>"
      }
    },
    {
      "data": "<svg>\u0000a<frameset>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,6): invalid-codepoint",
        "(1,6): invalid-codepoint-in-foreign-content",
        "(1,17): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "�a"
                      },
                      {
                        "tag": "frameset",
                        "ns": "http://www.w3.org/2000/svg"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>�a<frameset></frameset></svg></body></html>",
        "noQuirksBodyHtml": "<svg>�a<frameset></frameset></svg>"
      }
    },
    {
      "data": "<svg>\u0000</svg><frameset>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,6): invalid-codepoint",
        "(1,6): invalid-codepoint-in-foreign-content",
        "(1,22): unexpected-start-tag",
        "(1,22): eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": "<svg>�</svg>"
      }
    },
    {
      "data": "<svg>\u0000 </svg><frameset>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,6): invalid-codepoint",
        "(1,6): invalid-codepoint-in-foreign-content",
        "(1,23): unexpected-start-tag",
        "(1,23): eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": "<svg>� </svg>"
      }
    },
    {
      "data": "<svg>\u0000a</svg><frameset>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,6): invalid-codepoint",
        "(1,6): invalid-codepoint-in-foreign-content",
        "(1,23): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "�a"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>�a</svg></body></html>",
        "noQuirksBodyHtml": "<svg>�a</svg>"
      }
    },
    {
      "data": "<svg><path></path></svg><frameset>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,34): unexpected-start-tag",
        "(1,34): eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": "<svg><path></path></svg>"
      }
    },
    {
      "data": "<svg><p><frameset>",
      "errors": [
        "(1, 5) expected-doctype-but-got-start-tag",
        "(1, 8) unexpected-html-element-in-foreign-content",
        "(1, 18) unexpected-start-tag",
        "(1, 18) eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": "<svg><p><frameset></frameset></p></svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><pre>\r\n\r\nA</pre>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "pre": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "pre",
                    "children": [
                      {
                        "text": "\nA"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><pre>\nA</pre></body></html>",
        "noQuirksBodyHtml": "<pre>\nA</pre>"
      }
    },
    {
      "data": "<!DOCTYPE html><pre>\r\rA</pre>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "pre": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "pre",
                    "children": [
                      {
                        "text": "\nA"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><pre>\nA</pre></body></html>",
        "noQuirksBodyHtml": "<pre>\nA</pre>"
      }
    },
    {
      "data": "<!DOCTYPE html><pre>\rA</pre>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "pre": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "pre",
                    "children": [
                      {
                        "text": "A"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><pre>A</pre></body></html>",
        "noQuirksBodyHtml": "<pre>A</pre>"
      }
    },
    {
      "data": "<!DOCTYPE html><table><tr><td><math><mtext>\u0000a",
      "errors": [
        "(1,44): invalid-codepoint",
        "(1,44): invalid-codepoint-in-body",
        "(1,45): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "math math": true,
            "math mtext": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "math",
                                    "ns": "http://www.w3.org/1998/Math/MathML",
                                    "children": [
                                      {
                                        "tag": "mtext",
                                        "ns": "http://www.w3.org/1998/Math/MathML",
                                        "children": [
                                          {
                                            "text": "a"
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><math><mtext>a</mtext></math></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td><math><mtext>a</mtext></math></td></tr></tbody></table>"
      }
    },
    {
      "data": "<!DOCTYPE html><table><tr><td><svg><foreignObject>\u0000a",
      "errors": [
        "(1,51): invalid-codepoint",
        "(1,51): invalid-codepoint-in-body",
        "(1,52): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "svg svg": true,
            "svg foreignObject": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "svg",
                                    "ns": "http://www.w3.org/2000/svg",
                                    "children": [
                                      {
                                        "tag": "foreignObject",
                                        "ns": "http://www.w3.org/2000/svg",
                                        "children": [
                                          {
                                            "text": "a"
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><svg><foreignObject>a</foreignObject></svg></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td><svg><foreignObject>a</foreignObject></svg></td></tr></tbody></table>"
      }
    },
    {
      "data": "<!DOCTYPE html><math><mi>a\u0000b",
      "errors": [
        "(1,27): invalid-codepoint",
        "(1,27): invalid-codepoint-in-body",
        "(1,28): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mi": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "text": "ab"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><math><mi>ab</mi></math></body></html>",
        "noQuirksBodyHtml": "<math><mi>ab</mi></math>"
      }
    },
    {
      "data": "<!DOCTYPE html><math><mo>a\u0000b",
      "errors": [
        "(1,27): invalid-codepoint",
        "(1,27): invalid-codepoint-in-body",
        "(1,28): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mo": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mo",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "text": "ab"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><math><mo>ab</mo></math></body></html>",
        "noQuirksBodyHtml": "<math><mo>ab</mo></math>"
      }
    },
    {
      "data": "<!DOCTYPE html><math><mn>a\u0000b",
      "errors": [
        "(1,27): invalid-codepoint",
        "(1,27): invalid-codepoint-in-body",
        "(1,28): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mn": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mn",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "text": "ab"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><math><mn>ab</mn></math></body></html>",
        "noQuirksBodyHtml": "<math><mn>ab</mn></math>"
      }
    },
    {
      "data": "<!DOCTYPE html><math><ms>a\u0000b",
      "errors": [
        "(1,27): invalid-codepoint",
        "(1,27): invalid-codepoint-in-body",
        "(1,28): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math ms": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "ms",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "text": "ab"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><math><ms>ab</ms></math></body></html>",
        "noQuirksBodyHtml": "<math><ms>ab</ms></math>"
      }
    },
    {
      "data": "<!DOCTYPE html><math><mtext>a\u0000b",
      "errors": [
        "(1,30): invalid-codepoint",
        "(1,30): invalid-codepoint-in-body",
        "(1,31): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mtext": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mtext",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "text": "ab"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><math><mtext>ab</mtext></math></body></html>",
        "noQuirksBodyHtml": "<math><mtext>ab</mtext></math>"
      }
    }
  ],
  "ruby.dat": [
    {
      "data": "<html><ruby>a<rb>b<rb></ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rb": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "rb",
                        "children": [
                          {
                            "text": "b"
                          }
                        ]
                      },
                      {
                        "tag": "rb"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby>a<rb>b</rb><rb></rb></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby>a<rb>b</rb><rb></rb></ruby>"
      }
    },
    {
      "data": "<html><ruby>a<rb>b<rt></ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rb": true,
            "rt": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "rb",
                        "children": [
                          {
                            "text": "b"
                          }
                        ]
                      },
                      {
                        "tag": "rt"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby>a<rb>b</rb><rt></rt></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby>a<rb>b</rb><rt></rt></ruby>"
      }
    },
    {
      "data": "<html><ruby>a<rb>b<rtc></ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rb": true,
            "rtc": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "rb",
                        "children": [
                          {
                            "text": "b"
                          }
                        ]
                      },
                      {
                        "tag": "rtc"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby>a<rb>b</rb><rtc></rtc></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby>a<rb>b</rb><rtc></rtc></ruby>"
      }
    },
    {
      "data": "<html><ruby>a<rb>b<rp></ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rb": true,
            "rp": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "rb",
                        "children": [
                          {
                            "text": "b"
                          }
                        ]
                      },
                      {
                        "tag": "rp"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby>a<rb>b</rb><rp></rp></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby>a<rb>b</rb><rp></rp></ruby>"
      }
    },
    {
      "data": "<html><ruby>a<rb>b<span></ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,31): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rb": true,
            "span": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "rb",
                        "children": [
                          {
                            "text": "b"
                          },
                          {
                            "tag": "span"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby>a<rb>b<span></span></rb></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby>a<rb>b<span></span></rb></ruby>"
      }
    },
    {
      "data": "<html><ruby>a<rt>b<rb></ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rt": true,
            "rb": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "rt",
                        "children": [
                          {
                            "text": "b"
                          }
                        ]
                      },
                      {
                        "tag": "rb"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby>a<rt>b</rt><rb></rb></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby>a<rt>b</rt><rb></rb></ruby>"
      }
    },
    {
      "data": "<html><ruby>a<rt>b<rt></ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rt": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "rt",
                        "children": [
                          {
                            "text": "b"
                          }
                        ]
                      },
                      {
                        "tag": "rt"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby>a<rt>b</rt><rt></rt></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby>a<rt>b</rt><rt></rt></ruby>"
      }
    },
    {
      "data": "<html><ruby>a<rt>b<rtc></ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rt": true,
            "rtc": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "rt",
                        "children": [
                          {
                            "text": "b"
                          }
                        ]
                      },
                      {
                        "tag": "rtc"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby>a<rt>b</rt><rtc></rtc></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby>a<rt>b</rt><rtc></rtc></ruby>"
      }
    },
    {
      "data": "<html><ruby>a<rt>b<rp></ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rt": true,
            "rp": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "rt",
                        "children": [
                          {
                            "text": "b"
                          }
                        ]
                      },
                      {
                        "tag": "rp"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby>a<rt>b</rt><rp></rp></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby>a<rt>b</rt><rp></rp></ruby>"
      }
    },
    {
      "data": "<html><ruby>a<rt>b<span></ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,31): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rt": true,
            "span": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "rt",
                        "children": [
                          {
                            "text": "b"
                          },
                          {
                            "tag": "span"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby>a<rt>b<span></span></rt></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby>a<rt>b<span></span></rt></ruby>"
      }
    },
    {
      "data": "<html><ruby>a<rtc>b<rb></ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rtc": true,
            "rb": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "rtc",
                        "children": [
                          {
                            "text": "b"
                          }
                        ]
                      },
                      {
                        "tag": "rb"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby>a<rtc>b</rtc><rb></rb></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby>a<rtc>b</rtc><rb></rb></ruby>"
      }
    },
    {
      "data": "<html><ruby>a<rtc>b<rt>c<rt>d</ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rtc": true,
            "rt": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "rtc",
                        "children": [
                          {
                            "text": "b"
                          },
                          {
                            "tag": "rt",
                            "children": [
                              {
                                "text": "c"
                              }
                            ]
                          },
                          {
                            "tag": "rt",
                            "children": [
                              {
                                "text": "d"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby>a<rtc>b<rt>c</rt><rt>d</rt></rtc></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby>a<rtc>b<rt>c</rt><rt>d</rt></rtc></ruby>"
      }
    },
    {
      "data": "<html><ruby>a<rtc>b<rtc></ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rtc": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "rtc",
                        "children": [
                          {
                            "text": "b"
                          }
                        ]
                      },
                      {
                        "tag": "rtc"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby>a<rtc>b</rtc><rtc></rtc></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby>a<rtc>b</rtc><rtc></rtc></ruby>"
      }
    },
    {
      "data": "<html><ruby>a<rtc>b<rp></ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rtc": true,
            "rp": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "rtc",
                        "children": [
                          {
                            "text": "b"
                          },
                          {
                            "tag": "rp"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby>a<rtc>b<rp></rp></rtc></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby>a<rtc>b<rp></rp></rtc></ruby>"
      }
    },
    {
      "data": "<html><ruby>a<rtc>b<span></ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rtc": true,
            "span": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "rtc",
                        "children": [
                          {
                            "text": "b"
                          },
                          {
                            "tag": "span"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby>a<rtc>b<span></span></rtc></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby>a<rtc>b<span></span></rtc></ruby>"
      }
    },
    {
      "data": "<html><ruby>a<rp>b<rb></ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rp": true,
            "rb": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "rp",
                        "children": [
                          {
                            "text": "b"
                          }
                        ]
                      },
                      {
                        "tag": "rb"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby>a<rp>b</rp><rb></rb></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby>a<rp>b</rp><rb></rb></ruby>"
      }
    },
    {
      "data": "<html><ruby>a<rp>b<rt></ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rp": true,
            "rt": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "rp",
                        "children": [
                          {
                            "text": "b"
                          }
                        ]
                      },
                      {
                        "tag": "rt"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby>a<rp>b</rp><rt></rt></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby>a<rp>b</rp><rt></rt></ruby>"
      }
    },
    {
      "data": "<html><ruby>a<rp>b<rtc></ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rp": true,
            "rtc": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "rp",
                        "children": [
                          {
                            "text": "b"
                          }
                        ]
                      },
                      {
                        "tag": "rtc"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby>a<rp>b</rp><rtc></rtc></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby>a<rp>b</rp><rtc></rtc></ruby>"
      }
    },
    {
      "data": "<html><ruby>a<rp>b<rp></ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rp": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "rp",
                        "children": [
                          {
                            "text": "b"
                          }
                        ]
                      },
                      {
                        "tag": "rp"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby>a<rp>b</rp><rp></rp></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby>a<rp>b</rp><rp></rp></ruby>"
      }
    },
    {
      "data": "<html><ruby>a<rp>b<span></ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,31): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rp": true,
            "span": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "rp",
                        "children": [
                          {
                            "text": "b"
                          },
                          {
                            "tag": "span"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby>a<rp>b<span></span></rp></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby>a<rp>b<span></span></rp></ruby>"
      }
    },
    {
      "data": "<html><ruby><rtc><ruby>a<rb>b<rt></ruby></ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rtc": true,
            "rb": true,
            "rt": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "tag": "rtc",
                        "children": [
                          {
                            "tag": "ruby",
                            "children": [
                              {
                                "text": "a"
                              },
                              {
                                "tag": "rb",
                                "children": [
                                  {
                                    "text": "b"
                                  }
                                ]
                              },
                              {
                                "tag": "rt"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby><rtc><ruby>a<rb>b</rb><rt></rt></ruby></rtc></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby><rtc><ruby>a<rb>b</rb><rt></rt></ruby></rtc></ruby>"
      }
    }
  ],
  "scriptdata01.dat": [
    {
      "data": "FOO<script>'Hello'</script>BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "'Hello'",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "BAR"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script>'Hello'</script>BAR</body></html>",
        "noQuirksBodyHtml": "FOO<script>'Hello'</script>BAR"
      }
    },
    {
      "data": "FOO<script></script>BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script"
                  },
                  {
                    "text": "BAR"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script></script>BAR</body></html>",
        "noQuirksBodyHtml": "FOO<script></script>BAR"
      }
    },
    {
      "data": "FOO<script></script >BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script"
                  },
                  {
                    "text": "BAR"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script></script>BAR</body></html>",
        "noQuirksBodyHtml": "FOO<script></script>BAR"
      }
    },
    {
      "data": "FOO<script></script/>BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,21): self-closing-flag-on-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script"
                  },
                  {
                    "text": "BAR"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script></script>BAR</body></html>",
        "noQuirksBodyHtml": "FOO<script></script>BAR"
      }
    },
    {
      "data": "FOO<script></script/ >BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,20): unexpected-character-after-solidus-in-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script"
                  },
                  {
                    "text": "BAR"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script></script>BAR</body></html>",
        "noQuirksBodyHtml": "FOO<script></script>BAR"
      }
    },
    {
      "data": "FOO<script type=\"text/plain\"></scriptx>BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,42): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "text/plain"
                      }
                    ],
                    "children": [
                      {
                        "text": "</scriptx>BAR",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script type=\"text/plain\"></scriptx>BAR</script></body></html>",
        "noQuirksBodyHtml": "FOO<script type=\"text/plain\"></scriptx>BAR</script>"
      }
    },
    {
      "data": "FOO<script></script foo=\">\" dd>BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,31): attributes-in-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script"
                  },
                  {
                    "text": "BAR"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script></script>BAR</body></html>",
        "noQuirksBodyHtml": "FOO<script></script>BAR"
      }
    },
    {
      "data": "FOO<script>'<'</script>BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "'<'",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "BAR"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script>'<'</script>BAR</body></html>",
        "noQuirksBodyHtml": "FOO<script>'<'</script>BAR"
      }
    },
    {
      "data": "FOO<script>'<!'</script>BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "'<!'",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "BAR"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script>'<!'</script>BAR</body></html>",
        "noQuirksBodyHtml": "FOO<script>'<!'</script>BAR"
      }
    },
    {
      "data": "FOO<script>'<!-'</script>BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "'<!-'",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "BAR"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script>'<!-'</script>BAR</body></html>",
        "noQuirksBodyHtml": "FOO<script>'<!-'</script>BAR"
      }
    },
    {
      "data": "FOO<script>'<!--'</script>BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "'<!--'",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "BAR"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script>'<!--'</script>BAR</body></html>",
        "noQuirksBodyHtml": "FOO<script>'<!--'</script>BAR"
      }
    },
    {
      "data": "FOO<script>'<!---'</script>BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "'<!---'",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "BAR"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script>'<!---'</script>BAR</body></html>",
        "noQuirksBodyHtml": "FOO<script>'<!---'</script>BAR"
      }
    },
    {
      "data": "FOO<script>'<!-->'</script>BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "'<!-->'",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "BAR"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script>'<!-->'</script>BAR</body></html>",
        "noQuirksBodyHtml": "FOO<script>'<!-->'</script>BAR"
      }
    },
    {
      "data": "FOO<script>'<!-->'</script>BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "'<!-->'",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "BAR"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script>'<!-->'</script>BAR</body></html>",
        "noQuirksBodyHtml": "FOO<script>'<!-->'</script>BAR"
      }
    },
    {
      "data": "FOO<script>'<!-- potato'</script>BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "'<!-- potato'",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "BAR"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script>'<!-- potato'</script>BAR</body></html>",
        "noQuirksBodyHtml": "FOO<script>'<!-- potato'</script>BAR"
      }
    },
    {
      "data": "FOO<script>'<!-- <sCrIpt'</script>BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "'<!-- <sCrIpt'",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "BAR"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script>'<!-- <sCrIpt'</script>BAR</body></html>",
        "noQuirksBodyHtml": "FOO<script>'<!-- <sCrIpt'</script>BAR"
      }
    },
    {
      "data": "FOO<script type=\"text/plain\">'<!-- <sCrIpt>'</script>BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,56): expected-script-data-but-got-eof",
        "(1,56): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "text/plain"
                      }
                    ],
                    "children": [
                      {
                        "text": "'<!-- <sCrIpt>'</script>BAR",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script type=\"text/plain\">'<!-- <sCrIpt>'</script>BAR</script></body></html>",
        "noQuirksBodyHtml": "FOO<script type=\"text/plain\">'<!-- <sCrIpt>'</script>BAR</script>"
      }
    },
    {
      "data": "FOO<script type=\"text/plain\">'<!-- <sCrIpt> -'</script>BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,58): expected-script-data-but-got-eof",
        "(1,58): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "text/plain"
                      }
                    ],
                    "children": [
                      {
                        "text": "'<!-- <sCrIpt> -'</script>BAR",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script type=\"text/plain\">'<!-- <sCrIpt> -'</script>BAR</script></body></html>",
        "noQuirksBodyHtml": "FOO<script type=\"text/plain\">'<!-- <sCrIpt> -'</script>BAR</script>"
      }
    },
    {
      "data": "FOO<script type=\"text/plain\">'<!-- <sCrIpt> --'</script>BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,59): expected-script-data-but-got-eof",
        "(1,59): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "text/plain"
                      }
                    ],
                    "children": [
                      {
                        "text": "'<!-- <sCrIpt> --'</script>BAR",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script type=\"text/plain\">'<!-- <sCrIpt> --'</script>BAR</script></body></html>",
        "noQuirksBodyHtml": "FOO<script type=\"text/plain\">'<!-- <sCrIpt> --'</script>BAR</script>"
      }
    },
    {
      "data": "FOO<script>'<!-- <sCrIpt> -->'</script>BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "'<!-- <sCrIpt> -->'",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "BAR"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script>'<!-- <sCrIpt> -->'</script>BAR</body></html>",
        "noQuirksBodyHtml": "FOO<script>'<!-- <sCrIpt> -->'</script>BAR"
      }
    },
    {
      "data": "FOO<script type=\"text/plain\">'<!-- <sCrIpt> --!>'</script>BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,61): expected-script-data-but-got-eof",
        "(1,61): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "text/plain"
                      }
                    ],
                    "children": [
                      {
                        "text": "'<!-- <sCrIpt> --!>'</script>BAR",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script type=\"text/plain\">'<!-- <sCrIpt> --!>'</script>BAR</script></body></html>",
        "noQuirksBodyHtml": "FOO<script type=\"text/plain\">'<!-- <sCrIpt> --!>'</script>BAR</script>"
      }
    },
    {
      "data": "FOO<script type=\"text/plain\">'<!-- <sCrIpt> -- >'</script>BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,61): expected-script-data-but-got-eof",
        "(1,61): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "text/plain"
                      }
                    ],
                    "children": [
                      {
                        "text": "'<!-- <sCrIpt> -- >'</script>BAR",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script type=\"text/plain\">'<!-- <sCrIpt> -- >'</script>BAR</script></body></html>",
        "noQuirksBodyHtml": "FOO<script type=\"text/plain\">'<!-- <sCrIpt> -- >'</script>BAR</script>"
      }
    },
    {
      "data": "FOO<script type=\"text/plain\">'<!-- <sCrIpt '</script>BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,56): expected-script-data-but-got-eof",
        "(1,56): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "text/plain"
                      }
                    ],
                    "children": [
                      {
                        "text": "'<!-- <sCrIpt '</script>BAR",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script type=\"text/plain\">'<!-- <sCrIpt '</script>BAR</script></body></html>",
        "noQuirksBodyHtml": "FOO<script type=\"text/plain\">'<!-- <sCrIpt '</script>BAR</script>"
      }
    },
    {
      "data": "FOO<script type=\"text/plain\">'<!-- <sCrIpt/'</script>BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars",
        "(1,56): expected-script-data-but-got-eof",
        "(1,56): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "text/plain"
                      }
                    ],
                    "children": [
                      {
                        "text": "'<!-- <sCrIpt/'</script>BAR",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script type=\"text/plain\">'<!-- <sCrIpt/'</script>BAR</script></body></html>",
        "noQuirksBodyHtml": "FOO<script type=\"text/plain\">'<!-- <sCrIpt/'</script>BAR</script>"
      }
    },
    {
      "data": "FOO<script type=\"text/plain\">'<!-- <sCrIpt\\'</script>BAR",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "text/plain"
                      }
                    ],
                    "children": [
                      {
                        "text": "'<!-- <sCrIpt\\'",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "BAR"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script type=\"text/plain\">'<!-- <sCrIpt\\'</script>BAR</body></html>",
        "noQuirksBodyHtml": "FOO<script type=\"text/plain\">'<!-- <sCrIpt\\'</script>BAR"
      }
    },
    {
      "data": "FOO<script type=\"text/plain\">'<!-- <sCrIpt/'</script>BAR</script>QUX",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "text/plain"
                      }
                    ],
                    "children": [
                      {
                        "text": "'<!-- <sCrIpt/'</script>BAR",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "QUX"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script type=\"text/plain\">'<!-- <sCrIpt/'</script>BAR</script>QUX</body></html>",
        "noQuirksBodyHtml": "FOO<script type=\"text/plain\">'<!-- <sCrIpt/'</script>BAR</script>QUX"
      }
    },
    {
      "data": "FOO<script><!--<script>-></script>--></script>QUX",
      "errors": [
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "script": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "FOO"
                  },
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script>-></script>-->",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "QUX"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>FOO<script><!--<script>-></script>--></script>QUX</body></html>",
        "noQuirksBodyHtml": "FOO<script><!--<script>-></script>--></script>QUX"
      }
    }
  ],
  "tables01.dat": [
    {
      "data": "<table><th>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,11): unexpected-cell-in-table-body",
        "(1,11): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "th": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "th"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><tr><th></th></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><th></th></tr></tbody></table>"
      }
    },
    {
      "data": "<table><td>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,11): unexpected-cell-in-table-body",
        "(1,11): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><tr><td></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td></td></tr></tbody></table>"
      }
    },
    {
      "data": "<table><col foo='bar'>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,22): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "colgroup": true,
            "col": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "colgroup",
                        "children": [
                          {
                            "tag": "col",
                            "attrs": [
                              {
                                "name": "foo",
                                "value": "bar"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><colgroup><col foo=\"bar\"></colgroup></table></body></html>",
        "noQuirksBodyHtml": "<table><colgroup><col foo=\"bar\"></colgroup></table>"
      }
    },
    {
      "data": "<table><colgroup></html>foo",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,24): unexpected-end-tag",
        "(1,27): foster-parenting-character-in-table",
        "(1,27): foster-parenting-character-in-table",
        "(1,27): foster-parenting-character-in-table",
        "(1,27): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "colgroup": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "foo"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "colgroup"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>foo<table><colgroup></colgroup></table></body></html>",
        "noQuirksBodyHtml": "foo<table><colgroup></colgroup></table>"
      }
    },
    {
      "data": "<table></table><p>foo",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table"
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "foo"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table></table><p>foo</p></body></html>",
        "noQuirksBodyHtml": "<table></table><p>foo</p>"
      }
    },
    {
      "data": "<table></body></caption></col></colgroup></html></tbody></td></tfoot></th></thead></tr><td>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,14): unexpected-end-tag",
        "(1,24): unexpected-end-tag",
        "(1,30): unexpected-end-tag",
        "(1,41): unexpected-end-tag",
        "(1,48): unexpected-end-tag",
        "(1,56): unexpected-end-tag",
        "(1,61): unexpected-end-tag",
        "(1,69): unexpected-end-tag",
        "(1,74): unexpected-end-tag",
        "(1,82): unexpected-end-tag",
        "(1,87): unexpected-end-tag",
        "(1,91): unexpected-cell-in-table-body",
        "(1,91): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><tr><td></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td></td></tr></tbody></table>"
      }
    },
    {
      "data": "<table><select><option>3</select></table>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,15): unexpected-start-tag-implies-table-voodoo"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "option": true,
            "table": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "tag": "option",
                        "children": [
                          {
                            "text": "3"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><select><option>3</option></select><table></table></body></html>",
        "noQuirksBodyHtml": "<select><option>3</option></select><table></table>"
      }
    },
    {
      "data": "<table><select><table></table></select></table>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,15): unexpected-start-tag-implies-table-voodoo",
        "(1,22): unexpected-table-element-start-tag-in-select-in-table",
        "(1,22): unexpected-start-tag-implies-end-tag",
        "(1,39): unexpected-end-tag",
        "(1,47): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "table": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select"
                  },
                  {
                    "tag": "table"
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><select></select><table></table><table></table></body></html>",
        "noQuirksBodyHtml": "<select></select><table></table><table></table>"
      }
    },
    {
      "data": "<table><select></table>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,15): unexpected-start-tag-implies-table-voodoo",
        "(1,23): unexpected-table-element-end-tag-in-select-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "table": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select"
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><select></select><table></table></body></html>",
        "noQuirksBodyHtml": "<select></select><table></table>"
      }
    },
    {
      "data": "<table><select><option>A<tr><td>B</td></tr></table>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,15): unexpected-start-tag-implies-table-voodoo",
        "(1,28): unexpected-table-element-start-tag-in-select-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "option": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "tag": "option",
                        "children": [
                          {
                            "text": "A"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "text": "B"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><select><option>A</option></select><table><tbody><tr><td>B</td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<select><option>A</option></select><table><tbody><tr><td>B</td></tr></tbody></table>"
      }
    },
    {
      "data": "<table><td></body></caption></col></colgroup></html>foo",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,11): unexpected-cell-in-table-body",
        "(1,18): unexpected-end-tag",
        "(1,28): unexpected-end-tag",
        "(1,34): unexpected-end-tag",
        "(1,45): unexpected-end-tag",
        "(1,52): unexpected-end-tag",
        "(1,55): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "text": "foo"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><tr><td>foo</td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td>foo</td></tr></tbody></table>"
      }
    },
    {
      "data": "<table><td>A</table>B",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,11): unexpected-cell-in-table-body"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "text": "A"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "text": "B"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><tr><td>A</td></tr></tbody></table>B</body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td>A</td></tr></tbody></table>B"
      }
    },
    {
      "data": "<table><tr><caption>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,20): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "caption": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr"
                          }
                        ]
                      },
                      {
                        "tag": "caption"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><tr></tr></tbody><caption></caption></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr></tr></tbody><caption></caption></table>"
      }
    },
    {
      "data": "<table><tr></body></caption></col></colgroup></html></td></th><td>foo",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,18): unexpected-end-tag-in-table-row",
        "(1,28): unexpected-end-tag-in-table-row",
        "(1,34): unexpected-end-tag-in-table-row",
        "(1,45): unexpected-end-tag-in-table-row",
        "(1,52): unexpected-end-tag-in-table-row",
        "(1,57): unexpected-end-tag-in-table-row",
        "(1,62): unexpected-end-tag-in-table-row",
        "(1,69): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "text": "foo"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><tr><td>foo</td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td>foo</td></tr></tbody></table>"
      }
    },
    {
      "data": "<table><td><tr>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,11): unexpected-cell-in-table-body",
        "(1,15): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td"
                              }
                            ]
                          },
                          {
                            "tag": "tr"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><tr><td></td></tr><tr></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td></td></tr><tr></tr></tbody></table>"
      }
    },
    {
      "data": "<table><td><button><td>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,11): unexpected-cell-in-table-body",
        "(1,23): unexpected-cell-end-tag",
        "(1,23): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "button": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "button"
                                  }
                                ]
                              },
                              {
                                "tag": "td"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><tr><td><button></button></td><td></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td><button></button></td><td></td></tr></tbody></table>"
      }
    },
    {
      "data": "<table><tr><td><svg><desc><td>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,30): unexpected-cell-end-tag",
        "(1,30): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "svg svg": true,
            "svg desc": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "svg",
                                    "ns": "http://www.w3.org/2000/svg",
                                    "children": [
                                      {
                                        "tag": "desc",
                                        "ns": "http://www.w3.org/2000/svg"
                                      }
                                    ]
                                  }
                                ]
                              },
                              {
                                "tag": "td"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><tr><td><svg><desc></desc></svg></td><td></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td><svg><desc></desc></svg></td><td></td></tr></tbody></table>"
      }
    }
  ],
  "template.dat": [
    {
      "data": "<body><template>Hello</template>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "text": "Hello"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template>Hello</template></body></html>",
        "noQuirksBodyHtml": "<template>Hello</template>"
      }
    },
    {
      "data": "<template>Hello</template>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "text": "Hello"
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template>Hello</template></head><body></body></html>",
        "noQuirksBodyHtml": "<template>Hello</template>"
      }
    },
    {
      "data": "<template></template><div></div>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "body": true,
            "div": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><template></template></head><body><div></div></body></html>",
        "noQuirksBodyHtml": "<template></template><div></div>"
      }
    },
    {
      "data": "<html><template>Hello</template>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "text": "Hello"
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template>Hello</template></head><body></body></html>",
        "noQuirksBodyHtml": "<template>Hello</template>"
      }
    },
    {
      "data": "<head><template><div></div></template></head>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "div": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "div"
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template><div></div></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template><div></div></template>"
      }
    },
    {
      "data": "<div><template><div><span></template><b>",
      "errors": [
        " * (1,6) missing DOCTYPE",
        " * (1,38) mismatched template end tag",
        " * (1,41) unexpected end of file"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "template": true,
            "span": true,
            "b": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "template",
                        "children": [
                          {
                            "content": true,
                            "children": [
                              {
                                "tag": "div",
                                "children": [
                                  {
                                    "tag": "span"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "b"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div><template><div><span></span></div></template><b></b></div></body></html>",
        "noQuirksBodyHtml": "<div><template><div><span></span></div></template><b></b></div>"
      }
    },
    {
      "data": "<div><template></div>Hello",
      "errors": [
        " * (1,6) missing DOCTYPE",
        " * (1,22) unexpected token in template",
        " * (1,27) unexpected end of file in template",
        " * (1,27) unexpected end of file"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "template": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "template",
                        "children": [
                          {
                            "content": true,
                            "children": [
                              {
                                "text": "Hello"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div><template>Hello</template></div></body></html>",
        "noQuirksBodyHtml": "<div><template>Hello</template></div>"
      }
    },
    {
      "data": "<div></template></div>",
      "errors": [
        " * (1,6) missing DOCTYPE",
        " * (1,17) unexpected template end tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div></div></body></html>",
        "noQuirksBodyHtml": "<div></div>"
      }
    },
    {
      "data": "<table><template></template></table>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "template": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "template",
                        "children": [
                          {
                            "content": true
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><template></template></table></body></html>",
        "noQuirksBodyHtml": "<table><template></template></table>"
      }
    },
    {
      "data": "<table><template></template></div>",
      "errors": [
        " * (1,8) missing DOCTYPE",
        " * (1,35) unexpected token in table - foster parenting",
        " * (1,35) unexpected end tag",
        " * (1,35) unexpected end of file"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "template": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "template",
                        "children": [
                          {
                            "content": true
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><template></template></table></body></html>",
        "noQuirksBodyHtml": "<table><template></template></table>"
      }
    },
    {
      "data": "<table><div><template></template></div>",
      "errors": [
        " * (1,8) missing DOCTYPE",
        " * (1,13) unexpected token in table - foster parenting",
        " * (1,40) unexpected token in table - foster parenting",
        " * (1,40) unexpected end of file"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "template": true,
            "table": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "template",
                        "children": [
                          {
                            "content": true
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div><template></template></div><table></table></body></html>",
        "noQuirksBodyHtml": "<div><template></template></div><table></table>"
      }
    },
    {
      "data": "<table><template></template><div></div>",
      "errors": [
        "no doctype",
        "bad div in table",
        "bad /div in table",
        "eof in table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "table": true,
            "template": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "template",
                        "children": [
                          {
                            "content": true
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div></div><table><template></template></table></body></html>",
        "noQuirksBodyHtml": "<div></div><table><template></template></table>"
      }
    },
    {
      "data": "<table>   <template></template></table>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "template": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "text": "   "
                      },
                      {
                        "tag": "template",
                        "children": [
                          {
                            "content": true
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table>   <template></template></table></body></html>",
        "noQuirksBodyHtml": "<table>   <template></template></table>"
      }
    },
    {
      "data": "<table><tbody><template></template></tbody>",
      "errors": [
        "no doctype",
        "eof in table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "template": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><template></template></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><template></template></tbody></table>"
      }
    },
    {
      "data": "<table><tbody><template></tbody></template>",
      "errors": [
        "no doctype",
        "bad /tbody",
        "eof in table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "template": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><template></template></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><template></template></tbody></table>"
      }
    },
    {
      "data": "<table><tbody><template></template></tbody></table>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "template": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><template></template></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><template></template></tbody></table>"
      }
    },
    {
      "data": "<table><thead><template></template></thead>",
      "errors": [
        "no doctype",
        "eof in table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "thead": true,
            "template": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "thead",
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><thead><template></template></thead></table></body></html>",
        "noQuirksBodyHtml": "<table><thead><template></template></thead></table>"
      }
    },
    {
      "data": "<table><tfoot><template></template></tfoot>",
      "errors": [
        "no doctype",
        "eof in table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tfoot": true,
            "template": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tfoot",
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tfoot><template></template></tfoot></table></body></html>",
        "noQuirksBodyHtml": "<table><tfoot><template></template></tfoot></table>"
      }
    },
    {
      "data": "<select><template></template></select>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "template": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "tag": "template",
                        "children": [
                          {
                            "content": true
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><select><template></template></select></body></html>",
        "noQuirksBodyHtml": "<select><template></template></select>"
      }
    },
    {
      "data": "<select><template><option></option></template></select>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "template": true,
            "option": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "tag": "template",
                        "children": [
                          {
                            "content": true,
                            "children": [
                              {
                                "tag": "option"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><select><template><option></option></template></select></body></html>",
        "noQuirksBodyHtml": "<select><template><option></option></template></select>"
      }
    },
    {
      "data": "<template><option></option></select><option></option></template>",
      "errors": [
        "no doctype",
        "bad /select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "option": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "option"
                          },
                          {
                            "tag": "option"
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template><option></option><option></option></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template><option></option><option></option></template>"
      }
    },
    {
      "data": "<select><template></template><option></select>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "template": true,
            "option": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "tag": "template",
                        "children": [
                          {
                            "content": true
                          }
                        ]
                      },
                      {
                        "tag": "option"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><select><template></template><option></option></select></body></html>",
        "noQuirksBodyHtml": "<select><template></template><option></option></select>"
      }
    },
    {
      "data": "<select><option><template></template></select>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "option": true,
            "template": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "tag": "option",
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><select><option><template></template></option></select></body></html>",
        "noQuirksBodyHtml": "<select><option><template></template></option></select>"
      }
    },
    {
      "data": "<select><template>",
      "errors": [
        "no doctype",
        "eof in template",
        "eof in select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "template": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "tag": "template",
                        "children": [
                          {
                            "content": true
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><select><template></template></select></body></html>",
        "noQuirksBodyHtml": "<select><template></template></select>"
      }
    },
    {
      "data": "<select><option></option><template>",
      "errors": [
        "no doctype",
        "eof in template",
        "eof in select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "option": true,
            "template": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "tag": "option"
                      },
                      {
                        "tag": "template",
                        "children": [
                          {
                            "content": true
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><select><option></option><template></template></select></body></html>",
        "noQuirksBodyHtml": "<select><option></option><template></template></select>"
      }
    },
    {
      "data": "<select><option></option><template><option>",
      "errors": [
        "no doctype",
        "eof in template",
        "eof in select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "option": true,
            "template": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "tag": "option"
                      },
                      {
                        "tag": "template",
                        "children": [
                          {
                            "content": true,
                            "children": [
                              {
                                "tag": "option"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><select><option></option><template><option></option></template></select></body></html>",
        "noQuirksBodyHtml": "<select><option></option><template><option></option></template></select>"
      }
    },
    {
      "data": "<table><thead><template><td></template></table>",
      "errors": [
        " * (1,8) missing DOCTYPE"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "thead": true,
            "template": true,
            "td": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "thead",
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true,
                                "children": [
                                  {
                                    "tag": "td"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><thead><template><td></td></template></thead></table></body></html>",
        "noQuirksBodyHtml": "<table><thead><template><td></td></template></thead></table>"
      }
    },
    {
      "data": "<table><template><thead></template></table>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "template": true,
            "thead": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "template",
                        "children": [
                          {
                            "content": true,
                            "children": [
                              {
                                "tag": "thead"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><template><thead></thead></template></table></body></html>",
        "noQuirksBodyHtml": "<table><template><thead></thead></template></table>"
      }
    },
    {
      "data": "<body><table><template><td></tr><div></template></table>",
      "errors": [
        "no doctype",
        "bad </tr>",
        "missing </div>"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "template": true,
            "td": true,
            "div": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "template",
                        "children": [
                          {
                            "content": true,
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "div"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><template><td><div></div></td></template></table></body></html>",
        "noQuirksBodyHtml": "<table><template><td><div></div></td></template></table>"
      }
    },
    {
      "data": "<table><template><thead></template></thead></table>",
      "errors": [
        "no doctype",
        "bad /thead after /template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "template": true,
            "thead": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "template",
                        "children": [
                          {
                            "content": true,
                            "children": [
                              {
                                "tag": "thead"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><template><thead></thead></template></table></body></html>",
        "noQuirksBodyHtml": "<table><template><thead></thead></template></table>"
      }
    },
    {
      "data": "<table><thead><template><tr></template></table>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "thead": true,
            "template": true,
            "tr": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "thead",
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true,
                                "children": [
                                  {
                                    "tag": "tr"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><thead><template><tr></tr></template></thead></table></body></html>",
        "noQuirksBodyHtml": "<table><thead><template><tr></tr></template></thead></table>"
      }
    },
    {
      "data": "<table><template><tr></template></table>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "template": true,
            "tr": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "template",
                        "children": [
                          {
                            "content": true,
                            "children": [
                              {
                                "tag": "tr"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><template><tr></tr></template></table></body></html>",
        "noQuirksBodyHtml": "<table><template><tr></tr></template></table>"
      }
    },
    {
      "data": "<table><tr><template><td>",
      "errors": [
        "no doctype",
        "eof in template",
        "eof in table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "template": true,
            "td": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "template",
                                "children": [
                                  {
                                    "content": true,
                                    "children": [
                                      {
                                        "tag": "td"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><tr><template><td></td></template></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><template><td></td></template></tr></tbody></table>"
      }
    },
    {
      "data": "<table><template><tr><template><td></template></tr></template></table>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "template": true,
            "tr": true,
            "td": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "template",
                        "children": [
                          {
                            "content": true,
                            "children": [
                              {
                                "tag": "tr",
                                "children": [
                                  {
                                    "tag": "template",
                                    "children": [
                                      {
                                        "content": true,
                                        "children": [
                                          {
                                            "tag": "td"
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><template><tr><template><td></td></template></tr></template></table></body></html>",
        "noQuirksBodyHtml": "<table><template><tr><template><td></td></template></tr></template></table>"
      }
    },
    {
      "data": "<table><template><tr><template><td></td></template></tr></template></table>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "template": true,
            "tr": true,
            "td": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "template",
                        "children": [
                          {
                            "content": true,
                            "children": [
                              {
                                "tag": "tr",
                                "children": [
                                  {
                                    "tag": "template",
                                    "children": [
                                      {
                                        "content": true,
                                        "children": [
                                          {
                                            "tag": "td"
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><template><tr><template><td></td></template></tr></template></table></body></html>",
        "noQuirksBodyHtml": "<table><template><tr><template><td></td></template></tr></template></table>"
      }
    },
    {
      "data": "<table><template><td></template>",
      "errors": [
        "no doctype",
        "eof in table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "template": true,
            "td": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "template",
                        "children": [
                          {
                            "content": true,
                            "children": [
                              {
                                "tag": "td"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><template><td></td></template></table></body></html>",
        "noQuirksBodyHtml": "<table><template><td></td></template></table>"
      }
    },
    {
      "data": "<body><template><td></td></template>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "td": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "td"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><td></td></template></body></html>",
        "noQuirksBodyHtml": "<template><td></td></template>"
      }
    },
    {
      "data": "<body><template><template><tr></tr></template><td></td></template>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "tr": true,
            "td": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true,
                                "children": [
                                  {
                                    "tag": "tr"
                                  }
                                ]
                              }
                            ]
                          },
                          {
                            "tag": "td"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><template><tr></tr></template><td></td></template></body></html>",
        "noQuirksBodyHtml": "<template><template><tr></tr></template><td></td></template>"
      }
    },
    {
      "data": "<table><colgroup><template><col>",
      "errors": [
        "no doctype",
        "eof in template",
        "eof in table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "colgroup": true,
            "template": true,
            "col": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "colgroup",
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true,
                                "children": [
                                  {
                                    "tag": "col"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><colgroup><template><col></template></colgroup></table></body></html>",
        "noQuirksBodyHtml": "<table><colgroup><template><col></template></colgroup></table>"
      }
    },
    {
      "data": "<frameset><template><frame></frame></template></frameset>",
      "errors": [
        " * (1,11) missing DOCTYPE",
        " * (1,21) unexpected start tag token",
        " * (1,36) unexpected end tag token",
        " * (1,47) unexpected end tag token"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true,
            "frame": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset",
                "children": [
                  {
                    "tag": "frame"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset><frame></frameset></html>",
        "noQuirksBodyHtml": "<template></template>"
      }
    },
    {
      "data": "<template><frame></frame></frameset><frame></frame></template>",
      "errors": [
        " * (1,11) missing DOCTYPE",
        " * (1,18) unexpected start tag",
        " * (1,26) unexpected end tag",
        " * (1,37) unexpected end tag",
        " * (1,44) unexpected start tag",
        " * (1,52) unexpected end tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template></template>"
      }
    },
    {
      "data": "<template><div><frameset><span></span></div><span></span></template>",
      "errors": [
        "no doctype",
        "bad frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "div": true,
            "span": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "div",
                            "children": [
                              {
                                "tag": "span"
                              }
                            ]
                          },
                          {
                            "tag": "span"
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template><div><span></span></div><span></span></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template><div><span></span></div><span></span></template>"
      }
    },
    {
      "data": "<body><template><div><frameset><span></span></div><span></span></template></body>",
      "errors": [
        "no doctype",
        "bad frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "div": true,
            "span": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "div",
                            "children": [
                              {
                                "tag": "span"
                              }
                            ]
                          },
                          {
                            "tag": "span"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><div><span></span></div><span></span></template></body></html>",
        "noQuirksBodyHtml": "<template><div><span></span></div><span></span></template>"
      }
    },
    {
      "data": "<body><template><script>var i = 1;</script><td></td></template>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "script": true,
            "td": true
          },
          "template": true,
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "script",
                            "children": [
                              {
                                "text": "var i = 1;",
                                "no_escape": true
                              }
                            ]
                          },
                          {
                            "tag": "td"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><script>var i = 1;</script><td></td></template></body></html>",
        "noQuirksBodyHtml": "<template><script>var i = 1;</script><td></td></template>"
      }
    },
    {
      "data": "<body><template><tr><div></div></tr></template>",
      "errors": [
        "no doctype",
        "foster-parented div",
        "foster-parented /div"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "tr": true,
            "div": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "tr"
                          },
                          {
                            "tag": "div"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><tr></tr><div></div></template></body></html>",
        "noQuirksBodyHtml": "<template><tr></tr><div></div></template>"
      }
    },
    {
      "data": "<body><template><tr></tr><td></td></template>",
      "errors": [
        "no doctype",
        "unexpected <td>"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "tr": true,
            "td": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "tr"
                          },
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><tr></tr><tr><td></td></tr></template></body></html>",
        "noQuirksBodyHtml": "<template><tr></tr><tr><td></td></tr></template>"
      }
    },
    {
      "data": "<body><template><td></td></tr><td></td></template>",
      "errors": [
        "no doctype",
        "bad </tr>"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "td": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "td"
                          },
                          {
                            "tag": "td"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><td></td><td></td></template></body></html>",
        "noQuirksBodyHtml": "<template><td></td><td></td></template>"
      }
    },
    {
      "data": "<body><template><td></td><tbody><td></td></template>",
      "errors": [
        "no doctype",
        "bad <tbody>"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "td": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "td"
                          },
                          {
                            "tag": "td"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><td></td><td></td></template></body></html>",
        "noQuirksBodyHtml": "<template><td></td><td></td></template>"
      }
    },
    {
      "data": "<body><template><td></td><caption></caption><td></td></template>",
      "errors": [
        " * (1,7) missing DOCTYPE",
        " * (1,35) unexpected start tag in table row",
        " * (1,45) unexpected end tag in table row"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "td": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "td"
                          },
                          {
                            "tag": "td"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><td></td><td></td></template></body></html>",
        "noQuirksBodyHtml": "<template><td></td><td></td></template>"
      }
    },
    {
      "data": "<body><template><td></td><colgroup></caption><td></td></template>",
      "errors": [
        " * (1,7) missing DOCTYPE",
        " * (1,36) unexpected start tag in table row",
        " * (1,46) unexpected end tag in table row"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "td": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "td"
                          },
                          {
                            "tag": "td"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><td></td><td></td></template></body></html>",
        "noQuirksBodyHtml": "<template><td></td><td></td></template>"
      }
    },
    {
      "data": "<body><template><td></td></table><td></td></template>",
      "errors": [
        "no doctype",
        "bad </table>"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "td": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "td"
                          },
                          {
                            "tag": "td"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><td></td><td></td></template></body></html>",
        "noQuirksBodyHtml": "<template><td></td><td></td></template>"
      }
    },
    {
      "data": "<body><template><tr></tr><tbody><tr></tr></template>",
      "errors": [
        "no doctype",
        "bad <tbody>"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "tr": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "tr"
                          },
                          {
                            "tag": "tr"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><tr></tr><tr></tr></template></body></html>",
        "noQuirksBodyHtml": "<template><tr></tr><tr></tr></template>"
      }
    },
    {
      "data": "<body><template><tr></tr><caption><tr></tr></template>",
      "errors": [
        "no doctype",
        "bad <caption>"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "tr": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "tr"
                          },
                          {
                            "tag": "tr"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><tr></tr><tr></tr></template></body></html>",
        "noQuirksBodyHtml": "<template><tr></tr><tr></tr></template>"
      }
    },
    {
      "data": "<body><template><tr></tr></table><tr></tr></template>",
      "errors": [
        "no doctype",
        "bad </table>"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "tr": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "tr"
                          },
                          {
                            "tag": "tr"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><tr></tr><tr></tr></template></body></html>",
        "noQuirksBodyHtml": "<template><tr></tr><tr></tr></template>"
      }
    },
    {
      "data": "<body><template><thead></thead><caption></caption><tbody></tbody></template>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "thead": true,
            "caption": true,
            "tbody": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "thead"
                          },
                          {
                            "tag": "caption"
                          },
                          {
                            "tag": "tbody"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><thead></thead><caption></caption><tbody></tbody></template></body></html>",
        "noQuirksBodyHtml": "<template><thead></thead><caption></caption><tbody></tbody></template>"
      }
    },
    {
      "data": "<body><template><thead></thead></table><tbody></tbody></template></body>",
      "errors": [
        "no doctype",
        "bad </table>"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "thead": true,
            "tbody": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "thead"
                          },
                          {
                            "tag": "tbody"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><thead></thead><tbody></tbody></template></body></html>",
        "noQuirksBodyHtml": "<template><thead></thead><tbody></tbody></template>"
      }
    },
    {
      "data": "<body><template><div><tr></tr></div></template>",
      "errors": [
        "no doctype",
        "bad tr",
        "bad /tr"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "div": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "div"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><div></div></template></body></html>",
        "noQuirksBodyHtml": "<template><div></div></template>"
      }
    },
    {
      "data": "<body><template><em>Hello</em></template>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "em": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "em",
                            "children": [
                              {
                                "text": "Hello"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><em>Hello</em></template></body></html>",
        "noQuirksBodyHtml": "<template><em>Hello</em></template>"
      }
    },
    {
      "data": "<body><template><!--comment--></template>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true
          },
          "template": true,
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "comment": "comment"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><!--comment--></template></body></html>",
        "noQuirksBodyHtml": "<template><!--comment--></template>"
      }
    },
    {
      "data": "<body><template><style></style><td></td></template>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "style": true,
            "td": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "style"
                          },
                          {
                            "tag": "td"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><style></style><td></td></template></body></html>",
        "noQuirksBodyHtml": "<template><style></style><td></td></template>"
      }
    },
    {
      "data": "<body><template><meta><td></td></template>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "meta": true,
            "td": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "meta"
                          },
                          {
                            "tag": "td"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><meta><td></td></template></body></html>",
        "noQuirksBodyHtml": "<template><meta><td></td></template>"
      }
    },
    {
      "data": "<body><template><link><td></td></template>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "link": true,
            "td": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "link"
                          },
                          {
                            "tag": "td"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><link><td></td></template></body></html>",
        "noQuirksBodyHtml": "<template><link><td></td></template>"
      }
    },
    {
      "data": "<body><template><template><tr></tr></template><td></td></template>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "tr": true,
            "td": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true,
                                "children": [
                                  {
                                    "tag": "tr"
                                  }
                                ]
                              }
                            ]
                          },
                          {
                            "tag": "td"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><template><tr></tr></template><td></td></template></body></html>",
        "noQuirksBodyHtml": "<template><template><tr></tr></template><td></td></template>"
      }
    },
    {
      "data": "<body><table><colgroup><template><col></col></template></colgroup></table></body>",
      "errors": [
        "no doctype",
        "bad /col"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "colgroup": true,
            "template": true,
            "col": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "colgroup",
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true,
                                "children": [
                                  {
                                    "tag": "col"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><colgroup><template><col></template></colgroup></table></body></html>",
        "noQuirksBodyHtml": "<table><colgroup><template><col></template></colgroup></table>"
      }
    },
    {
      "data": "<body a=b><template><div></div><body c=d><div></div></body></template></body>",
      "errors": [
        "no doctype",
        "bad <body>",
        "bad </body>"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "div": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "attrs": [
                  {
                    "name": "a",
                    "value": "b"
                  }
                ],
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "div"
                          },
                          {
                            "tag": "div"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body a=\"b\"><template><div></div><div></div></template></body></html>",
        "noQuirksBodyHtml": "<template><div></div><div></div></template>"
      }
    },
    {
      "data": "<html a=b><template><div><html b=c><span></template>",
      "errors": [
        "no doctype",
        "bad <html>",
        "missing end tags in template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "div": true,
            "span": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "attrs": [
              {
                "name": "a",
                "value": "b"
              }
            ],
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "div",
                            "children": [
                              {
                                "tag": "span"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html a=\"b\"><head><template><div><span></span></div></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template><div><span></span></div></template>"
      }
    },
    {
      "data": "<html a=b><template><col></col><html b=c><col></col></template>",
      "errors": [
        "no doctype",
        "bad /col",
        "bad html",
        "bad /col"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "col": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "attrs": [
              {
                "name": "a",
                "value": "b"
              }
            ],
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "col"
                          },
                          {
                            "tag": "col"
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html a=\"b\"><head><template><col><col></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template><col><col></template>"
      }
    },
    {
      "data": "<html a=b><template><frame></frame><html b=c><frame></frame></template>",
      "errors": [
        "no doctype",
        "bad frame",
        "bad /frame",
        "bad html",
        "bad frame",
        "bad /frame"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "attrs": [
              {
                "name": "a",
                "value": "b"
              }
            ],
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html a=\"b\"><head><template></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template></template>"
      }
    },
    {
      "data": "<body><template><tr></tr><template></template><td></td></template>",
      "errors": [
        "no doctype",
        "unexpected <td>"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "tr": true,
            "td": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "tr"
                          },
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true
                              }
                            ]
                          },
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><tr></tr><template></template><tr><td></td></tr></template></body></html>",
        "noQuirksBodyHtml": "<template><tr></tr><template></template><tr><td></td></tr></template>"
      }
    },
    {
      "data": "<body><template><thead></thead><template><tr></tr></template><tr></tr><tfoot></tfoot></template>",
      "errors": [
        "no doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "thead": true,
            "tr": true,
            "tbody": true,
            "tfoot": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "thead"
                          },
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true,
                                "children": [
                                  {
                                    "tag": "tr"
                                  }
                                ]
                              }
                            ]
                          },
                          {
                            "tag": "tbody",
                            "children": [
                              {
                                "tag": "tr"
                              }
                            ]
                          },
                          {
                            "tag": "tfoot"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><thead></thead><template><tr></tr></template><tbody><tr></tr></tbody><tfoot></tfoot></template></body></html>",
        "noQuirksBodyHtml": "<template><thead></thead><template><tr></tr></template><tbody><tr></tr></tbody><tfoot></tfoot></template>"
      }
    },
    {
      "data": "<body><template><template><b><template></template></template>text</template>",
      "errors": [
        "no doctype",
        "missing </b>"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "b": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true,
                                "children": [
                                  {
                                    "tag": "b",
                                    "children": [
                                      {
                                        "tag": "template",
                                        "children": [
                                          {
                                            "content": true
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          },
                          {
                            "text": "text"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><template><b><template></template></b></template>text</template></body></html>",
        "noQuirksBodyHtml": "<template><template><b><template></template></b></template>text</template>"
      }
    },
    {
      "data": "<body><template><col><colgroup>",
      "errors": [
        "no doctype",
        "bad colgroup",
        "eof in template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "col": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "col"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><col></template></body></html>",
        "noQuirksBodyHtml": "<template><col></template>"
      }
    },
    {
      "data": "<body><template><col></colgroup>",
      "errors": [
        "no doctype",
        "bogus /colgroup",
        "eof in template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "col": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "col"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><col></template></body></html>",
        "noQuirksBodyHtml": "<template><col></template>"
      }
    },
    {
      "data": "<body><template><col><colgroup></template></body>",
      "errors": [
        "no doctype",
        "bad colgroup"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "col": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "col"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><col></template></body></html>",
        "noQuirksBodyHtml": "<template><col></template>"
      }
    },
    {
      "data": "<body><template><col><div>",
      "errors": [
        " * (1,7) missing DOCTYPE",
        " * (1,27) unexpected token",
        " * (1,27) unexpected end of file in template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "col": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "col"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><col></template></body></html>",
        "noQuirksBodyHtml": "<template><col></template>"
      }
    },
    {
      "data": "<body><template><col></div>",
      "errors": [
        "no doctype",
        "bad /div",
        "eof in template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "col": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "col"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><col></template></body></html>",
        "noQuirksBodyHtml": "<template><col></template>"
      }
    },
    {
      "data": "<body><template><col>Hello",
      "errors": [
        "no doctype",
        "unexpected text",
        "eof in template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "col": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "col"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><col></template></body></html>",
        "noQuirksBodyHtml": "<template><col></template>"
      }
    },
    {
      "data": "<body><template><i><menu>Foo</i>",
      "errors": [
        "no doctype",
        "mising /menu",
        "eof in template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "i": true,
            "menu": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "i"
                          },
                          {
                            "tag": "menu",
                            "children": [
                              {
                                "tag": "i",
                                "children": [
                                  {
                                    "text": "Foo"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><i></i><menu><i>Foo</i></menu></template></body></html>",
        "noQuirksBodyHtml": "<template><i></i><menu><i>Foo</i></menu></template>"
      }
    },
    {
      "data": "<body><template></div><div>Foo</div><template></template><tr></tr>",
      "errors": [
        "no doctype",
        "bogus /div",
        "bogus tr",
        "bogus /tr",
        "eof in template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true,
            "div": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "div",
                            "children": [
                              {
                                "text": "Foo"
                              }
                            ]
                          },
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template><div>Foo</div><template></template></template></body></html>",
        "noQuirksBodyHtml": "<template><div>Foo</div><template></template></template>"
      }
    },
    {
      "data": "<body><div><template></div><tr><td>Foo</td></tr></template>",
      "errors": [
        " * (1,7) missing DOCTYPE",
        " * (1,28) unexpected token in template",
        " * (1,60) unexpected end of file"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "template": true,
            "tr": true,
            "td": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "template",
                        "children": [
                          {
                            "content": true,
                            "children": [
                              {
                                "tag": "tr",
                                "children": [
                                  {
                                    "tag": "td",
                                    "children": [
                                      {
                                        "text": "Foo"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div><template><tr><td>Foo</td></tr></template></div></body></html>",
        "noQuirksBodyHtml": "<div><template><tr><td>Foo</td></tr></template></div>"
      }
    },
    {
      "data": "<template></figcaption><sub><table></table>",
      "errors": [
        "no doctype",
        "bad /figcaption",
        "eof in template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "sub": true,
            "table": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "sub",
                            "children": [
                              {
                                "tag": "table"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template><sub><table></table></sub></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template><sub><table></table></sub></template>"
      }
    },
    {
      "data": "<template><template>",
      "errors": [
        "no doctype",
        "eof in template",
        "eof in template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template><template></template></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template><template></template></template>"
      }
    },
    {
      "data": "<template><div>",
      "errors": [
        "no doctype",
        "eof in template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "div": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "div"
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template><div></div></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template><div></div></template>"
      }
    },
    {
      "data": "<template><template><div>",
      "errors": [
        "no doctype",
        "eof in template",
        "eof in template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "div": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true,
                                "children": [
                                  {
                                    "tag": "div"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template><template><div></div></template></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template><template><div></div></template></template>"
      }
    },
    {
      "data": "<template><template><table>",
      "errors": [
        "no doctype",
        "eof in template",
        "eof in template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "table": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true,
                                "children": [
                                  {
                                    "tag": "table"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template><template><table></table></template></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template><template><table></table></template></template>"
      }
    },
    {
      "data": "<template><template><tbody>",
      "errors": [
        "no doctype",
        "eof in template",
        "eof in template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "tbody": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true,
                                "children": [
                                  {
                                    "tag": "tbody"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template><template><tbody></tbody></template></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template><template><tbody></tbody></template></template>"
      }
    },
    {
      "data": "<template><template><tr>",
      "errors": [
        "no doctype",
        "eof in template",
        "eof in template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "tr": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true,
                                "children": [
                                  {
                                    "tag": "tr"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template><template><tr></tr></template></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template><template><tr></tr></template></template>"
      }
    },
    {
      "data": "<template><template><td>",
      "errors": [
        "no doctype",
        "eof in template",
        "eof in template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "td": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true,
                                "children": [
                                  {
                                    "tag": "td"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template><template><td></td></template></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template><template><td></td></template></template>"
      }
    },
    {
      "data": "<template><template><caption>",
      "errors": [
        "no doctype",
        "eof in template",
        "eof in template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "caption": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true,
                                "children": [
                                  {
                                    "tag": "caption"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template><template><caption></caption></template></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template><template><caption></caption></template></template>"
      }
    },
    {
      "data": "<template><template><colgroup>",
      "errors": [
        "no doctype",
        "eof in template",
        "eof in template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "colgroup": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true,
                                "children": [
                                  {
                                    "tag": "colgroup"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template><template><colgroup></colgroup></template></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template><template><colgroup></colgroup></template></template>"
      }
    },
    {
      "data": "<template><template><col>",
      "errors": [
        "no doctype",
        "eof in template",
        "eof in template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "col": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true,
                                "children": [
                                  {
                                    "tag": "col"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template><template><col></template></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template><template><col></template></template>"
      }
    },
    {
      "data": "<template><template><tbody><select>",
      "errors": [
        " * (1,11) missing DOCTYPE",
        " * (1,36) unexpected token in table - foster parenting",
        " * (1,36) unexpected end of file in template",
        " * (1,36) unexpected end of file in template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "tbody": true,
            "select": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true,
                                "children": [
                                  {
                                    "tag": "tbody"
                                  },
                                  {
                                    "tag": "select"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template><template><tbody></tbody><select></select></template></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template><template><tbody></tbody><select></select></template></template>"
      }
    },
    {
      "data": "<template><template><table>Foo",
      "errors": [
        "no doctype",
        "foster-parenting text F",
        "foster-parenting text o",
        "foster-parenting text o",
        "eof",
        "eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "table": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true,
                                "children": [
                                  {
                                    "text": "Foo"
                                  },
                                  {
                                    "tag": "table"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template><template>Foo<table></table></template></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template><template>Foo<table></table></template></template>"
      }
    },
    {
      "data": "<template><template><frame>",
      "errors": [
        "no doctype",
        "bad tag",
        "eof",
        "eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template><template></template></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template><template></template></template>"
      }
    },
    {
      "data": "<template><template><script>var i",
      "errors": [
        "no doctype",
        "eof in script",
        "eof in template",
        "eof in template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "script": true,
            "body": true
          },
          "template": true,
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true,
                                "children": [
                                  {
                                    "tag": "script",
                                    "children": [
                                      {
                                        "text": "var i",
                                        "no_escape": true
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template><template><script>var i</script></template></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template><template><script>var i</script></template></template>"
      }
    },
    {
      "data": "<template><template><style>var i",
      "errors": [
        "no doctype",
        "eof in style",
        "eof in template",
        "eof in template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "style": true,
            "body": true
          },
          "template": true,
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true,
                                "children": [
                                  {
                                    "tag": "style",
                                    "children": [
                                      {
                                        "text": "var i",
                                        "no_escape": true
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template><template><style>var i</style></template></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template><template><style>var i</style></template></template>"
      }
    },
    {
      "data": "<template><table></template><body><span>Foo",
      "errors": [
        "no doctype",
        "missing /table",
        "bad eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "table": true,
            "body": true,
            "span": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "table"
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "span",
                    "children": [
                      {
                        "text": "Foo"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><template><table></table></template></head><body><span>Foo</span></body></html>",
        "noQuirksBodyHtml": "<template><table></table></template><span>Foo</span>"
      }
    },
    {
      "data": "<template><td></template><body><span>Foo",
      "errors": [
        "no doctype",
        "bad eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "td": true,
            "body": true,
            "span": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "td"
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "span",
                    "children": [
                      {
                        "text": "Foo"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><template><td></td></template></head><body><span>Foo</span></body></html>",
        "noQuirksBodyHtml": "<template><td></td></template><span>Foo</span>"
      }
    },
    {
      "data": "<template><object></template><body><span>Foo",
      "errors": [
        "no doctype",
        "missing /object",
        "bad eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "object": true,
            "body": true,
            "span": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "object"
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "span",
                    "children": [
                      {
                        "text": "Foo"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><template><object></object></template></head><body><span>Foo</span></body></html>",
        "noQuirksBodyHtml": "<template><object></object></template><span>Foo</span>"
      }
    },
    {
      "data": "<template><svg><template>",
      "errors": [
        "no doctype",
        "eof in template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "svg svg": true,
            "svg template": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "svg",
                            "ns": "http://www.w3.org/2000/svg",
                            "children": [
                              {
                                "tag": "template",
                                "ns": "http://www.w3.org/2000/svg"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template><svg><template></template></svg></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template><svg><template></template></svg></template>"
      }
    },
    {
      "data": "<template><svg><foo><template><foreignObject><div></template><div>",
      "errors": [
        "no doctype",
        "ugly template closure",
        "bad eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "svg svg": true,
            "svg foo": true,
            "svg template": true,
            "svg foreignObject": true,
            "div": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "svg",
                            "ns": "http://www.w3.org/2000/svg",
                            "children": [
                              {
                                "tag": "foo",
                                "ns": "http://www.w3.org/2000/svg",
                                "children": [
                                  {
                                    "tag": "template",
                                    "ns": "http://www.w3.org/2000/svg",
                                    "children": [
                                      {
                                        "tag": "foreignObject",
                                        "ns": "http://www.w3.org/2000/svg",
                                        "children": [
                                          {
                                            "tag": "div"
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><template><svg><foo><template><foreignObject><div></div></foreignObject></template></foo></svg></template></head><body><div></div></body></html>",
        "noQuirksBodyHtml": "<template><svg><foo><template><foreignObject><div></div></foreignObject></template></foo></svg></template><div></div>"
      }
    },
    {
      "data": "<dummy><template><span></dummy>",
      "errors": [
        "no doctype",
        "bad end tag </dummy>",
        "eof in template",
        "eof in dummy"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "dummy": true,
            "template": true,
            "span": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "dummy",
                    "children": [
                      {
                        "tag": "template",
                        "children": [
                          {
                            "content": true,
                            "children": [
                              {
                                "tag": "span"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><dummy><template><span></span></template></dummy></body></html>",
        "noQuirksBodyHtml": "<dummy><template><span></span></template></dummy>"
      }
    },
    {
      "data": "<body><table><tr><td><select><template>Foo</template><caption>A</table>",
      "errors": [
        "no doctype",
        "(1,62): unexpected-caption-in-select-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "select": true,
            "template": true,
            "caption": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "select",
                                    "children": [
                                      {
                                        "tag": "template",
                                        "children": [
                                          {
                                            "content": true,
                                            "children": [
                                              {
                                                "text": "Foo"
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "caption",
                        "children": [
                          {
                            "text": "A"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><tr><td><select><template>Foo</template></select></td></tr></tbody><caption>A</caption></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td><select><template>Foo</template></select></td></tr></tbody><caption>A</caption></table>"
      }
    },
    {
      "data": "<body></body><template>",
      "errors": [
        "no doctype",
        "(1,23): template-after-body",
        "(1,24): eof-in-template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "template": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><template></template></body></html>",
        "noQuirksBodyHtml": "<template></template>"
      }
    },
    {
      "data": "<head></head><template>",
      "errors": [
        "no doctype",
        "(1,23): template-after-head",
        "(1,24): eof-in-template"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template></template>"
      }
    },
    {
      "data": "<head></head><template>Foo</template>",
      "errors": [
        "no doctype",
        "(1,23): template-after-head"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "text": "Foo"
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template>Foo</template></head><body></body></html>",
        "noQuirksBodyHtml": "<template>Foo</template>"
      }
    },
    {
      "data": "<!DOCTYPE HTML><dummy><table><template><table><template><table><script>",
      "errors": [
        "eof script",
        "eof template",
        "eof template",
        "eof table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "dummy": true,
            "table": true,
            "template": true,
            "script": true
          },
          "doctype": true,
          "template": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "dummy",
                    "children": [
                      {
                        "tag": "table",
                        "children": [
                          {
                            "tag": "template",
                            "children": [
                              {
                                "content": true,
                                "children": [
                                  {
                                    "tag": "table",
                                    "children": [
                                      {
                                        "tag": "template",
                                        "children": [
                                          {
                                            "content": true,
                                            "children": [
                                              {
                                                "tag": "table",
                                                "children": [
                                                  {
                                                    "tag": "script"
                                                  }
                                                ]
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><dummy><table><template><table><template><table><script></script></table></template></table></template></table></dummy></body></html>",
        "noQuirksBodyHtml": "<dummy><table><template><table><template><table><script></script></table></template></table></template></table></dummy>"
      }
    },
    {
      "data": "<template><a><table><a>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "template": true,
            "a": true,
            "table": true,
            "body": true
          },
          "template": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "template",
                    "children": [
                      {
                        "content": true,
                        "children": [
                          {
                            "tag": "a",
                            "children": [
                              {
                                "tag": "a"
                              },
                              {
                                "tag": "table"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><template><a><a></a><table></table></a></template></head><body></body></html>",
        "noQuirksBodyHtml": "<template><a><a></a><table></table></a></template>"
      }
    }
  ],
  "tests1.dat": [
    {
      "data": "Test",
      "errors": [
        "(1,0): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Test"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>Test</body></html>",
        "noQuirksBodyHtml": "Test"
      }
    },
    {
      "data": "<p>One<p>Two",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "One"
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "Two"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><p>One</p><p>Two</p></body></html>",
        "noQuirksBodyHtml": "<p>One</p><p>Two</p>"
      }
    },
    {
      "data": "Line1<br>Line2<br>Line3<br>Line4",
      "errors": [
        "(1,0): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "br": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Line1"
                  },
                  {
                    "tag": "br"
                  },
                  {
                    "text": "Line2"
                  },
                  {
                    "tag": "br"
                  },
                  {
                    "text": "Line3"
                  },
                  {
                    "tag": "br"
                  },
                  {
                    "text": "Line4"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>Line1<br>Line2<br>Line3<br>Line4</body></html>",
        "noQuirksBodyHtml": "Line1<br>Line2<br>Line3<br>Line4"
      }
    },
    {
      "data": "<html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<head>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<body>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<html><head>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<html><head></head>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<html><head></head><body>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<html><head></head><body></body>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<html><head><body></body></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<html><head></body></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<html><head><body></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<html><body></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<body></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<head></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "</head>",
      "errors": [
        "(1,7): expected-doctype-but-got-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "</body>",
      "errors": [
        "(1,7): expected-doctype-but-got-end-tag element."
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "</html>",
      "errors": [
        "(1,7): expected-doctype-but-got-end-tag element."
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<b><table><td><i></table>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,14): unexpected-cell-in-table-body",
        "(1,25): unexpected-cell-end-tag",
        "(1,25): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "i": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "table",
                        "children": [
                          {
                            "tag": "tbody",
                            "children": [
                              {
                                "tag": "tr",
                                "children": [
                                  {
                                    "tag": "td",
                                    "children": [
                                      {
                                        "tag": "i"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><b><table><tbody><tr><td><i></i></td></tr></tbody></table></b></body></html>",
        "noQuirksBodyHtml": "<b><table><tbody><tr><td><i></i></td></tr></tbody></table></b>"
      }
    },
    {
      "data": "<b><table><td></b><i></table>X",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,14): unexpected-cell-in-table-body",
        "(1,18): unexpected-end-tag",
        "(1,29): unexpected-cell-end-tag",
        "(1,30): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "i": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "table",
                        "children": [
                          {
                            "tag": "tbody",
                            "children": [
                              {
                                "tag": "tr",
                                "children": [
                                  {
                                    "tag": "td",
                                    "children": [
                                      {
                                        "tag": "i"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "text": "X"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><b><table><tbody><tr><td><i></i></td></tr></tbody></table>X</b></body></html>",
        "noQuirksBodyHtml": "<b><table><tbody><tr><td><i></i></td></tr></tbody></table>X</b>"
      }
    },
    {
      "data": "<h1>Hello<h2>World",
      "errors": [
        "(1,4): expected-doctype-but-got-start-tag",
        "(1,13): unexpected-start-tag",
        "(1,18): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "h1": true,
            "h2": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "h1",
                    "children": [
                      {
                        "text": "Hello"
                      }
                    ]
                  },
                  {
                    "tag": "h2",
                    "children": [
                      {
                        "text": "World"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><h1>Hello</h1><h2>World</h2></body></html>",
        "noQuirksBodyHtml": "<h1>Hello</h1><h2>World</h2>"
      }
    },
    {
      "data": "<a><p>X<a>Y</a>Z</p></a>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,10): unexpected-start-tag-implies-end-tag",
        "(1,10): adoption-agency-1.3",
        "(1,24): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a"
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "a",
                        "children": [
                          {
                            "text": "X"
                          }
                        ]
                      },
                      {
                        "tag": "a",
                        "children": [
                          {
                            "text": "Y"
                          }
                        ]
                      },
                      {
                        "text": "Z"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a></a><p><a>X</a><a>Y</a>Z</p></body></html>",
        "noQuirksBodyHtml": "<a></a><p><a>X</a><a>Y</a>Z</p>"
      }
    },
    {
      "data": "<b><button>foo</b>bar",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,18): adoption-agency-1.3",
        "(1,21): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "button": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b"
                  },
                  {
                    "tag": "button",
                    "children": [
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": "foo"
                          }
                        ]
                      },
                      {
                        "text": "bar"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><b></b><button><b>foo</b>bar</button></body></html>",
        "noQuirksBodyHtml": "<b></b><button><b>foo</b>bar</button>"
      }
    },
    {
      "data": "<!DOCTYPE html><span><button>foo</span>bar",
      "errors": [
        "(1,39): unexpected-end-tag",
        "(1,42): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "span": true,
            "button": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "span",
                    "children": [
                      {
                        "tag": "button",
                        "children": [
                          {
                            "text": "foobar"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><span><button>foobar</button></span></body></html>",
        "noQuirksBodyHtml": "<span><button>foobar</button></span>"
      }
    },
    {
      "data": "<p><b><div><marquee></p></b></div>X",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,11): unexpected-end-tag",
        "(1,24): unexpected-end-tag",
        "(1,28): unexpected-end-tag",
        "(1,34): end-tag-too-early",
        "(1,35): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "b": true,
            "div": true,
            "marquee": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "b"
                      }
                    ]
                  },
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "b",
                        "children": [
                          {
                            "tag": "marquee",
                            "children": [
                              {
                                "tag": "p"
                              },
                              {
                                "text": "X"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><p><b></b></p><div><b><marquee><p></p>X</marquee></b></div></body></html>",
        "noQuirksBodyHtml": "<p><b></b></p><div><b><marquee><p></p>X</marquee></b></div>"
      }
    },
    {
      "data": "<script><div></script></div><title><p></title><p><p>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,28): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "title": true,
            "body": true,
            "p": true
          },
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<div>",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "<p>",
                        "escaped": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p"
                  },
                  {
                    "tag": "p"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><script><div></script><title>&lt;p&gt;</title></head><body><p></p><p></p></body></html>",
        "noQuirksBodyHtml": "<script><div></script><title>&lt;p&gt;</title><p></p><p></p>"
      }
    },
    {
      "data": "<!--><div>--<!-->",
      "errors": [
        "(1,5): incorrect-comment",
        "(1,10): expected-doctype-but-got-start-tag",
        "(1,17): incorrect-comment",
        "(1,17): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          },
          "comment": true
        },
        "tree": [
          {
            "comment": ""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": "--"
                      },
                      {
                        "comment": ""
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!----><html><head></head><body><div>--<!----></div></body></html>",
        "noQuirksBodyHtml": "<!----><div>--<!----></div>"
      }
    },
    {
      "data": "<p><hr></p>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,11): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "hr": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p"
                  },
                  {
                    "tag": "hr"
                  },
                  {
                    "tag": "p"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><p></p><hr><p></p></body></html>",
        "noQuirksBodyHtml": "<p></p><hr><p></p>"
      }
    },
    {
      "data": "<select><b><option><select><option></b></select>X",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,11): unexpected-start-tag-in-select",
        "(1,27): unexpected-select-in-select",
        "(1,39): unexpected-end-tag",
        "(1,48): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "option": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "tag": "option"
                      }
                    ]
                  },
                  {
                    "tag": "option",
                    "children": [
                      {
                        "text": "X"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><select><option></option></select><option>X</option></body></html>",
        "noQuirksBodyHtml": "<select><option></option></select><option>X</option>"
      }
    },
    {
      "data": "<a><table><td><a><table></table><a></tr><a></table><b>X</b>C<a>Y",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,14): unexpected-cell-in-table-body",
        "(1,35): unexpected-start-tag-implies-end-tag",
        "(1,40): unexpected-cell-end-tag",
        "(1,43): unexpected-start-tag-implies-table-voodoo",
        "(1,43): unexpected-start-tag-implies-end-tag",
        "(1,43): unexpected-end-tag",
        "(1,63): unexpected-start-tag-implies-end-tag",
        "(1,64): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "b": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "children": [
                      {
                        "tag": "a"
                      },
                      {
                        "tag": "table",
                        "children": [
                          {
                            "tag": "tbody",
                            "children": [
                              {
                                "tag": "tr",
                                "children": [
                                  {
                                    "tag": "td",
                                    "children": [
                                      {
                                        "tag": "a",
                                        "children": [
                                          {
                                            "tag": "table"
                                          }
                                        ]
                                      },
                                      {
                                        "tag": "a"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "a",
                    "children": [
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": "X"
                          }
                        ]
                      },
                      {
                        "text": "C"
                      }
                    ]
                  },
                  {
                    "tag": "a",
                    "children": [
                      {
                        "text": "Y"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a><a></a><table><tbody><tr><td><a><table></table></a><a></a></td></tr></tbody></table></a><a><b>X</b>C</a><a>Y</a></body></html>",
        "noQuirksBodyHtml": "<a><a></a><table><tbody><tr><td><a><table></table></a><a></a></td></tr></tbody></table></a><a><b>X</b>C</a><a>Y</a>"
      }
    },
    {
      "data": "<a X>0<b>1<a Y>2",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,15): unexpected-start-tag-implies-end-tag",
        "(1,15): adoption-agency-1.3",
        "(1,16): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "b": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "attrs": [
                      {
                        "name": "x",
                        "value": ""
                      }
                    ],
                    "children": [
                      {
                        "text": "0"
                      },
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": "1"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "a",
                        "attrs": [
                          {
                            "name": "y",
                            "value": ""
                          }
                        ],
                        "children": [
                          {
                            "text": "2"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a x=\"\">0<b>1</b></a><b><a y=\"\">2</a></b></body></html>",
        "noQuirksBodyHtml": "<a x=\"\">0<b>1</b></a><b><a y=\"\">2</a></b>"
      }
    },
    {
      "data": "<!-----><font><div>hello<table>excite!<b>me!<th><i>please!</tr><!--X-->",
      "errors": [
        "(1,7): unexpected-dash-after-double-dash-in-comment",
        "(1,14): expected-doctype-but-got-start-tag",
        "(1,41): unexpected-start-tag-implies-table-voodoo",
        "(1,48): foster-parenting-character-in-table",
        "(1,48): foster-parenting-character-in-table",
        "(1,48): foster-parenting-character-in-table",
        "(1,48): foster-parenting-character-in-table",
        "(1,48): foster-parenting-character-in-table",
        "(1,48): foster-parenting-character-in-table",
        "(1,48): foster-parenting-character-in-table",
        "(1,48): foster-parenting-character-in-table",
        "(1,48): foster-parenting-character-in-table",
        "(1,48): foster-parenting-character-in-table",
        "(1,48): unexpected-cell-in-table-body",
        "(1,63): unexpected-cell-end-tag",
        "(1,71): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "font": true,
            "div": true,
            "b": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "th": true,
            "i": true
          },
          "comment": true
        },
        "tree": [
          {
            "comment": "-"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "font",
                    "children": [
                      {
                        "tag": "div",
                        "children": [
                          {
                            "text": "helloexcite!"
                          },
                          {
                            "tag": "b",
                            "children": [
                              {
                                "text": "me!"
                              }
                            ]
                          },
                          {
                            "tag": "table",
                            "children": [
                              {
                                "tag": "tbody",
                                "children": [
                                  {
                                    "tag": "tr",
                                    "children": [
                                      {
                                        "tag": "th",
                                        "children": [
                                          {
                                            "tag": "i",
                                            "children": [
                                              {
                                                "text": "please!"
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  },
                                  {
                                    "comment": "X"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!-----><html><head></head><body><font><div>helloexcite!<b>me!</b><table><tbody><tr><th><i>please!</i></th></tr><!--X--></tbody></table></div></font></body></html>",
        "noQuirksBodyHtml": "<!-----><font><div>helloexcite!<b>me!</b><table><tbody><tr><th><i>please!</i></th></tr><!--X--></tbody></table></div></font>"
      }
    },
    {
      "data": "<!DOCTYPE html><li>hello<li>world<ul>how<li>do</ul>you</body><!--do-->",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "li": true,
            "ul": true
          },
          "doctype": true,
          "comment": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "li",
                    "children": [
                      {
                        "text": "hello"
                      }
                    ]
                  },
                  {
                    "tag": "li",
                    "children": [
                      {
                        "text": "world"
                      },
                      {
                        "tag": "ul",
                        "children": [
                          {
                            "text": "how"
                          },
                          {
                            "tag": "li",
                            "children": [
                              {
                                "text": "do"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "text": "you"
                      }
                    ]
                  }
                ]
              },
              {
                "comment": "do"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><li>hello</li><li>world<ul>how<li>do</li></ul>you</li></body><!--do--></html>",
        "noQuirksBodyHtml": "<li>hello</li><li>world<ul>how<li>do</li></ul>you<!--do--></li>"
      }
    },
    {
      "data": "<!DOCTYPE html>A<option>B<optgroup>C<select>D</option>E",
      "errors": [
        "(1,54): unexpected-end-tag-in-select",
        "(1,55): eof-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "option": true,
            "optgroup": true,
            "select": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "A"
                  },
                  {
                    "tag": "option",
                    "children": [
                      {
                        "text": "B"
                      }
                    ]
                  },
                  {
                    "tag": "optgroup",
                    "children": [
                      {
                        "text": "C"
                      },
                      {
                        "tag": "select",
                        "children": [
                          {
                            "text": "DE"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>A<option>B</option><optgroup>C<select>DE</select></optgroup></body></html>",
        "noQuirksBodyHtml": "A<option>B</option><optgroup>C<select>DE</select></optgroup>"
      }
    },
    {
      "data": "<",
      "errors": [
        "(1,1): expected-tag-name",
        "(1,1): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "<",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>&lt;</body></html>",
        "noQuirksBodyHtml": "&lt;"
      }
    },
    {
      "data": "<#",
      "errors": [
        "(1,1): expected-tag-name",
        "(1,1): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "<#",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>&lt;#</body></html>",
        "noQuirksBodyHtml": "&lt;#"
      }
    },
    {
      "data": "</",
      "errors": [
        "(1,2): expected-closing-tag-but-got-eof",
        "(1,2): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "</",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>&lt;/</body></html>",
        "noQuirksBodyHtml": "&lt;/"
      }
    },
    {
      "data": "</#",
      "errors": [
        "(1,2): expected-closing-tag-but-got-char",
        "(1,3): expected-doctype-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "comment": "#"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!--#--><html><head></head><body></body></html>",
        "noQuirksBodyHtml": "<!--#-->"
      }
    },
    {
      "data": "<?",
      "errors": [
        "(1,1): expected-tag-name-but-got-question-mark",
        "(1,2): expected-doctype-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "comment": "?"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!--?--><html><head></head><body></body></html>",
        "noQuirksBodyHtml": "<!--?-->"
      }
    },
    {
      "data": "<?#",
      "errors": [
        "(1,1): expected-tag-name-but-got-question-mark",
        "(1,3): expected-doctype-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "comment": "?#"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!--?#--><html><head></head><body></body></html>",
        "noQuirksBodyHtml": "<!--?#-->"
      }
    },
    {
      "data": "<!",
      "errors": [
        "(1,2): expected-dashes-or-doctype",
        "(1,2): expected-doctype-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "comment": ""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!----><html><head></head><body></body></html>",
        "noQuirksBodyHtml": "<!---->"
      }
    },
    {
      "data": "<!#",
      "errors": [
        "(1,2): expected-dashes-or-doctype",
        "(1,3): expected-doctype-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "comment": "#"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!--#--><html><head></head><body></body></html>",
        "noQuirksBodyHtml": "<!--#-->"
      }
    },
    {
      "data": "<?COMMENT?>",
      "errors": [
        "(1,1): expected-tag-name-but-got-question-mark",
        "(1,11): expected-doctype-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "comment": "?COMMENT?"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!--?COMMENT?--><html><head></head><body></body></html>",
        "noQuirksBodyHtml": "<!--?COMMENT?-->"
      }
    },
    {
      "data": "<!COMMENT>",
      "errors": [
        "(1,2): expected-dashes-or-doctype",
        "(1,10): expected-doctype-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "comment": "COMMENT"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!--COMMENT--><html><head></head><body></body></html>",
        "noQuirksBodyHtml": "<!--COMMENT-->"
      }
    },
    {
      "data": "</ COMMENT >",
      "errors": [
        "(1,2): expected-closing-tag-but-got-char",
        "(1,12): expected-doctype-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "comment": " COMMENT "
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!-- COMMENT --><html><head></head><body></body></html>",
        "noQuirksBodyHtml": "<!-- COMMENT -->"
      }
    },
    {
      "data": "<?COM--MENT?>",
      "errors": [
        "(1,1): expected-tag-name-but-got-question-mark",
        "(1,13): expected-doctype-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "comment": "?COM--MENT?"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!--?COM--MENT?--><html><head></head><body></body></html>",
        "noQuirksBodyHtml": "<!--?COM--MENT?-->"
      }
    },
    {
      "data": "<!COM--MENT>",
      "errors": [
        "(1,2): expected-dashes-or-doctype",
        "(1,12): expected-doctype-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "comment": "COM--MENT"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!--COM--MENT--><html><head></head><body></body></html>",
        "noQuirksBodyHtml": "<!--COM--MENT-->"
      }
    },
    {
      "data": "</ COM--MENT >",
      "errors": [
        "(1,2): expected-closing-tag-but-got-char",
        "(1,14): expected-doctype-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "comment": " COM--MENT "
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!-- COM--MENT --><html><head></head><body></body></html>",
        "noQuirksBodyHtml": "<!-- COM--MENT -->"
      }
    },
    {
      "data": "<!DOCTYPE html><style> EOF",
      "errors": [
        "(1,26): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": " EOF",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><style> EOF</style></head><body></body></html>",
        "noQuirksBodyHtml": "<style> EOF</style>"
      }
    },
    {
      "data": "<!DOCTYPE html><script> <!-- </script> --> </script> EOF",
      "errors": [
        "(1,52): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": " <!-- ",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": " "
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "-->  EOF",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script> <!-- </script> </head><body>--&gt;  EOF</body></html>",
        "noQuirksBodyHtml": "<script> <!-- </script> --&gt;  EOF"
      }
    },
    {
      "data": "<b><p></b>TEST",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,10): adoption-agency-1.3"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b"
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "b"
                      },
                      {
                        "text": "TEST"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><b></b><p><b></b>TEST</p></body></html>",
        "noQuirksBodyHtml": "<b></b><p><b></b>TEST</p>"
      }
    },
    {
      "data": "<p id=a><b><p id=b></b>TEST",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,19): unexpected-end-tag",
        "(1,23): adoption-agency-1.2"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "b": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "attrs": [
                      {
                        "name": "id",
                        "value": "a"
                      }
                    ],
                    "children": [
                      {
                        "tag": "b"
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "attrs": [
                      {
                        "name": "id",
                        "value": "b"
                      }
                    ],
                    "children": [
                      {
                        "text": "TEST"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><p id=\"a\"><b></b></p><p id=\"b\">TEST</p></body></html>",
        "noQuirksBodyHtml": "<p id=\"a\"><b></b></p><p id=\"b\">TEST</p>"
      }
    },
    {
      "data": "<b id=a><p><b id=b></p></b>TEST",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,23): unexpected-end-tag",
        "(1,27): adoption-agency-1.2",
        "(1,31): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "attrs": [
                      {
                        "name": "id",
                        "value": "a"
                      }
                    ],
                    "children": [
                      {
                        "tag": "p",
                        "children": [
                          {
                            "tag": "b",
                            "attrs": [
                              {
                                "name": "id",
                                "value": "b"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "text": "TEST"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><b id=\"a\"><p><b id=\"b\"></b></p>TEST</b></body></html>",
        "noQuirksBodyHtml": "<b id=\"a\"><p><b id=\"b\"></b></p>TEST</b>"
      }
    },
    {
      "data": "<!DOCTYPE html><title>U-test</title><body><div><p>Test<u></p></div></body>",
      "errors": [
        "(1,61): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "title": true,
            "body": true,
            "div": true,
            "p": true,
            "u": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "U-test"
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "p",
                        "children": [
                          {
                            "text": "Test"
                          },
                          {
                            "tag": "u"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><title>U-test</title></head><body><div><p>Test<u></u></p></div></body></html>",
        "noQuirksBodyHtml": "<title>U-test</title><div><p>Test<u></u></p></div>"
      }
    },
    {
      "data": "<!DOCTYPE html><font><table></font></table></font>",
      "errors": [
        "(1,35): unexpected-end-tag-implies-table-voodoo",
        "(1,35): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "font": true,
            "table": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "font",
                    "children": [
                      {
                        "tag": "table"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><font><table></table></font></body></html>",
        "noQuirksBodyHtml": "<font><table></table></font>"
      }
    },
    {
      "data": "<font><p>hello<b>cruel</font>world",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,29): adoption-agency-1.3",
        "(1,29): adoption-agency-1.3",
        "(1,34): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "font": true,
            "p": true,
            "b": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "font"
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "font",
                        "children": [
                          {
                            "text": "hello"
                          },
                          {
                            "tag": "b",
                            "children": [
                              {
                                "text": "cruel"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": "world"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><font></font><p><font>hello<b>cruel</b></font><b>world</b></p></body></html>",
        "noQuirksBodyHtml": "<font></font><p><font>hello<b>cruel</b></font><b>world</b></p>"
      }
    },
    {
      "data": "<b>Test</i>Test",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,11): unexpected-end-tag",
        "(1,15): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "text": "TestTest"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><b>TestTest</b></body></html>",
        "noQuirksBodyHtml": "<b>TestTest</b>"
      }
    },
    {
      "data": "<b>A<cite>B<div>C",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,17): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "cite": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "text": "A"
                      },
                      {
                        "tag": "cite",
                        "children": [
                          {
                            "text": "B"
                          },
                          {
                            "tag": "div",
                            "children": [
                              {
                                "text": "C"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><b>A<cite>B<div>C</div></cite></b></body></html>",
        "noQuirksBodyHtml": "<b>A<cite>B<div>C</div></cite></b>"
      }
    },
    {
      "data": "<b>A<cite>B<div>C</cite>D",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,24): unexpected-end-tag",
        "(1,25): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "cite": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "text": "A"
                      },
                      {
                        "tag": "cite",
                        "children": [
                          {
                            "text": "B"
                          },
                          {
                            "tag": "div",
                            "children": [
                              {
                                "text": "CD"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><b>A<cite>B<div>CD</div></cite></b></body></html>",
        "noQuirksBodyHtml": "<b>A<cite>B<div>CD</div></cite></b>"
      }
    },
    {
      "data": "<b>A<cite>B<div>C</b>D",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,21): adoption-agency-1.3",
        "(1,22): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "cite": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "text": "A"
                      },
                      {
                        "tag": "cite",
                        "children": [
                          {
                            "text": "B"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": "C"
                          }
                        ]
                      },
                      {
                        "text": "D"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><b>A<cite>B</cite></b><div><b>C</b>D</div></body></html>",
        "noQuirksBodyHtml": "<b>A<cite>B</cite></b><div><b>C</b>D</div>"
      }
    },
    {
      "data": "",
      "errors": [
        "(1,0): expected-doctype-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<DIV>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,5): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div></div></body></html>",
        "noQuirksBodyHtml": "<div></div>"
      }
    },
    {
      "data": "<DIV> abc",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,9): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": " abc"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div> abc</div></body></html>",
        "noQuirksBodyHtml": "<div> abc</div>"
      }
    },
    {
      "data": "<DIV> abc <B>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,13): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "b": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": " abc "
                      },
                      {
                        "tag": "b"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div> abc <b></b></div></body></html>",
        "noQuirksBodyHtml": "<div> abc <b></b></div>"
      }
    },
    {
      "data": "<DIV> abc <B> def",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,17): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "b": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": " abc "
                      },
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": " def"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div> abc <b> def</b></div></body></html>",
        "noQuirksBodyHtml": "<div> abc <b> def</b></div>"
      }
    },
    {
      "data": "<DIV> abc <B> def <I>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,21): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "b": true,
            "i": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": " abc "
                      },
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": " def "
                          },
                          {
                            "tag": "i"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div> abc <b> def <i></i></b></div></body></html>",
        "noQuirksBodyHtml": "<div> abc <b> def <i></i></b></div>"
      }
    },
    {
      "data": "<DIV> abc <B> def <I> ghi",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,25): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "b": true,
            "i": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": " abc "
                      },
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": " def "
                          },
                          {
                            "tag": "i",
                            "children": [
                              {
                                "text": " ghi"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div> abc <b> def <i> ghi</i></b></div></body></html>",
        "noQuirksBodyHtml": "<div> abc <b> def <i> ghi</i></b></div>"
      }
    },
    {
      "data": "<DIV> abc <B> def <I> ghi <P>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,29): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "b": true,
            "i": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": " abc "
                      },
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": " def "
                          },
                          {
                            "tag": "i",
                            "children": [
                              {
                                "text": " ghi "
                              },
                              {
                                "tag": "p"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div> abc <b> def <i> ghi <p></p></i></b></div></body></html>",
        "noQuirksBodyHtml": "<div> abc <b> def <i> ghi <p></p></i></b></div>"
      }
    },
    {
      "data": "<DIV> abc <B> def <I> ghi <P> jkl",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,33): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "b": true,
            "i": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": " abc "
                      },
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": " def "
                          },
                          {
                            "tag": "i",
                            "children": [
                              {
                                "text": " ghi "
                              },
                              {
                                "tag": "p",
                                "children": [
                                  {
                                    "text": " jkl"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div> abc <b> def <i> ghi <p> jkl</p></i></b></div></body></html>",
        "noQuirksBodyHtml": "<div> abc <b> def <i> ghi <p> jkl</p></i></b></div>"
      }
    },
    {
      "data": "<DIV> abc <B> def <I> ghi <P> jkl </B>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,38): adoption-agency-1.3",
        "(1,38): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "b": true,
            "i": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": " abc "
                      },
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": " def "
                          },
                          {
                            "tag": "i",
                            "children": [
                              {
                                "text": " ghi "
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "i",
                        "children": [
                          {
                            "tag": "p",
                            "children": [
                              {
                                "tag": "b",
                                "children": [
                                  {
                                    "text": " jkl "
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div> abc <b> def <i> ghi </i></b><i><p><b> jkl </b></p></i></div></body></html>",
        "noQuirksBodyHtml": "<div> abc <b> def <i> ghi </i></b><i><p><b> jkl </b></p></i></div>"
      }
    },
    {
      "data": "<DIV> abc <B> def <I> ghi <P> jkl </B> mno",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,38): adoption-agency-1.3",
        "(1,42): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "b": true,
            "i": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": " abc "
                      },
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": " def "
                          },
                          {
                            "tag": "i",
                            "children": [
                              {
                                "text": " ghi "
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "i",
                        "children": [
                          {
                            "tag": "p",
                            "children": [
                              {
                                "tag": "b",
                                "children": [
                                  {
                                    "text": " jkl "
                                  }
                                ]
                              },
                              {
                                "text": " mno"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div> abc <b> def <i> ghi </i></b><i><p><b> jkl </b> mno</p></i></div></body></html>",
        "noQuirksBodyHtml": "<div> abc <b> def <i> ghi </i></b><i><p><b> jkl </b> mno</p></i></div>"
      }
    },
    {
      "data": "<DIV> abc <B> def <I> ghi <P> jkl </B> mno </I>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,38): adoption-agency-1.3",
        "(1,47): adoption-agency-1.3",
        "(1,47): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "b": true,
            "i": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": " abc "
                      },
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": " def "
                          },
                          {
                            "tag": "i",
                            "children": [
                              {
                                "text": " ghi "
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "i"
                      },
                      {
                        "tag": "p",
                        "children": [
                          {
                            "tag": "i",
                            "children": [
                              {
                                "tag": "b",
                                "children": [
                                  {
                                    "text": " jkl "
                                  }
                                ]
                              },
                              {
                                "text": " mno "
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div> abc <b> def <i> ghi </i></b><i></i><p><i><b> jkl </b> mno </i></p></div></body></html>",
        "noQuirksBodyHtml": "<div> abc <b> def <i> ghi </i></b><i></i><p><i><b> jkl </b> mno </i></p></div>"
      }
    },
    {
      "data": "<DIV> abc <B> def <I> ghi <P> jkl </B> mno </I> pqr",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,38): adoption-agency-1.3",
        "(1,47): adoption-agency-1.3",
        "(1,51): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "b": true,
            "i": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": " abc "
                      },
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": " def "
                          },
                          {
                            "tag": "i",
                            "children": [
                              {
                                "text": " ghi "
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "i"
                      },
                      {
                        "tag": "p",
                        "children": [
                          {
                            "tag": "i",
                            "children": [
                              {
                                "tag": "b",
                                "children": [
                                  {
                                    "text": " jkl "
                                  }
                                ]
                              },
                              {
                                "text": " mno "
                              }
                            ]
                          },
                          {
                            "text": " pqr"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div> abc <b> def <i> ghi </i></b><i></i><p><i><b> jkl </b> mno </i> pqr</p></div></body></html>",
        "noQuirksBodyHtml": "<div> abc <b> def <i> ghi </i></b><i></i><p><i><b> jkl </b> mno </i> pqr</p></div>"
      }
    },
    {
      "data": "<DIV> abc <B> def <I> ghi <P> jkl </B> mno </I> pqr </P>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,38): adoption-agency-1.3",
        "(1,47): adoption-agency-1.3",
        "(1,56): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "b": true,
            "i": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": " abc "
                      },
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": " def "
                          },
                          {
                            "tag": "i",
                            "children": [
                              {
                                "text": " ghi "
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "i"
                      },
                      {
                        "tag": "p",
                        "children": [
                          {
                            "tag": "i",
                            "children": [
                              {
                                "tag": "b",
                                "children": [
                                  {
                                    "text": " jkl "
                                  }
                                ]
                              },
                              {
                                "text": " mno "
                              }
                            ]
                          },
                          {
                            "text": " pqr "
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div> abc <b> def <i> ghi </i></b><i></i><p><i><b> jkl </b> mno </i> pqr </p></div></body></html>",
        "noQuirksBodyHtml": "<div> abc <b> def <i> ghi </i></b><i></i><p><i><b> jkl </b> mno </i> pqr </p></div>"
      }
    },
    {
      "data": "<DIV> abc <B> def <I> ghi <P> jkl </B> mno </I> pqr </P> stu",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,38): adoption-agency-1.3",
        "(1,47): adoption-agency-1.3",
        "(1,60): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "b": true,
            "i": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": " abc "
                      },
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": " def "
                          },
                          {
                            "tag": "i",
                            "children": [
                              {
                                "text": " ghi "
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "i"
                      },
                      {
                        "tag": "p",
                        "children": [
                          {
                            "tag": "i",
                            "children": [
                              {
                                "tag": "b",
                                "children": [
                                  {
                                    "text": " jkl "
                                  }
                                ]
                              },
                              {
                                "text": " mno "
                              }
                            ]
                          },
                          {
                            "text": " pqr "
                          }
                        ]
                      },
                      {
                        "text": " stu"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div> abc <b> def <i> ghi </i></b><i></i><p><i><b> jkl </b> mno </i> pqr </p> stu</div></body></html>",
        "noQuirksBodyHtml": "<div> abc <b> def <i> ghi </i></b><i></i><p><i><b> jkl </b> mno </i> pqr </p> stu</div>"
      }
    },
    {
      "data": "<test attribute---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->",
      "errors": [
        "(1,1040): expected-doctype-but-got-start-tag",
        "(1,1040): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "test": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "test",
                    "attrs": [
                      {
                        "name": "attribute----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------",
                        "value": ""
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><test attribute----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------=\"\"></test></body></html>",
        "noQuirksBodyHtml": "<test attribute----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------=\"\"></test>"
      }
    },
    {
      "data": "<a href=\"blah\">aba<table><a href=\"foo\">br<tr><td></td></tr>x</table>aoe",
      "errors": [
        "(1,15): expected-doctype-but-got-start-tag",
        "(1,39): unexpected-start-tag-implies-table-voodoo",
        "(1,39): unexpected-start-tag-implies-end-tag",
        "(1,39): unexpected-end-tag",
        "(1,45): foster-parenting-character-in-table",
        "(1,45): foster-parenting-character-in-table",
        "(1,68): foster-parenting-character-in-table",
        "(1,71): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "attrs": [
                      {
                        "name": "href",
                        "value": "blah"
                      }
                    ],
                    "children": [
                      {
                        "text": "aba"
                      },
                      {
                        "tag": "a",
                        "attrs": [
                          {
                            "name": "href",
                            "value": "foo"
                          }
                        ],
                        "children": [
                          {
                            "text": "br"
                          }
                        ]
                      },
                      {
                        "tag": "a",
                        "attrs": [
                          {
                            "name": "href",
                            "value": "foo"
                          }
                        ],
                        "children": [
                          {
                            "text": "x"
                          }
                        ]
                      },
                      {
                        "tag": "table",
                        "children": [
                          {
                            "tag": "tbody",
                            "children": [
                              {
                                "tag": "tr",
                                "children": [
                                  {
                                    "tag": "td"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "a",
                    "attrs": [
                      {
                        "name": "href",
                        "value": "foo"
                      }
                    ],
                    "children": [
                      {
                        "text": "aoe"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a href=\"blah\">aba<a href=\"foo\">br</a><a href=\"foo\">x</a><table><tbody><tr><td></td></tr></tbody></table></a><a href=\"foo\">aoe</a></body></html>",
        "noQuirksBodyHtml": "<a href=\"blah\">aba<a href=\"foo\">br</a><a href=\"foo\">x</a><table><tbody><tr><td></td></tr></tbody></table></a><a href=\"foo\">aoe</a>"
      }
    },
    {
      "data": "<a href=\"blah\">aba<table><tr><td><a href=\"foo\">br</td></tr>x</table>aoe",
      "errors": [
        "(1,15): expected-doctype-but-got-start-tag",
        "(1,54): unexpected-cell-end-tag",
        "(1,68): unexpected text in table",
        "(1,71): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "attrs": [
                      {
                        "name": "href",
                        "value": "blah"
                      }
                    ],
                    "children": [
                      {
                        "text": "abax"
                      },
                      {
                        "tag": "table",
                        "children": [
                          {
                            "tag": "tbody",
                            "children": [
                              {
                                "tag": "tr",
                                "children": [
                                  {
                                    "tag": "td",
                                    "children": [
                                      {
                                        "tag": "a",
                                        "attrs": [
                                          {
                                            "name": "href",
                                            "value": "foo"
                                          }
                                        ],
                                        "children": [
                                          {
                                            "text": "br"
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "text": "aoe"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a href=\"blah\">abax<table><tbody><tr><td><a href=\"foo\">br</a></td></tr></tbody></table>aoe</a></body></html>",
        "noQuirksBodyHtml": "<a href=\"blah\">abax<table><tbody><tr><td><a href=\"foo\">br</a></td></tr></tbody></table>aoe</a>"
      }
    },
    {
      "data": "<table><a href=\"blah\">aba<tr><td><a href=\"foo\">br</td></tr>x</table>aoe",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,22): unexpected-start-tag-implies-table-voodoo",
        "(1,29): foster-parenting-character-in-table",
        "(1,29): foster-parenting-character-in-table",
        "(1,29): foster-parenting-character-in-table",
        "(1,54): unexpected-cell-end-tag",
        "(1,68): foster-parenting-character-in-table",
        "(1,71): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "attrs": [
                      {
                        "name": "href",
                        "value": "blah"
                      }
                    ],
                    "children": [
                      {
                        "text": "aba"
                      }
                    ]
                  },
                  {
                    "tag": "a",
                    "attrs": [
                      {
                        "name": "href",
                        "value": "blah"
                      }
                    ],
                    "children": [
                      {
                        "text": "x"
                      }
                    ]
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "a",
                                    "attrs": [
                                      {
                                        "name": "href",
                                        "value": "foo"
                                      }
                                    ],
                                    "children": [
                                      {
                                        "text": "br"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "a",
                    "attrs": [
                      {
                        "name": "href",
                        "value": "blah"
                      }
                    ],
                    "children": [
                      {
                        "text": "aoe"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a href=\"blah\">aba</a><a href=\"blah\">x</a><table><tbody><tr><td><a href=\"foo\">br</a></td></tr></tbody></table><a href=\"blah\">aoe</a></body></html>",
        "noQuirksBodyHtml": "<a href=\"blah\">aba</a><a href=\"blah\">x</a><table><tbody><tr><td><a href=\"foo\">br</a></td></tr></tbody></table><a href=\"blah\">aoe</a>"
      }
    },
    {
      "data": "<a href=a>aa<marquee>aa<a href=b>bb</marquee>aa",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag",
        "(1,45): end-tag-too-early",
        "(1,47): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "marquee": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "attrs": [
                      {
                        "name": "href",
                        "value": "a"
                      }
                    ],
                    "children": [
                      {
                        "text": "aa"
                      },
                      {
                        "tag": "marquee",
                        "children": [
                          {
                            "text": "aa"
                          },
                          {
                            "tag": "a",
                            "attrs": [
                              {
                                "name": "href",
                                "value": "b"
                              }
                            ],
                            "children": [
                              {
                                "text": "bb"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "text": "aa"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a href=\"a\">aa<marquee>aa<a href=\"b\">bb</a></marquee>aa</a></body></html>",
        "noQuirksBodyHtml": "<a href=\"a\">aa<marquee>aa<a href=\"b\">bb</a></marquee>aa</a>"
      }
    },
    {
      "data": "<wbr><strike><code></strike><code><strike></code>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,28): adoption-agency-1.3",
        "(1,49): adoption-agency-1.3",
        "(1,49): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "wbr": true,
            "strike": true,
            "code": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "wbr"
                  },
                  {
                    "tag": "strike",
                    "children": [
                      {
                        "tag": "code"
                      }
                    ]
                  },
                  {
                    "tag": "code",
                    "children": [
                      {
                        "tag": "code",
                        "children": [
                          {
                            "tag": "strike"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><wbr><strike><code></code></strike><code><code><strike></strike></code></code></body></html>",
        "noQuirksBodyHtml": "<wbr><strike><code></code></strike><code><code><strike></strike></code></code>"
      }
    },
    {
      "data": "<!DOCTYPE html><spacer>foo",
      "errors": [
        "(1,26): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "spacer": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "spacer",
                    "children": [
                      {
                        "text": "foo"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><spacer>foo</spacer></body></html>",
        "noQuirksBodyHtml": "<spacer>foo</spacer>"
      }
    },
    {
      "data": "<title><meta></title><link><title><meta></title>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "title": true,
            "link": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "<meta>",
                        "escaped": true
                      }
                    ]
                  },
                  {
                    "tag": "link"
                  },
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "<meta>",
                        "escaped": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><title>&lt;meta&gt;</title><link><title>&lt;meta&gt;</title></head><body></body></html>",
        "noQuirksBodyHtml": "<title>&lt;meta&gt;</title><link><title>&lt;meta&gt;</title>"
      }
    },
    {
      "data": "<style><!--</style><meta><script>--><link></script>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "meta": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": "<!--",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "tag": "meta"
                  },
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "--><link>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><style><!--</style><meta><script>--><link></script></head><body></body></html>",
        "noQuirksBodyHtml": "<style><!--</style><meta><script>--><link></script>"
      }
    },
    {
      "data": "<head><meta></head><link>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,25): unexpected-start-tag-out-of-my-head"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "meta": true,
            "link": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "meta"
                  },
                  {
                    "tag": "link"
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><meta><link></head><body></body></html>",
        "noQuirksBodyHtml": "<meta><link>"
      }
    },
    {
      "data": "<table><tr><tr><td><td><span><th><span>X</table>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,33): unexpected-cell-end-tag",
        "(1,48): unexpected-cell-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "span": true,
            "th": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr"
                          },
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td"
                              },
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "span"
                                  }
                                ]
                              },
                              {
                                "tag": "th",
                                "children": [
                                  {
                                    "tag": "span",
                                    "children": [
                                      {
                                        "text": "X"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><tr></tr><tr><td></td><td><span></span></td><th><span>X</span></th></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr></tr><tr><td></td><td><span></span></td><th><span>X</span></th></tr></tbody></table>"
      }
    },
    {
      "data": "<body><body><base><link><meta><title><p></title><body><p></body>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,12): unexpected-start-tag",
        "(1,54): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "base": true,
            "link": true,
            "meta": true,
            "title": true,
            "p": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "base"
                  },
                  {
                    "tag": "link"
                  },
                  {
                    "tag": "meta"
                  },
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "<p>",
                        "escaped": true
                      }
                    ]
                  },
                  {
                    "tag": "p"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><base><link><meta><title>&lt;p&gt;</title><p></p></body></html>",
        "noQuirksBodyHtml": "<base><link><meta><title>&lt;p&gt;</title><p></p>"
      }
    },
    {
      "data": "<textarea><p></textarea>",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "textarea": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "textarea",
                    "children": [
                      {
                        "text": "<p>",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><textarea>&lt;p&gt;</textarea></body></html>",
        "noQuirksBodyHtml": "<textarea>&lt;p&gt;</textarea>"
      }
    },
    {
      "data": "<p><image></p>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,10): unexpected-start-tag-treated-as"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "img": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "img"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><p><img></p></body></html>",
        "noQuirksBodyHtml": "<p><img></p>"
      }
    },
    {
      "data": "<a><table><a></table><p><a><div><a>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,13): unexpected-start-tag-implies-table-voodoo",
        "(1,13): unexpected-start-tag-implies-end-tag",
        "(1,13): adoption-agency-1.3",
        "(1,27): unexpected-start-tag-implies-end-tag",
        "(1,27): adoption-agency-1.2",
        "(1,32): unexpected-end-tag",
        "(1,35): unexpected-start-tag-implies-end-tag",
        "(1,35): adoption-agency-1.2",
        "(1,35): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "table": true,
            "p": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "children": [
                      {
                        "tag": "a"
                      },
                      {
                        "tag": "table"
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "a"
                      }
                    ]
                  },
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "a"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a><a></a><table></table></a><p><a></a></p><div><a></a></div></body></html>",
        "noQuirksBodyHtml": "<a><a></a><table></table></a><p><a></a></p><div><a></a></div>"
      }
    },
    {
      "data": "<head></p><meta><p>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,10): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "meta": true,
            "body": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "meta"
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><meta></head><body><p></p></body></html>",
        "noQuirksBodyHtml": "<p></p><meta><p></p>"
      }
    },
    {
      "data": "<head></html><meta><p>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,19): expected-eof-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "meta": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "meta"
                  },
                  {
                    "tag": "p"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><meta><p></p></body></html>",
        "noQuirksBodyHtml": "<meta><p></p>"
      }
    },
    {
      "data": "<b><table><td><i></table>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,14): unexpected-cell-in-table-body",
        "(1,25): unexpected-cell-end-tag",
        "(1,25): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "i": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "table",
                        "children": [
                          {
                            "tag": "tbody",
                            "children": [
                              {
                                "tag": "tr",
                                "children": [
                                  {
                                    "tag": "td",
                                    "children": [
                                      {
                                        "tag": "i"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><b><table><tbody><tr><td><i></i></td></tr></tbody></table></b></body></html>",
        "noQuirksBodyHtml": "<b><table><tbody><tr><td><i></i></td></tr></tbody></table></b>"
      }
    },
    {
      "data": "<b><table><td></b><i></table>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,14): unexpected-cell-in-table-body",
        "(1,18): unexpected-end-tag",
        "(1,29): unexpected-cell-end-tag",
        "(1,29): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "i": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "table",
                        "children": [
                          {
                            "tag": "tbody",
                            "children": [
                              {
                                "tag": "tr",
                                "children": [
                                  {
                                    "tag": "td",
                                    "children": [
                                      {
                                        "tag": "i"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><b><table><tbody><tr><td><i></i></td></tr></tbody></table></b></body></html>",
        "noQuirksBodyHtml": "<b><table><tbody><tr><td><i></i></td></tr></tbody></table></b>"
      }
    },
    {
      "data": "<h1><h2>",
      "errors": [
        "(1,4): expected-doctype-but-got-start-tag",
        "(1,8): unexpected-start-tag",
        "(1,8): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "h1": true,
            "h2": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "h1"
                  },
                  {
                    "tag": "h2"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><h1></h1><h2></h2></body></html>",
        "noQuirksBodyHtml": "<h1></h1><h2></h2>"
      }
    },
    {
      "data": "<a><p><a></a></p></a>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,9): unexpected-start-tag-implies-end-tag",
        "(1,9): adoption-agency-1.3",
        "(1,21): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a"
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "a"
                      },
                      {
                        "tag": "a"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a></a><p><a></a><a></a></p></body></html>",
        "noQuirksBodyHtml": "<a></a><p><a></a><a></a></p>"
      }
    },
    {
      "data": "<b><button></b></button></b>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,15): adoption-agency-1.3",
        "(1,28): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "button": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b"
                  },
                  {
                    "tag": "button",
                    "children": [
                      {
                        "tag": "b"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><b></b><button><b></b></button></body></html>",
        "noQuirksBodyHtml": "<b></b><button><b></b></button>"
      }
    },
    {
      "data": "<p><b><div><marquee></p></b></div>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,11): unexpected-end-tag",
        "(1,24): unexpected-end-tag",
        "(1,28): unexpected-end-tag",
        "(1,34): end-tag-too-early",
        "(1,34): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "b": true,
            "div": true,
            "marquee": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "b"
                      }
                    ]
                  },
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "b",
                        "children": [
                          {
                            "tag": "marquee",
                            "children": [
                              {
                                "tag": "p"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><p><b></b></p><div><b><marquee><p></p></marquee></b></div></body></html>",
        "noQuirksBodyHtml": "<p><b></b></p><div><b><marquee><p></p></marquee></b></div>"
      }
    },
    {
      "data": "<script></script></div><title></title><p><p>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,23): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "title": true,
            "body": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script"
                  },
                  {
                    "tag": "title"
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p"
                  },
                  {
                    "tag": "p"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><script></script><title></title></head><body><p></p><p></p></body></html>",
        "noQuirksBodyHtml": "<script></script><title></title><p></p><p></p>"
      }
    },
    {
      "data": "<p><hr></p>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,11): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "hr": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p"
                  },
                  {
                    "tag": "hr"
                  },
                  {
                    "tag": "p"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><p></p><hr><p></p></body></html>",
        "noQuirksBodyHtml": "<p></p><hr><p></p>"
      }
    },
    {
      "data": "<select><b><option><select><option></b></select>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,11): unexpected-start-tag-in-select",
        "(1,27): unexpected-select-in-select",
        "(1,39): unexpected-end-tag",
        "(1,48): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "option": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "tag": "option"
                      }
                    ]
                  },
                  {
                    "tag": "option"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><select><option></option></select><option></option></body></html>",
        "noQuirksBodyHtml": "<select><option></option></select><option></option>"
      }
    },
    {
      "data": "<html><head><title></title><body></body></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "title": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "title"
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><title></title></head><body></body></html>",
        "noQuirksBodyHtml": "<title></title>"
      }
    },
    {
      "data": "<a><table><td><a><table></table><a></tr><a></table><a>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,14): unexpected-cell-in-table-body",
        "(1,35): unexpected-start-tag-implies-end-tag",
        "(1,40): unexpected-cell-end-tag",
        "(1,43): unexpected-start-tag-implies-table-voodoo",
        "(1,43): unexpected-start-tag-implies-end-tag",
        "(1,43): unexpected-end-tag",
        "(1,54): unexpected-start-tag-implies-end-tag",
        "(1,54): adoption-agency-1.2",
        "(1,54): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "children": [
                      {
                        "tag": "a"
                      },
                      {
                        "tag": "table",
                        "children": [
                          {
                            "tag": "tbody",
                            "children": [
                              {
                                "tag": "tr",
                                "children": [
                                  {
                                    "tag": "td",
                                    "children": [
                                      {
                                        "tag": "a",
                                        "children": [
                                          {
                                            "tag": "table"
                                          }
                                        ]
                                      },
                                      {
                                        "tag": "a"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "a"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a><a></a><table><tbody><tr><td><a><table></table></a><a></a></td></tr></tbody></table></a><a></a></body></html>",
        "noQuirksBodyHtml": "<a><a></a><table><tbody><tr><td><a><table></table></a><a></a></td></tr></tbody></table></a><a></a>"
      }
    },
    {
      "data": "<ul><li></li><div><li></div><li><li><div><li><address><li><b><em></b><li></ul>",
      "errors": [
        "(1,4): expected-doctype-but-got-start-tag",
        "(1,45): end-tag-too-early",
        "(1,58): end-tag-too-early",
        "(1,69): adoption-agency-1.3"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ul": true,
            "li": true,
            "div": true,
            "address": true,
            "b": true,
            "em": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ul",
                    "children": [
                      {
                        "tag": "li"
                      },
                      {
                        "tag": "div",
                        "children": [
                          {
                            "tag": "li"
                          }
                        ]
                      },
                      {
                        "tag": "li"
                      },
                      {
                        "tag": "li",
                        "children": [
                          {
                            "tag": "div"
                          }
                        ]
                      },
                      {
                        "tag": "li",
                        "children": [
                          {
                            "tag": "address"
                          }
                        ]
                      },
                      {
                        "tag": "li",
                        "children": [
                          {
                            "tag": "b",
                            "children": [
                              {
                                "tag": "em"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "li"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ul><li></li><div><li></li></div><li></li><li><div></div></li><li><address></address></li><li><b><em></em></b></li><li></li></ul></body></html>",
        "noQuirksBodyHtml": "<ul><li></li><div><li></li></div><li></li><li><div></div></li><li><address></address></li><li><b><em></em></b></li><li></li></ul>"
      }
    },
    {
      "data": "<ul><li><ul></li><li>a</li></ul></li></ul>",
      "errors": [
        "(1,4): expected-doctype-but-got-start-tag",
        "(1,17): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ul": true,
            "li": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ul",
                    "children": [
                      {
                        "tag": "li",
                        "children": [
                          {
                            "tag": "ul",
                            "children": [
                              {
                                "tag": "li",
                                "children": [
                                  {
                                    "text": "a"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ul><li><ul><li>a</li></ul></li></ul></body></html>",
        "noQuirksBodyHtml": "<ul><li><ul><li>a</li></ul></li></ul>"
      }
    },
    {
      "data": "<frameset><frame><frameset><frame></frameset><noframes></noframes></frameset>",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true,
            "frame": true,
            "noframes": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset",
                "children": [
                  {
                    "tag": "frame"
                  },
                  {
                    "tag": "frameset",
                    "children": [
                      {
                        "tag": "frame"
                      }
                    ]
                  },
                  {
                    "tag": "noframes"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset><frame><frameset><frame></frameset><noframes></noframes></frameset></html>",
        "noQuirksBodyHtml": "<noframes></noframes>"
      }
    },
    {
      "data": "<h1><table><td><h3></table><h3></h1>",
      "errors": [
        "(1,4): expected-doctype-but-got-start-tag",
        "(1,15): unexpected-cell-in-table-body",
        "(1,27): unexpected-cell-end-tag",
        "(1,31): unexpected-start-tag",
        "(1,36): end-tag-too-early"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "h1": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "h3": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "h1",
                    "children": [
                      {
                        "tag": "table",
                        "children": [
                          {
                            "tag": "tbody",
                            "children": [
                              {
                                "tag": "tr",
                                "children": [
                                  {
                                    "tag": "td",
                                    "children": [
                                      {
                                        "tag": "h3"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "h3"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><h1><table><tbody><tr><td><h3></h3></td></tr></tbody></table></h1><h3></h3></body></html>",
        "noQuirksBodyHtml": "<h1><table><tbody><tr><td><h3></h3></td></tr></tbody></table></h1><h3></h3>"
      }
    },
    {
      "data": "<table><colgroup><col><colgroup><col><col><col><colgroup><col><col><thead><tr><td></table>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "colgroup": true,
            "col": true,
            "thead": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "colgroup",
                        "children": [
                          {
                            "tag": "col"
                          }
                        ]
                      },
                      {
                        "tag": "colgroup",
                        "children": [
                          {
                            "tag": "col"
                          },
                          {
                            "tag": "col"
                          },
                          {
                            "tag": "col"
                          }
                        ]
                      },
                      {
                        "tag": "colgroup",
                        "children": [
                          {
                            "tag": "col"
                          },
                          {
                            "tag": "col"
                          }
                        ]
                      },
                      {
                        "tag": "thead",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><colgroup><col></colgroup><colgroup><col><col><col></colgroup><colgroup><col><col></colgroup><thead><tr><td></td></tr></thead></table></body></html>",
        "noQuirksBodyHtml": "<table><colgroup><col></colgroup><colgroup><col><col><col></colgroup><colgroup><col><col></colgroup><thead><tr><td></td></tr></thead></table>"
      }
    },
    {
      "data": "<table><col><tbody><col><tr><col><td><col></table><col>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,37): unexpected-cell-in-table-body",
        "(1,55): unexpected-start-tag-ignored"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "colgroup": true,
            "col": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "colgroup",
                        "children": [
                          {
                            "tag": "col"
                          }
                        ]
                      },
                      {
                        "tag": "tbody"
                      },
                      {
                        "tag": "colgroup",
                        "children": [
                          {
                            "tag": "col"
                          }
                        ]
                      },
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr"
                          }
                        ]
                      },
                      {
                        "tag": "colgroup",
                        "children": [
                          {
                            "tag": "col"
                          }
                        ]
                      },
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "colgroup",
                        "children": [
                          {
                            "tag": "col"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><colgroup><col></colgroup><tbody></tbody><colgroup><col></colgroup><tbody><tr></tr></tbody><colgroup><col></colgroup><tbody><tr><td></td></tr></tbody><colgroup><col></colgroup></table></body></html>",
        "noQuirksBodyHtml": "<table><colgroup><col></colgroup><tbody></tbody><colgroup><col></colgroup><tbody><tr></tr></tbody><colgroup><col></colgroup><tbody><tr><td></td></tr></tbody><colgroup><col></colgroup></table>"
      }
    },
    {
      "data": "<table><colgroup><tbody><colgroup><tr><colgroup><td><colgroup></table><colgroup>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,52): unexpected-cell-in-table-body",
        "(1,80): unexpected-start-tag-ignored"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "colgroup": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "colgroup"
                      },
                      {
                        "tag": "tbody"
                      },
                      {
                        "tag": "colgroup"
                      },
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr"
                          }
                        ]
                      },
                      {
                        "tag": "colgroup"
                      },
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "colgroup"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><colgroup></colgroup><tbody></tbody><colgroup></colgroup><tbody><tr></tr></tbody><colgroup></colgroup><tbody><tr><td></td></tr></tbody><colgroup></colgroup></table></body></html>",
        "noQuirksBodyHtml": "<table><colgroup></colgroup><tbody></tbody><colgroup></colgroup><tbody><tr></tr></tbody><colgroup></colgroup><tbody><tr><td></td></tr></tbody><colgroup></colgroup></table>"
      }
    },
    {
      "data": "</strong></b></em></i></u></strike></s></blink></tt></pre></big></small></font></select></h1></h2></h3></h4></h5></h6></body></br></a></img></title></span></style></script></table></th></td></tr></frame></area></link></param></hr></input></col></base></meta></basefont></bgsound></embed></spacer></p></dd></dt></caption></colgroup></tbody></tfoot></thead></address></blockquote></center></dir></div></dl></fieldset></listing></menu></ol></ul></li></nobr></wbr></form></button></marquee></object></html></frameset></head></iframe></image></isindex></noembed></noframes></noscript></optgroup></option></plaintext></textarea>",
      "errors": [
        "(1,9): expected-doctype-but-got-end-tag",
        "(1,9): unexpected-end-tag-before-html",
        "(1,13): unexpected-end-tag-before-html",
        "(1,18): unexpected-end-tag-before-html",
        "(1,22): unexpected-end-tag-before-html",
        "(1,26): unexpected-end-tag-before-html",
        "(1,35): unexpected-end-tag-before-html",
        "(1,39): unexpected-end-tag-before-html",
        "(1,47): unexpected-end-tag-before-html",
        "(1,52): unexpected-end-tag-before-html",
        "(1,58): unexpected-end-tag-before-html",
        "(1,64): unexpected-end-tag-before-html",
        "(1,72): unexpected-end-tag-before-html",
        "(1,79): unexpected-end-tag-before-html",
        "(1,88): unexpected-end-tag-before-html",
        "(1,93): unexpected-end-tag-before-html",
        "(1,98): unexpected-end-tag-before-html",
        "(1,103): unexpected-end-tag-before-html",
        "(1,108): unexpected-end-tag-before-html",
        "(1,113): unexpected-end-tag-before-html",
        "(1,118): unexpected-end-tag-before-html",
        "(1,130): unexpected-end-tag-after-body",
        "(1,130): unexpected-end-tag-treated-as",
        "(1,134): unexpected-end-tag",
        "(1,140): unexpected-end-tag",
        "(1,148): unexpected-end-tag",
        "(1,155): unexpected-end-tag",
        "(1,163): unexpected-end-tag",
        "(1,172): unexpected-end-tag",
        "(1,180): unexpected-end-tag",
        "(1,185): unexpected-end-tag",
        "(1,190): unexpected-end-tag",
        "(1,195): unexpected-end-tag",
        "(1,203): unexpected-end-tag",
        "(1,210): unexpected-end-tag",
        "(1,217): unexpected-end-tag",
        "(1,225): unexpected-end-tag",
        "(1,230): unexpected-end-tag",
        "(1,238): unexpected-end-tag",
        "(1,244): unexpected-end-tag",
        "(1,251): unexpected-end-tag",
        "(1,258): unexpected-end-tag",
        "(1,269): unexpected-end-tag",
        "(1,279): unexpected-end-tag",
        "(1,287): unexpected-end-tag",
        "(1,296): unexpected-end-tag",
        "(1,300): unexpected-end-tag",
        "(1,305): unexpected-end-tag",
        "(1,310): unexpected-end-tag",
        "(1,320): unexpected-end-tag",
        "(1,331): unexpected-end-tag",
        "(1,339): unexpected-end-tag",
        "(1,347): unexpected-end-tag",
        "(1,355): unexpected-end-tag",
        "(1,365): end-tag-too-early",
        "(1,378): end-tag-too-early",
        "(1,387): end-tag-too-early",
        "(1,393): end-tag-too-early",
        "(1,399): end-tag-too-early",
        "(1,404): end-tag-too-early",
        "(1,415): end-tag-too-early",
        "(1,425): end-tag-too-early",
        "(1,432): end-tag-too-early",
        "(1,437): end-tag-too-early",
        "(1,442): end-tag-too-early",
        "(1,447): unexpected-end-tag",
        "(1,454): unexpected-end-tag",
        "(1,460): unexpected-end-tag",
        "(1,467): unexpected-end-tag",
        "(1,476): end-tag-too-early",
        "(1,486): end-tag-too-early",
        "(1,495): end-tag-too-early",
        "(1,513): expected-eof-but-got-end-tag",
        "(1,513): unexpected-end-tag",
        "(1,520): unexpected-end-tag",
        "(1,529): unexpected-end-tag",
        "(1,537): unexpected-end-tag",
        "(1,547): unexpected-end-tag",
        "(1,557): unexpected-end-tag",
        "(1,568): unexpected-end-tag",
        "(1,579): unexpected-end-tag",
        "(1,590): unexpected-end-tag",
        "(1,599): unexpected-end-tag",
        "(1,611): unexpected-end-tag",
        "(1,622): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "br": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "br"
                  },
                  {
                    "tag": "p"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><br><p></p></body></html>",
        "noQuirksBodyHtml": "<br><p></p>"
      }
    },
    {
      "data": "<table><tr></strong></b></em></i></u></strike></s></blink></tt></pre></big></small></font></select></h1></h2></h3></h4></h5></h6></body></br></a></img></title></span></style></script></table></th></td></tr></frame></area></link></param></hr></input></col></base></meta></basefont></bgsound></embed></spacer></p></dd></dt></caption></colgroup></tbody></tfoot></thead></address></blockquote></center></dir></div></dl></fieldset></listing></menu></ol></ul></li></nobr></wbr></form></button></marquee></object></html></frameset></head></iframe></image></isindex></noembed></noframes></noscript></optgroup></option></plaintext></textarea>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,20): unexpected-end-tag-implies-table-voodoo",
        "(1,20): unexpected-end-tag",
        "(1,24): unexpected-end-tag-implies-table-voodoo",
        "(1,24): unexpected-end-tag",
        "(1,29): unexpected-end-tag-implies-table-voodoo",
        "(1,29): unexpected-end-tag",
        "(1,33): unexpected-end-tag-implies-table-voodoo",
        "(1,33): unexpected-end-tag",
        "(1,37): unexpected-end-tag-implies-table-voodoo",
        "(1,37): unexpected-end-tag",
        "(1,46): unexpected-end-tag-implies-table-voodoo",
        "(1,46): unexpected-end-tag",
        "(1,50): unexpected-end-tag-implies-table-voodoo",
        "(1,50): unexpected-end-tag",
        "(1,58): unexpected-end-tag-implies-table-voodoo",
        "(1,58): unexpected-end-tag",
        "(1,63): unexpected-end-tag-implies-table-voodoo",
        "(1,63): unexpected-end-tag",
        "(1,69): unexpected-end-tag-implies-table-voodoo",
        "(1,69): end-tag-too-early",
        "(1,75): unexpected-end-tag-implies-table-voodoo",
        "(1,75): unexpected-end-tag",
        "(1,83): unexpected-end-tag-implies-table-voodoo",
        "(1,83): unexpected-end-tag",
        "(1,90): unexpected-end-tag-implies-table-voodoo",
        "(1,90): unexpected-end-tag",
        "(1,99): unexpected-end-tag-implies-table-voodoo",
        "(1,99): unexpected-end-tag",
        "(1,104): unexpected-end-tag-implies-table-voodoo",
        "(1,104): end-tag-too-early",
        "(1,109): unexpected-end-tag-implies-table-voodoo",
        "(1,109): end-tag-too-early",
        "(1,114): unexpected-end-tag-implies-table-voodoo",
        "(1,114): end-tag-too-early",
        "(1,119): unexpected-end-tag-implies-table-voodoo",
        "(1,119): end-tag-too-early",
        "(1,124): unexpected-end-tag-implies-table-voodoo",
        "(1,124): end-tag-too-early",
        "(1,129): unexpected-end-tag-implies-table-voodoo",
        "(1,129): end-tag-too-early",
        "(1,136): unexpected-end-tag-in-table-row",
        "(1,141): unexpected-end-tag-implies-table-voodoo",
        "(1,141): unexpected-end-tag-treated-as",
        "(1,145): unexpected-end-tag-implies-table-voodoo",
        "(1,145): unexpected-end-tag",
        "(1,151): unexpected-end-tag-implies-table-voodoo",
        "(1,151): unexpected-end-tag",
        "(1,159): unexpected-end-tag-implies-table-voodoo",
        "(1,159): unexpected-end-tag",
        "(1,166): unexpected-end-tag-implies-table-voodoo",
        "(1,166): unexpected-end-tag",
        "(1,174): unexpected-end-tag-implies-table-voodoo",
        "(1,174): unexpected-end-tag",
        "(1,183): unexpected-end-tag-implies-table-voodoo",
        "(1,183): unexpected-end-tag",
        "(1,196): unexpected-end-tag",
        "(1,201): unexpected-end-tag",
        "(1,206): unexpected-end-tag",
        "(1,214): unexpected-end-tag",
        "(1,221): unexpected-end-tag",
        "(1,228): unexpected-end-tag",
        "(1,236): unexpected-end-tag",
        "(1,241): unexpected-end-tag",
        "(1,249): unexpected-end-tag",
        "(1,255): unexpected-end-tag",
        "(1,262): unexpected-end-tag",
        "(1,269): unexpected-end-tag",
        "(1,280): unexpected-end-tag",
        "(1,290): unexpected-end-tag",
        "(1,298): unexpected-end-tag",
        "(1,307): unexpected-end-tag",
        "(1,311): unexpected-end-tag",
        "(1,316): unexpected-end-tag",
        "(1,321): unexpected-end-tag",
        "(1,331): unexpected-end-tag",
        "(1,342): unexpected-end-tag",
        "(1,350): unexpected-end-tag",
        "(1,358): unexpected-end-tag",
        "(1,366): unexpected-end-tag",
        "(1,376): end-tag-too-early",
        "(1,389): end-tag-too-early",
        "(1,398): end-tag-too-early",
        "(1,404): end-tag-too-early",
        "(1,410): end-tag-too-early",
        "(1,415): end-tag-too-early",
        "(1,426): end-tag-too-early",
        "(1,436): end-tag-too-early",
        "(1,443): end-tag-too-early",
        "(1,448): end-tag-too-early",
        "(1,453): end-tag-too-early",
        "(1,458): unexpected-end-tag",
        "(1,465): unexpected-end-tag",
        "(1,471): unexpected-end-tag",
        "(1,478): unexpected-end-tag",
        "(1,487): end-tag-too-early",
        "(1,497): end-tag-too-early",
        "(1,506): end-tag-too-early",
        "(1,524): expected-eof-but-got-end-tag",
        "(1,524): unexpected-end-tag",
        "(1,531): unexpected-end-tag",
        "(1,540): unexpected-end-tag",
        "(1,548): unexpected-end-tag",
        "(1,558): unexpected-end-tag",
        "(1,568): unexpected-end-tag",
        "(1,579): unexpected-end-tag",
        "(1,590): unexpected-end-tag",
        "(1,601): unexpected-end-tag",
        "(1,610): unexpected-end-tag",
        "(1,622): unexpected-end-tag",
        "(1,633): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "br": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "br"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "p"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><br><table><tbody><tr></tr></tbody></table><p></p></body></html>",
        "noQuirksBodyHtml": "<br><table><tbody><tr></tr></tbody></table><p></p>"
      }
    },
    {
      "data": "<frameset>",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag",
        "(1,10): eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": ""
      }
    }
  ],
  "tests10.dat": [
    {
      "data": "<!DOCTYPE html><svg></svg>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg></svg></body></html>",
        "noQuirksBodyHtml": "<svg></svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><svg></svg><![CDATA[a]]>",
      "errors": [
        "(1,28) expected-dashes-or-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "doctype": true,
          "comment": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg"
                  },
                  {
                    "comment": "[CDATA[a]]"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg></svg><!--[CDATA[a]]--></body></html>",
        "noQuirksBodyHtml": "<svg></svg><!--[CDATA[a]]-->"
      }
    },
    {
      "data": "<!DOCTYPE html><body><svg></svg>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg></svg></body></html>",
        "noQuirksBodyHtml": "<svg></svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><select><svg></svg></select>",
      "errors": [
        "(1,34) unexpected-start-tag-in-select",
        "(1,40) unexpected-end-tag-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select></select></body></html>",
        "noQuirksBodyHtml": "<select></select>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><select><option><svg></svg></option></select>",
      "errors": [
        "(1,42) unexpected-start-tag-in-select",
        "(1,48) unexpected-end-tag-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "option": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "tag": "option"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select><option></option></select></body></html>",
        "noQuirksBodyHtml": "<select><option></option></select>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><svg></svg></table>",
      "errors": [
        "(1,33) foster-parenting-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "table": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg"
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg></svg><table></table></body></html>",
        "noQuirksBodyHtml": "<svg></svg><table></table>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><svg><g>foo</g></svg></table>",
      "errors": [
        "(1,33) foster-parenting-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg g": true,
            "table": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "g",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "text": "foo"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg><g>foo</g></svg><table></table></body></html>",
        "noQuirksBodyHtml": "<svg><g>foo</g></svg><table></table>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><svg><g>foo</g><g>bar</g></svg></table>",
      "errors": [
        "(1,33) foster-parenting-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg g": true,
            "table": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "g",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "text": "foo"
                          }
                        ]
                      },
                      {
                        "tag": "g",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "text": "bar"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg><g>foo</g><g>bar</g></svg><table></table></body></html>",
        "noQuirksBodyHtml": "<svg><g>foo</g><g>bar</g></svg><table></table>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><tbody><svg><g>foo</g><g>bar</g></svg></tbody></table>",
      "errors": [
        "(1,40) foster-parenting-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg g": true,
            "table": true,
            "tbody": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "g",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "text": "foo"
                          }
                        ]
                      },
                      {
                        "tag": "g",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "text": "bar"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg><g>foo</g><g>bar</g></svg><table><tbody></tbody></table></body></html>",
        "noQuirksBodyHtml": "<svg><g>foo</g><g>bar</g></svg><table><tbody></tbody></table>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><tbody><tr><svg><g>foo</g><g>bar</g></svg></tr></tbody></table>",
      "errors": [
        "(1,44) foster-parenting-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg g": true,
            "table": true,
            "tbody": true,
            "tr": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "g",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "text": "foo"
                          }
                        ]
                      },
                      {
                        "tag": "g",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "text": "bar"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg><g>foo</g><g>bar</g></svg><table><tbody><tr></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<svg><g>foo</g><g>bar</g></svg><table><tbody><tr></tr></tbody></table>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg></td></tr></tbody></table>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "svg svg": true,
            "svg g": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "svg",
                                    "ns": "http://www.w3.org/2000/svg",
                                    "children": [
                                      {
                                        "tag": "g",
                                        "ns": "http://www.w3.org/2000/svg",
                                        "children": [
                                          {
                                            "text": "foo"
                                          }
                                        ]
                                      },
                                      {
                                        "tag": "g",
                                        "ns": "http://www.w3.org/2000/svg",
                                        "children": [
                                          {
                                            "text": "bar"
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg></td></tr></tbody></table>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg><p>baz</td></tr></tbody></table>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "svg svg": true,
            "svg g": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "svg",
                                    "ns": "http://www.w3.org/2000/svg",
                                    "children": [
                                      {
                                        "tag": "g",
                                        "ns": "http://www.w3.org/2000/svg",
                                        "children": [
                                          {
                                            "text": "foo"
                                          }
                                        ]
                                      },
                                      {
                                        "tag": "g",
                                        "ns": "http://www.w3.org/2000/svg",
                                        "children": [
                                          {
                                            "text": "bar"
                                          }
                                        ]
                                      }
                                    ]
                                  },
                                  {
                                    "tag": "p",
                                    "children": [
                                      {
                                        "text": "baz"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg><p>baz</p></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg><p>baz</p></td></tr></tbody></table>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g></svg><p>baz</caption></table>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "caption": true,
            "svg svg": true,
            "svg g": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "caption",
                        "children": [
                          {
                            "tag": "svg",
                            "ns": "http://www.w3.org/2000/svg",
                            "children": [
                              {
                                "tag": "g",
                                "ns": "http://www.w3.org/2000/svg",
                                "children": [
                                  {
                                    "text": "foo"
                                  }
                                ]
                              },
                              {
                                "tag": "g",
                                "ns": "http://www.w3.org/2000/svg",
                                "children": [
                                  {
                                    "text": "bar"
                                  }
                                ]
                              }
                            ]
                          },
                          {
                            "tag": "p",
                            "children": [
                              {
                                "text": "baz"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><caption><svg><g>foo</g><g>bar</g></svg><p>baz</p></caption></table></body></html>",
        "noQuirksBodyHtml": "<table><caption><svg><g>foo</g><g>bar</g></svg><p>baz</p></caption></table>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g><p>baz</table><p>quux",
      "errors": [
        "(1,65) unexpected-html-element-in-foreign-content"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "caption": true,
            "svg svg": true,
            "svg g": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "caption",
                        "children": [
                          {
                            "tag": "svg",
                            "ns": "http://www.w3.org/2000/svg",
                            "children": [
                              {
                                "tag": "g",
                                "ns": "http://www.w3.org/2000/svg",
                                "children": [
                                  {
                                    "text": "foo"
                                  }
                                ]
                              },
                              {
                                "tag": "g",
                                "ns": "http://www.w3.org/2000/svg",
                                "children": [
                                  {
                                    "text": "bar"
                                  }
                                ]
                              }
                            ]
                          },
                          {
                            "tag": "p",
                            "children": [
                              {
                                "text": "baz"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "quux"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><caption><svg><g>foo</g><g>bar</g></svg><p>baz</p></caption></table><p>quux</p></body></html>",
        "noQuirksBodyHtml": "<table><caption><svg><g>foo</g><g>bar</g><p>baz</p></svg></caption></table><p>quux</p>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g>baz</table><p>quux",
      "errors": [
        "(1,73) unexpected-end-tag",
        "(1,73) expected-one-end-tag-but-got-another"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "caption": true,
            "svg svg": true,
            "svg g": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "caption",
                        "children": [
                          {
                            "tag": "svg",
                            "ns": "http://www.w3.org/2000/svg",
                            "children": [
                              {
                                "tag": "g",
                                "ns": "http://www.w3.org/2000/svg",
                                "children": [
                                  {
                                    "text": "foo"
                                  }
                                ]
                              },
                              {
                                "tag": "g",
                                "ns": "http://www.w3.org/2000/svg",
                                "children": [
                                  {
                                    "text": "bar"
                                  }
                                ]
                              },
                              {
                                "text": "baz"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "quux"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><caption><svg><g>foo</g><g>bar</g>baz</svg></caption></table><p>quux</p></body></html>",
        "noQuirksBodyHtml": "<table><caption><svg><g>foo</g><g>bar</g>baz</svg></caption></table><p>quux</p>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><colgroup><svg><g>foo</g><g>bar</g><p>baz</table><p>quux",
      "errors": [
        "(1,43) foster-parenting-start-tag svg",
        "(1,66) unexpected HTML-like start tag token in foreign content",
        "(1,66) foster-parenting-start-tag",
        "(1,67) foster-parenting-character",
        "(1,68) foster-parenting-character",
        "(1,69) foster-parenting-character"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg g": true,
            "p": true,
            "table": true,
            "colgroup": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "g",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "text": "foo"
                          }
                        ]
                      },
                      {
                        "tag": "g",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "text": "bar"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "baz"
                      }
                    ]
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "colgroup"
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "quux"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg><g>foo</g><g>bar</g></svg><p>baz</p><table><colgroup></colgroup></table><p>quux</p></body></html>",
        "noQuirksBodyHtml": "<svg><g>foo</g><g>bar</g><p>baz</p></svg><table><colgroup></colgroup></table><p>quux</p>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><tr><td><select><svg><g>foo</g><g>bar</g><p>baz</table><p>quux",
      "errors": [
        "(1,49) unexpected-start-tag-in-select",
        "(1,52) unexpected-start-tag-in-select",
        "(1,59) unexpected-end-tag-in-select",
        "(1,62) unexpected-start-tag-in-select",
        "(1,69) unexpected-end-tag-in-select",
        "(1,72) unexpected-start-tag-in-select",
        "(1,83) unexpected-table-element-end-tag-in-select-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "select": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "select",
                                    "children": [
                                      {
                                        "text": "foobarbaz"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "quux"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><select>foobarbaz</select></td></tr></tbody></table><p>quux</p></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td><select>foobarbaz</select></td></tr></tbody></table><p>quux</p>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><select><svg><g>foo</g><g>bar</g><p>baz</table><p>quux",
      "errors": [
        "(1,36) unexpected-start-tag-implies-table-voodoo",
        "(1,41) unexpected-start-tag-in-select",
        "(1,44) unexpected-start-tag-in-select",
        "(1,51) unexpected-end-tag-in-select",
        "(1,54) unexpected-start-tag-in-select",
        "(1,61) unexpected-end-tag-in-select",
        "(1,64) unexpected-start-tag-in-select",
        "(1,75) unexpected-table-element-end-tag-in-select-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "table": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "text": "foobarbaz"
                      }
                    ]
                  },
                  {
                    "tag": "table"
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "quux"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select>foobarbaz</select><table></table><p>quux</p></body></html>",
        "noQuirksBodyHtml": "<select>foobarbaz</select><table></table><p>quux</p>"
      }
    },
    {
      "data": "<!DOCTYPE html><body></body></html><svg><g>foo</g><g>bar</g><p>baz",
      "errors": [
        "(1,40) expected-eof-but-got-start-tag",
        "(1,63) unexpected-html-element-in-foreign-content"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg g": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "g",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "text": "foo"
                          }
                        ]
                      },
                      {
                        "tag": "g",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "text": "bar"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "baz"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg><g>foo</g><g>bar</g></svg><p>baz</p></body></html>",
        "noQuirksBodyHtml": "<svg><g>foo</g><g>bar</g><p>baz</p></svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><body></body><svg><g>foo</g><g>bar</g><p>baz",
      "errors": [
        "(1,33) unexpected-start-tag-after-body",
        "(1,56) unexpected-html-element-in-foreign-content"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg g": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "g",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "text": "foo"
                          }
                        ]
                      },
                      {
                        "tag": "g",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "text": "bar"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "baz"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg><g>foo</g><g>bar</g></svg><p>baz</p></body></html>",
        "noQuirksBodyHtml": "<svg><g>foo</g><g>bar</g><p>baz</p></svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><frameset><svg><g></g><g></g><p><span>",
      "errors": [
        "(1,30) unexpected-start-tag-in-frameset",
        "(1,33) unexpected-start-tag-in-frameset",
        "(1,37) unexpected-end-tag-in-frameset",
        "(1,40) unexpected-start-tag-in-frameset",
        "(1,44) unexpected-end-tag-in-frameset",
        "(1,47) unexpected-start-tag-in-frameset",
        "(1,53) unexpected-start-tag-in-frameset",
        "(1,53) eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": "<svg><g></g><g></g><p><span></span></p></svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><frameset></frameset><svg><g></g><g></g><p><span>",
      "errors": [
        "(1,41) unexpected-start-tag-after-frameset",
        "(1,44) unexpected-start-tag-after-frameset",
        "(1,48) unexpected-end-tag-after-frameset",
        "(1,51) unexpected-start-tag-after-frameset",
        "(1,55) unexpected-end-tag-after-frameset",
        "(1,58) unexpected-start-tag-after-frameset",
        "(1,64) unexpected-start-tag-after-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": "<svg><g></g><g></g><p><span></span></p></svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><body xlink:href=foo><svg xlink:href=foo></svg>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "attrs": [
                  {
                    "name": "xlink:href",
                    "value": "foo"
                  }
                ],
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "attrs": [
                      {
                        "name": "href",
                        "ns": "http://www.w3.org/1999/xlink",
                        "value": "foo"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body xlink:href=\"foo\"><svg xlink:href=\"foo\"></svg></body></html>",
        "noQuirksBodyHtml": "<svg xlink:href=\"foo\"></svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo></g></svg>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg g": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "attrs": [
                  {
                    "name": "xlink:href",
                    "value": "foo"
                  },
                  {
                    "name": "xml:lang",
                    "value": "en"
                  }
                ],
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "g",
                        "ns": "http://www.w3.org/2000/svg",
                        "attrs": [
                          {
                            "name": "href",
                            "ns": "http://www.w3.org/1999/xlink",
                            "value": "foo"
                          },
                          {
                            "name": "lang",
                            "ns": "http://www.w3.org/XML/1998/namespace",
                            "value": "en"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body xlink:href=\"foo\" xml:lang=\"en\"><svg><g xml:lang=\"en\" xlink:href=\"foo\"></g></svg></body></html>",
        "noQuirksBodyHtml": "<svg><g xml:lang=\"en\" xlink:href=\"foo\"></g></svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo /></svg>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg g": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "attrs": [
                  {
                    "name": "xlink:href",
                    "value": "foo"
                  },
                  {
                    "name": "xml:lang",
                    "value": "en"
                  }
                ],
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "g",
                        "ns": "http://www.w3.org/2000/svg",
                        "attrs": [
                          {
                            "name": "href",
                            "ns": "http://www.w3.org/1999/xlink",
                            "value": "foo"
                          },
                          {
                            "name": "lang",
                            "ns": "http://www.w3.org/XML/1998/namespace",
                            "value": "en"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body xlink:href=\"foo\" xml:lang=\"en\"><svg><g xml:lang=\"en\" xlink:href=\"foo\"></g></svg></body></html>",
        "noQuirksBodyHtml": "<svg><g xml:lang=\"en\" xlink:href=\"foo\"></g></svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo />bar</svg>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg g": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "attrs": [
                  {
                    "name": "xlink:href",
                    "value": "foo"
                  },
                  {
                    "name": "xml:lang",
                    "value": "en"
                  }
                ],
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "g",
                        "ns": "http://www.w3.org/2000/svg",
                        "attrs": [
                          {
                            "name": "href",
                            "ns": "http://www.w3.org/1999/xlink",
                            "value": "foo"
                          },
                          {
                            "name": "lang",
                            "ns": "http://www.w3.org/XML/1998/namespace",
                            "value": "en"
                          }
                        ]
                      },
                      {
                        "text": "bar"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body xlink:href=\"foo\" xml:lang=\"en\"><svg><g xml:lang=\"en\" xlink:href=\"foo\"></g>bar</svg></body></html>",
        "noQuirksBodyHtml": "<svg><g xml:lang=\"en\" xlink:href=\"foo\"></g>bar</svg>"
      }
    },
    {
      "data": "<svg></path>",
      "errors": [
        "(1,5) expected-doctype-but-got-start-tag",
        "(1,12) unexpected-end-tag",
        "(1,12) unexpected-end-tag",
        "(1,12) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg></svg></body></html>",
        "noQuirksBodyHtml": "<svg></svg>"
      }
    },
    {
      "data": "<div><svg></div>a",
      "errors": [
        "(1,5) expected-doctype-but-got-start-tag",
        "(1,16) unexpected-end-tag",
        "(1,16) end-tag-too-early"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "svg svg": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "svg",
                        "ns": "http://www.w3.org/2000/svg"
                      }
                    ]
                  },
                  {
                    "text": "a"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div><svg></svg></div>a</body></html>",
        "noQuirksBodyHtml": "<div><svg></svg></div>a"
      }
    },
    {
      "data": "<div><svg><path></div>a",
      "errors": [
        "(1,5) expected-doctype-but-got-start-tag",
        "(1,22) unexpected-end-tag",
        "(1,22) end-tag-too-early"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "svg svg": true,
            "svg path": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "svg",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "tag": "path",
                            "ns": "http://www.w3.org/2000/svg"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "text": "a"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div><svg><path></path></svg></div>a</body></html>",
        "noQuirksBodyHtml": "<div><svg><path></path></svg></div>a"
      }
    },
    {
      "data": "<div><svg><path></svg><path>",
      "errors": [
        "(1,5) expected-doctype-but-got-start-tag",
        "(1,22) unexpected-end-tag",
        "(1,28) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "svg svg": true,
            "svg path": true,
            "path": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "svg",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "tag": "path",
                            "ns": "http://www.w3.org/2000/svg"
                          }
                        ]
                      },
                      {
                        "tag": "path"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div><svg><path></path></svg><path></path></div></body></html>",
        "noQuirksBodyHtml": "<div><svg><path></path></svg><path></path></div>"
      }
    },
    {
      "data": "<div><svg><path><foreignObject><math></div>a",
      "errors": [
        "(1,5) expected-doctype-but-got-start-tag",
        "(1,43) unexpected-end-tag",
        "(1,43) end-tag-too-early",
        "(1,44) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "svg svg": true,
            "svg path": true,
            "svg foreignObject": true,
            "math math": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "svg",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "tag": "path",
                            "ns": "http://www.w3.org/2000/svg",
                            "children": [
                              {
                                "tag": "foreignObject",
                                "ns": "http://www.w3.org/2000/svg",
                                "children": [
                                  {
                                    "tag": "math",
                                    "ns": "http://www.w3.org/1998/Math/MathML",
                                    "children": [
                                      {
                                        "text": "a"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div><svg><path><foreignObject><math>a</math></foreignObject></path></svg></div></body></html>",
        "noQuirksBodyHtml": "<div><svg><path><foreignObject><math>a</math></foreignObject></path></svg></div>"
      }
    },
    {
      "data": "<div><svg><path><foreignObject><p></div>a",
      "errors": [
        "(1,5) expected-doctype-but-got-start-tag",
        "(1,40) end-tag-too-early",
        "(1,41) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "svg svg": true,
            "svg path": true,
            "svg foreignObject": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "svg",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "tag": "path",
                            "ns": "http://www.w3.org/2000/svg",
                            "children": [
                              {
                                "tag": "foreignObject",
                                "ns": "http://www.w3.org/2000/svg",
                                "children": [
                                  {
                                    "tag": "p",
                                    "children": [
                                      {
                                        "text": "a"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div><svg><path><foreignObject><p>a</p></foreignObject></path></svg></div></body></html>",
        "noQuirksBodyHtml": "<div><svg><path><foreignObject><p>a</p></foreignObject></path></svg></div>"
      }
    },
    {
      "data": "<!DOCTYPE html><svg><desc><div><svg><ul>a",
      "errors": [
        "(1,40) unexpected-html-element-in-foreign-content",
        "(1,41) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg desc": true,
            "div": true,
            "ul": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "desc",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "tag": "div",
                            "children": [
                              {
                                "tag": "svg",
                                "ns": "http://www.w3.org/2000/svg"
                              },
                              {
                                "tag": "ul",
                                "children": [
                                  {
                                    "text": "a"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg><desc><div><svg></svg><ul>a</ul></div></desc></svg></body></html>",
        "noQuirksBodyHtml": "<svg><desc><div><svg><ul>a</ul></svg></div></desc></svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><svg><desc><svg><ul>a",
      "errors": [
        "(1,35) unexpected-html-element-in-foreign-content",
        "(1,36) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg desc": true,
            "ul": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "desc",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "tag": "svg",
                            "ns": "http://www.w3.org/2000/svg"
                          },
                          {
                            "tag": "ul",
                            "children": [
                              {
                                "text": "a"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg><desc><svg></svg><ul>a</ul></desc></svg></body></html>",
        "noQuirksBodyHtml": "<svg><desc><svg><ul>a</ul></svg></desc></svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><p><svg><desc><p>",
      "errors": [
        "(1,32) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "svg svg": true,
            "svg desc": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "svg",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "tag": "desc",
                            "ns": "http://www.w3.org/2000/svg",
                            "children": [
                              {
                                "tag": "p"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><svg><desc><p></p></desc></svg></p></body></html>",
        "noQuirksBodyHtml": "<p><svg><desc><p></p></desc></svg></p>"
      }
    },
    {
      "data": "<!DOCTYPE html><p><svg><title><p>",
      "errors": [
        "(1,33) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "svg svg": true,
            "svg title": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "svg",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "tag": "title",
                            "ns": "http://www.w3.org/2000/svg",
                            "children": [
                              {
                                "tag": "p"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><svg><title><p></p></title></svg></p></body></html>",
        "noQuirksBodyHtml": "<p><svg><title><p></p></title></svg></p>"
      }
    },
    {
      "data": "<div><svg><path><foreignObject><p></foreignObject><p>",
      "errors": [
        "(1,5) expected-doctype-but-got-start-tag",
        "(1,50) unexpected-end-tag",
        "(1,53) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "svg svg": true,
            "svg path": true,
            "svg foreignObject": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "svg",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "tag": "path",
                            "ns": "http://www.w3.org/2000/svg",
                            "children": [
                              {
                                "tag": "foreignObject",
                                "ns": "http://www.w3.org/2000/svg",
                                "children": [
                                  {
                                    "tag": "p"
                                  },
                                  {
                                    "tag": "p"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div><svg><path><foreignObject><p></p><p></p></foreignObject></path></svg></div></body></html>",
        "noQuirksBodyHtml": "<div><svg><path><foreignObject><p></p><p></p></foreignObject></path></svg></div>"
      }
    },
    {
      "data": "<math><mi><div><object><div><span></span></div></object></div></mi><mi>",
      "errors": [
        "(1,6) expected-doctype-but-got-start-tag",
        "(1,71) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mi": true,
            "div": true,
            "object": true,
            "span": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "div",
                            "children": [
                              {
                                "tag": "object",
                                "children": [
                                  {
                                    "tag": "div",
                                    "children": [
                                      {
                                        "tag": "span"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><mi><div><object><div><span></span></div></object></div></mi><mi></mi></math></body></html>",
        "noQuirksBodyHtml": "<math><mi><div><object><div><span></span></div></object></div></mi><mi></mi></math>"
      }
    },
    {
      "data": "<math><mi><svg><foreignObject><div><div></div></div></foreignObject></svg></mi><mi>",
      "errors": [
        "(1,6) expected-doctype-but-got-start-tag",
        "(1,83) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mi": true,
            "svg svg": true,
            "svg foreignObject": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "svg",
                            "ns": "http://www.w3.org/2000/svg",
                            "children": [
                              {
                                "tag": "foreignObject",
                                "ns": "http://www.w3.org/2000/svg",
                                "children": [
                                  {
                                    "tag": "div",
                                    "children": [
                                      {
                                        "tag": "div"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><mi><svg><foreignObject><div><div></div></div></foreignObject></svg></mi><mi></mi></math></body></html>",
        "noQuirksBodyHtml": "<math><mi><svg><foreignObject><div><div></div></div></foreignObject></svg></mi><mi></mi></math>"
      }
    },
    {
      "data": "<svg><script></script><path>",
      "errors": [
        "(1,5) expected-doctype-but-got-start-tag",
        "(1,28) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg script": true,
            "svg path": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "script",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "path",
                        "ns": "http://www.w3.org/2000/svg"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg><script></script><path></path></svg></body></html>",
        "noQuirksBodyHtml": "<svg><script></script><path></path></svg>"
      }
    },
    {
      "data": "<table><svg></svg><tr>",
      "errors": [
        "(1,7) expected-doctype-but-got-start-tag",
        "(1,12) unexpected-start-tag-implies-table-voodoo",
        "(1,22) eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "table": true,
            "tbody": true,
            "tr": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg></svg><table><tbody><tr></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<svg></svg><table><tbody><tr></tr></tbody></table>"
      }
    },
    {
      "data": "<math><mi><mglyph>",
      "errors": [
        "(1,6) expected-doctype-but-got-start-tag",
        "(1,18) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mi": true,
            "math mglyph": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "mglyph",
                            "ns": "http://www.w3.org/1998/Math/MathML"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><mi><mglyph></mglyph></mi></math></body></html>",
        "noQuirksBodyHtml": "<math><mi><mglyph></mglyph></mi></math>"
      }
    },
    {
      "data": "<math><mi><malignmark>",
      "errors": [
        "(1,6) expected-doctype-but-got-start-tag",
        "(1,22) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mi": true,
            "math malignmark": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "malignmark",
                            "ns": "http://www.w3.org/1998/Math/MathML"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><mi><malignmark></malignmark></mi></math></body></html>",
        "noQuirksBodyHtml": "<math><mi><malignmark></malignmark></mi></math>"
      }
    },
    {
      "data": "<math><mo><mglyph>",
      "errors": [
        "(1,6) expected-doctype-but-got-start-tag",
        "(1,18) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mo": true,
            "math mglyph": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mo",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "mglyph",
                            "ns": "http://www.w3.org/1998/Math/MathML"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><mo><mglyph></mglyph></mo></math></body></html>",
        "noQuirksBodyHtml": "<math><mo><mglyph></mglyph></mo></math>"
      }
    },
    {
      "data": "<math><mo><malignmark>",
      "errors": [
        "(1,6) expected-doctype-but-got-start-tag",
        "(1,22) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mo": true,
            "math malignmark": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mo",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "malignmark",
                            "ns": "http://www.w3.org/1998/Math/MathML"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><mo><malignmark></malignmark></mo></math></body></html>",
        "noQuirksBodyHtml": "<math><mo><malignmark></malignmark></mo></math>"
      }
    },
    {
      "data": "<math><mn><mglyph>",
      "errors": [
        "(1,6) expected-doctype-but-got-start-tag",
        "(1,18) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mn": true,
            "math mglyph": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mn",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "mglyph",
                            "ns": "http://www.w3.org/1998/Math/MathML"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><mn><mglyph></mglyph></mn></math></body></html>",
        "noQuirksBodyHtml": "<math><mn><mglyph></mglyph></mn></math>"
      }
    },
    {
      "data": "<math><mn><malignmark>",
      "errors": [
        "(1,6) expected-doctype-but-got-start-tag",
        "(1,22) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mn": true,
            "math malignmark": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mn",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "malignmark",
                            "ns": "http://www.w3.org/1998/Math/MathML"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><mn><malignmark></malignmark></mn></math></body></html>",
        "noQuirksBodyHtml": "<math><mn><malignmark></malignmark></mn></math>"
      }
    },
    {
      "data": "<math><ms><mglyph>",
      "errors": [
        "(1,6) expected-doctype-but-got-start-tag",
        "(1,18) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math ms": true,
            "math mglyph": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "ms",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "mglyph",
                            "ns": "http://www.w3.org/1998/Math/MathML"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><ms><mglyph></mglyph></ms></math></body></html>",
        "noQuirksBodyHtml": "<math><ms><mglyph></mglyph></ms></math>"
      }
    },
    {
      "data": "<math><ms><malignmark>",
      "errors": [
        "(1,6) expected-doctype-but-got-start-tag",
        "(1,22) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math ms": true,
            "math malignmark": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "ms",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "malignmark",
                            "ns": "http://www.w3.org/1998/Math/MathML"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><ms><malignmark></malignmark></ms></math></body></html>",
        "noQuirksBodyHtml": "<math><ms><malignmark></malignmark></ms></math>"
      }
    },
    {
      "data": "<math><mtext><mglyph>",
      "errors": [
        "(1,6) expected-doctype-but-got-start-tag",
        "(1,21) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mtext": true,
            "math mglyph": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mtext",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "mglyph",
                            "ns": "http://www.w3.org/1998/Math/MathML"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><mtext><mglyph></mglyph></mtext></math></body></html>",
        "noQuirksBodyHtml": "<math><mtext><mglyph></mglyph></mtext></math>"
      }
    },
    {
      "data": "<math><mtext><malignmark>",
      "errors": [
        "(1,6) expected-doctype-but-got-start-tag",
        "(1,25) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mtext": true,
            "math malignmark": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mtext",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "malignmark",
                            "ns": "http://www.w3.org/1998/Math/MathML"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><mtext><malignmark></malignmark></mtext></math></body></html>",
        "noQuirksBodyHtml": "<math><mtext><malignmark></malignmark></mtext></math>"
      }
    },
    {
      "data": "<math><annotation-xml><svg></svg></annotation-xml><mi>",
      "errors": [
        "(1,6) expected-doctype-but-got-start-tag",
        "(1,54) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math annotation-xml": true,
            "svg svg": true,
            "math mi": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "annotation-xml",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "svg",
                            "ns": "http://www.w3.org/2000/svg"
                          }
                        ]
                      },
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><annotation-xml><svg></svg></annotation-xml><mi></mi></math></body></html>",
        "noQuirksBodyHtml": "<math><annotation-xml><svg></svg></annotation-xml><mi></mi></math>"
      }
    },
    {
      "data": "<math><annotation-xml><svg><foreignObject><div><math><mi></mi></math><span></span></div></foreignObject><path></path></svg></annotation-xml><mi>",
      "errors": [
        "(1,6) expected-doctype-but-got-start-tag",
        "(1,144) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math annotation-xml": true,
            "svg svg": true,
            "svg foreignObject": true,
            "div": true,
            "math mi": true,
            "span": true,
            "svg path": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "annotation-xml",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "svg",
                            "ns": "http://www.w3.org/2000/svg",
                            "children": [
                              {
                                "tag": "foreignObject",
                                "ns": "http://www.w3.org/2000/svg",
                                "children": [
                                  {
                                    "tag": "div",
                                    "children": [
                                      {
                                        "tag": "math",
                                        "ns": "http://www.w3.org/1998/Math/MathML",
                                        "children": [
                                          {
                                            "tag": "mi",
                                            "ns": "http://www.w3.org/1998/Math/MathML"
                                          }
                                        ]
                                      },
                                      {
                                        "tag": "span"
                                      }
                                    ]
                                  }
                                ]
                              },
                              {
                                "tag": "path",
                                "ns": "http://www.w3.org/2000/svg"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><annotation-xml><svg><foreignObject><div><math><mi></mi></math><span></span></div></foreignObject><path></path></svg></annotation-xml><mi></mi></math></body></html>",
        "noQuirksBodyHtml": "<math><annotation-xml><svg><foreignObject><div><math><mi></mi></math><span></span></div></foreignObject><path></path></svg></annotation-xml><mi></mi></math>"
      }
    },
    {
      "data": "<math><annotation-xml><svg><foreignObject><math><mi><svg></svg></mi><mo></mo></math><span></span></foreignObject><path></path></svg></annotation-xml><mi>",
      "errors": [
        "(1,6) expected-doctype-but-got-start-tag",
        "(1,153) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math annotation-xml": true,
            "svg svg": true,
            "svg foreignObject": true,
            "math mi": true,
            "math mo": true,
            "span": true,
            "svg path": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "annotation-xml",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "svg",
                            "ns": "http://www.w3.org/2000/svg",
                            "children": [
                              {
                                "tag": "foreignObject",
                                "ns": "http://www.w3.org/2000/svg",
                                "children": [
                                  {
                                    "tag": "math",
                                    "ns": "http://www.w3.org/1998/Math/MathML",
                                    "children": [
                                      {
                                        "tag": "mi",
                                        "ns": "http://www.w3.org/1998/Math/MathML",
                                        "children": [
                                          {
                                            "tag": "svg",
                                            "ns": "http://www.w3.org/2000/svg"
                                          }
                                        ]
                                      },
                                      {
                                        "tag": "mo",
                                        "ns": "http://www.w3.org/1998/Math/MathML"
                                      }
                                    ]
                                  },
                                  {
                                    "tag": "span"
                                  }
                                ]
                              },
                              {
                                "tag": "path",
                                "ns": "http://www.w3.org/2000/svg"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><annotation-xml><svg><foreignObject><math><mi><svg></svg></mi><mo></mo></math><span></span></foreignObject><path></path></svg></annotation-xml><mi></mi></math></body></html>",
        "noQuirksBodyHtml": "<math><annotation-xml><svg><foreignObject><math><mi><svg></svg></mi><mo></mo></math><span></span></foreignObject><path></path></svg></annotation-xml><mi></mi></math>"
      }
    }
  ],
  "tests11.dat": [
    {
      "data": "<!DOCTYPE html><body><svg attributeName='' attributeType='' baseFrequency='' baseProfile='' calcMode='' clipPathUnits='' diffuseConstant='' edgeMode='' filterUnits='' glyphRef='' gradientTransform='' gradientUnits='' kernelMatrix='' kernelUnitLength='' keyPoints='' keySplines='' keyTimes='' lengthAdjust='' limitingConeAngle='' markerHeight='' markerUnits='' markerWidth='' maskContentUnits='' maskUnits='' numOctaves='' pathLength='' patternContentUnits='' patternTransform='' patternUnits='' pointsAtX='' pointsAtY='' pointsAtZ='' preserveAlpha='' preserveAspectRatio='' primitiveUnits='' refX='' refY='' repeatCount='' repeatDur='' requiredExtensions='' requiredFeatures='' specularConstant='' specularExponent='' spreadMethod='' startOffset='' stdDeviation='' stitchTiles='' surfaceScale='' systemLanguage='' tableValues='' targetX='' targetY='' textLength='' viewBox='' viewTarget='' xChannelSelector='' yChannelSelector='' zoomAndPan=''></svg>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "attrs": [
                      {
                        "name": "attributeName",
                        "value": ""
                      },
                      {
                        "name": "attributeType",
                        "value": ""
                      },
                      {
                        "name": "baseFrequency",
                        "value": ""
                      },
                      {
                        "name": "baseProfile",
                        "value": ""
                      },
                      {
                        "name": "calcMode",
                        "value": ""
                      },
                      {
                        "name": "clipPathUnits",
                        "value": ""
                      },
                      {
                        "name": "diffuseConstant",
                        "value": ""
                      },
                      {
                        "name": "edgeMode",
                        "value": ""
                      },
                      {
                        "name": "filterUnits",
                        "value": ""
                      },
                      {
                        "name": "glyphRef",
                        "value": ""
                      },
                      {
                        "name": "gradientTransform",
                        "value": ""
                      },
                      {
                        "name": "gradientUnits",
                        "value": ""
                      },
                      {
                        "name": "kernelMatrix",
                        "value": ""
                      },
                      {
                        "name": "kernelUnitLength",
                        "value": ""
                      },
                      {
                        "name": "keyPoints",
                        "value": ""
                      },
                      {
                        "name": "keySplines",
                        "value": ""
                      },
                      {
                        "name": "keyTimes",
                        "value": ""
                      },
                      {
                        "name": "lengthAdjust",
                        "value": ""
                      },
                      {
                        "name": "limitingConeAngle",
                        "value": ""
                      },
                      {
                        "name": "markerHeight",
                        "value": ""
                      },
                      {
                        "name": "markerUnits",
                        "value": ""
                      },
                      {
                        "name": "markerWidth",
                        "value": ""
                      },
                      {
                        "name": "maskContentUnits",
                        "value": ""
                      },
                      {
                        "name": "maskUnits",
                        "value": ""
                      },
                      {
                        "name": "numOctaves",
                        "value": ""
                      },
                      {
                        "name": "pathLength",
                        "value": ""
                      },
                      {
                        "name": "patternContentUnits",
                        "value": ""
                      },
                      {
                        "name": "patternTransform",
                        "value": ""
                      },
                      {
                        "name": "patternUnits",
                        "value": ""
                      },
                      {
                        "name": "pointsAtX",
                        "value": ""
                      },
                      {
                        "name": "pointsAtY",
                        "value": ""
                      },
                      {
                        "name": "pointsAtZ",
                        "value": ""
                      },
                      {
                        "name": "preserveAlpha",
                        "value": ""
                      },
                      {
                        "name": "preserveAspectRatio",
                        "value": ""
                      },
                      {
                        "name": "primitiveUnits",
                        "value": ""
                      },
                      {
                        "name": "refX",
                        "value": ""
                      },
                      {
                        "name": "refY",
                        "value": ""
                      },
                      {
                        "name": "repeatCount",
                        "value": ""
                      },
                      {
                        "name": "repeatDur",
                        "value": ""
                      },
                      {
                        "name": "requiredExtensions",
                        "value": ""
                      },
                      {
                        "name": "requiredFeatures",
                        "value": ""
                      },
                      {
                        "name": "specularConstant",
                        "value": ""
                      },
                      {
                        "name": "specularExponent",
                        "value": ""
                      },
                      {
                        "name": "spreadMethod",
                        "value": ""
                      },
                      {
                        "name": "startOffset",
                        "value": ""
                      },
                      {
                        "name": "stdDeviation",
                        "value": ""
                      },
                      {
                        "name": "stitchTiles",
                        "value": ""
                      },
                      {
                        "name": "surfaceScale",
                        "value": ""
                      },
                      {
                        "name": "systemLanguage",
                        "value": ""
                      },
                      {
                        "name": "tableValues",
                        "value": ""
                      },
                      {
                        "name": "targetX",
                        "value": ""
                      },
                      {
                        "name": "targetY",
                        "value": ""
                      },
                      {
                        "name": "textLength",
                        "value": ""
                      },
                      {
                        "name": "viewBox",
                        "value": ""
                      },
                      {
                        "name": "viewTarget",
                        "value": ""
                      },
                      {
                        "name": "xChannelSelector",
                        "value": ""
                      },
                      {
                        "name": "yChannelSelector",
                        "value": ""
                      },
                      {
                        "name": "zoomAndPan",
                        "value": ""
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg attributeName=\"\" attributeType=\"\" baseFrequency=\"\" baseProfile=\"\" calcMode=\"\" clipPathUnits=\"\" diffuseConstant=\"\" edgeMode=\"\" filterUnits=\"\" glyphRef=\"\" gradientTransform=\"\" gradientUnits=\"\" kernelMatrix=\"\" kernelUnitLength=\"\" keyPoints=\"\" keySplines=\"\" keyTimes=\"\" lengthAdjust=\"\" limitingConeAngle=\"\" markerHeight=\"\" markerUnits=\"\" markerWidth=\"\" maskContentUnits=\"\" maskUnits=\"\" numOctaves=\"\" pathLength=\"\" patternContentUnits=\"\" patternTransform=\"\" patternUnits=\"\" pointsAtX=\"\" pointsAtY=\"\" pointsAtZ=\"\" preserveAlpha=\"\" preserveAspectRatio=\"\" primitiveUnits=\"\" refX=\"\" refY=\"\" repeatCount=\"\" repeatDur=\"\" requiredExtensions=\"\" requiredFeatures=\"\" specularConstant=\"\" specularExponent=\"\" spreadMethod=\"\" startOffset=\"\" stdDeviation=\"\" stitchTiles=\"\" surfaceScale=\"\" systemLanguage=\"\" tableValues=\"\" targetX=\"\" targetY=\"\" textLength=\"\" viewBox=\"\" viewTarget=\"\" xChannelSelector=\"\" yChannelSelector=\"\" zoomAndPan=\"\"></svg></body></html>",
        "noQuirksBodyHtml": "<svg attributeName=\"\" attributeType=\"\" baseFrequency=\"\" baseProfile=\"\" calcMode=\"\" clipPathUnits=\"\" diffuseConstant=\"\" edgeMode=\"\" filterUnits=\"\" glyphRef=\"\" gradientTransform=\"\" gradientUnits=\"\" kernelMatrix=\"\" kernelUnitLength=\"\" keyPoints=\"\" keySplines=\"\" keyTimes=\"\" lengthAdjust=\"\" limitingConeAngle=\"\" markerHeight=\"\" markerUnits=\"\" markerWidth=\"\" maskContentUnits=\"\" maskUnits=\"\" numOctaves=\"\" pathLength=\"\" patternContentUnits=\"\" patternTransform=\"\" patternUnits=\"\" pointsAtX=\"\" pointsAtY=\"\" pointsAtZ=\"\" preserveAlpha=\"\" preserveAspectRatio=\"\" primitiveUnits=\"\" refX=\"\" refY=\"\" repeatCount=\"\" repeatDur=\"\" requiredExtensions=\"\" requiredFeatures=\"\" specularConstant=\"\" specularExponent=\"\" spreadMethod=\"\" startOffset=\"\" stdDeviation=\"\" stitchTiles=\"\" surfaceScale=\"\" systemLanguage=\"\" tableValues=\"\" targetX=\"\" targetY=\"\" textLength=\"\" viewBox=\"\" viewTarget=\"\" xChannelSelector=\"\" yChannelSelector=\"\" zoomAndPan=\"\"></svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><BODY><SVG ATTRIBUTENAME='' ATTRIBUTETYPE='' BASEFREQUENCY='' BASEPROFILE='' CALCMODE='' CLIPPATHUNITS='' DIFFUSECONSTANT='' EDGEMODE='' FILTERUNITS='' GLYPHREF='' GRADIENTTRANSFORM='' GRADIENTUNITS='' KERNELMATRIX='' KERNELUNITLENGTH='' KEYPOINTS='' KEYSPLINES='' KEYTIMES='' LENGTHADJUST='' LIMITINGCONEANGLE='' MARKERHEIGHT='' MARKERUNITS='' MARKERWIDTH='' MASKCONTENTUNITS='' MASKUNITS='' NUMOCTAVES='' PATHLENGTH='' PATTERNCONTENTUNITS='' PATTERNTRANSFORM='' PATTERNUNITS='' POINTSATX='' POINTSATY='' POINTSATZ='' PRESERVEALPHA='' PRESERVEASPECTRATIO='' PRIMITIVEUNITS='' REFX='' REFY='' REPEATCOUNT='' REPEATDUR='' REQUIREDEXTENSIONS='' REQUIREDFEATURES='' SPECULARCONSTANT='' SPECULAREXPONENT='' SPREADMETHOD='' STARTOFFSET='' STDDEVIATION='' STITCHTILES='' SURFACESCALE='' SYSTEMLANGUAGE='' TABLEVALUES='' TARGETX='' TARGETY='' TEXTLENGTH='' VIEWBOX='' VIEWTARGET='' XCHANNELSELECTOR='' YCHANNELSELECTOR='' ZOOMANDPAN=''></SVG>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "attrs": [
                      {
                        "name": "attributeName",
                        "value": ""
                      },
                      {
                        "name": "attributeType",
                        "value": ""
                      },
                      {
                        "name": "baseFrequency",
                        "value": ""
                      },
                      {
                        "name": "baseProfile",
                        "value": ""
                      },
                      {
                        "name": "calcMode",
                        "value": ""
                      },
                      {
                        "name": "clipPathUnits",
                        "value": ""
                      },
                      {
                        "name": "diffuseConstant",
                        "value": ""
                      },
                      {
                        "name": "edgeMode",
                        "value": ""
                      },
                      {
                        "name": "filterUnits",
                        "value": ""
                      },
                      {
                        "name": "glyphRef",
                        "value": ""
                      },
                      {
                        "name": "gradientTransform",
                        "value": ""
                      },
                      {
                        "name": "gradientUnits",
                        "value": ""
                      },
                      {
                        "name": "kernelMatrix",
                        "value": ""
                      },
                      {
                        "name": "kernelUnitLength",
                        "value": ""
                      },
                      {
                        "name": "keyPoints",
                        "value": ""
                      },
                      {
                        "name": "keySplines",
                        "value": ""
                      },
                      {
                        "name": "keyTimes",
                        "value": ""
                      },
                      {
                        "name": "lengthAdjust",
                        "value": ""
                      },
                      {
                        "name": "limitingConeAngle",
                        "value": ""
                      },
                      {
                        "name": "markerHeight",
                        "value": ""
                      },
                      {
                        "name": "markerUnits",
                        "value": ""
                      },
                      {
                        "name": "markerWidth",
                        "value": ""
                      },
                      {
                        "name": "maskContentUnits",
                        "value": ""
                      },
                      {
                        "name": "maskUnits",
                        "value": ""
                      },
                      {
                        "name": "numOctaves",
                        "value": ""
                      },
                      {
                        "name": "pathLength",
                        "value": ""
                      },
                      {
                        "name": "patternContentUnits",
                        "value": ""
                      },
                      {
                        "name": "patternTransform",
                        "value": ""
                      },
                      {
                        "name": "patternUnits",
                        "value": ""
                      },
                      {
                        "name": "pointsAtX",
                        "value": ""
                      },
                      {
                        "name": "pointsAtY",
                        "value": ""
                      },
                      {
                        "name": "pointsAtZ",
                        "value": ""
                      },
                      {
                        "name": "preserveAlpha",
                        "value": ""
                      },
                      {
                        "name": "preserveAspectRatio",
                        "value": ""
                      },
                      {
                        "name": "primitiveUnits",
                        "value": ""
                      },
                      {
                        "name": "refX",
                        "value": ""
                      },
                      {
                        "name": "refY",
                        "value": ""
                      },
                      {
                        "name": "repeatCount",
                        "value": ""
                      },
                      {
                        "name": "repeatDur",
                        "value": ""
                      },
                      {
                        "name": "requiredExtensions",
                        "value": ""
                      },
                      {
                        "name": "requiredFeatures",
                        "value": ""
                      },
                      {
                        "name": "specularConstant",
                        "value": ""
                      },
                      {
                        "name": "specularExponent",
                        "value": ""
                      },
                      {
                        "name": "spreadMethod",
                        "value": ""
                      },
                      {
                        "name": "startOffset",
                        "value": ""
                      },
                      {
                        "name": "stdDeviation",
                        "value": ""
                      },
                      {
                        "name": "stitchTiles",
                        "value": ""
                      },
                      {
                        "name": "surfaceScale",
                        "value": ""
                      },
                      {
                        "name": "systemLanguage",
                        "value": ""
                      },
                      {
                        "name": "tableValues",
                        "value": ""
                      },
                      {
                        "name": "targetX",
                        "value": ""
                      },
                      {
                        "name": "targetY",
                        "value": ""
                      },
                      {
                        "name": "textLength",
                        "value": ""
                      },
                      {
                        "name": "viewBox",
                        "value": ""
                      },
                      {
                        "name": "viewTarget",
                        "value": ""
                      },
                      {
                        "name": "xChannelSelector",
                        "value": ""
                      },
                      {
                        "name": "yChannelSelector",
                        "value": ""
                      },
                      {
                        "name": "zoomAndPan",
                        "value": ""
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg attributeName=\"\" attributeType=\"\" baseFrequency=\"\" baseProfile=\"\" calcMode=\"\" clipPathUnits=\"\" diffuseConstant=\"\" edgeMode=\"\" filterUnits=\"\" glyphRef=\"\" gradientTransform=\"\" gradientUnits=\"\" kernelMatrix=\"\" kernelUnitLength=\"\" keyPoints=\"\" keySplines=\"\" keyTimes=\"\" lengthAdjust=\"\" limitingConeAngle=\"\" markerHeight=\"\" markerUnits=\"\" markerWidth=\"\" maskContentUnits=\"\" maskUnits=\"\" numOctaves=\"\" pathLength=\"\" patternContentUnits=\"\" patternTransform=\"\" patternUnits=\"\" pointsAtX=\"\" pointsAtY=\"\" pointsAtZ=\"\" preserveAlpha=\"\" preserveAspectRatio=\"\" primitiveUnits=\"\" refX=\"\" refY=\"\" repeatCount=\"\" repeatDur=\"\" requiredExtensions=\"\" requiredFeatures=\"\" specularConstant=\"\" specularExponent=\"\" spreadMethod=\"\" startOffset=\"\" stdDeviation=\"\" stitchTiles=\"\" surfaceScale=\"\" systemLanguage=\"\" tableValues=\"\" targetX=\"\" targetY=\"\" textLength=\"\" viewBox=\"\" viewTarget=\"\" xChannelSelector=\"\" yChannelSelector=\"\" zoomAndPan=\"\"></svg></body></html>",
        "noQuirksBodyHtml": "<svg attributeName=\"\" attributeType=\"\" baseFrequency=\"\" baseProfile=\"\" calcMode=\"\" clipPathUnits=\"\" diffuseConstant=\"\" edgeMode=\"\" filterUnits=\"\" glyphRef=\"\" gradientTransform=\"\" gradientUnits=\"\" kernelMatrix=\"\" kernelUnitLength=\"\" keyPoints=\"\" keySplines=\"\" keyTimes=\"\" lengthAdjust=\"\" limitingConeAngle=\"\" markerHeight=\"\" markerUnits=\"\" markerWidth=\"\" maskContentUnits=\"\" maskUnits=\"\" numOctaves=\"\" pathLength=\"\" patternContentUnits=\"\" patternTransform=\"\" patternUnits=\"\" pointsAtX=\"\" pointsAtY=\"\" pointsAtZ=\"\" preserveAlpha=\"\" preserveAspectRatio=\"\" primitiveUnits=\"\" refX=\"\" refY=\"\" repeatCount=\"\" repeatDur=\"\" requiredExtensions=\"\" requiredFeatures=\"\" specularConstant=\"\" specularExponent=\"\" spreadMethod=\"\" startOffset=\"\" stdDeviation=\"\" stitchTiles=\"\" surfaceScale=\"\" systemLanguage=\"\" tableValues=\"\" targetX=\"\" targetY=\"\" textLength=\"\" viewBox=\"\" viewTarget=\"\" xChannelSelector=\"\" yChannelSelector=\"\" zoomAndPan=\"\"></svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><svg attributename='' attributetype='' basefrequency='' baseprofile='' calcmode='' clippathunits='' diffuseconstant='' edgemode='' filterunits='' filterres='' glyphref='' gradienttransform='' gradientunits='' kernelmatrix='' kernelunitlength='' keypoints='' keysplines='' keytimes='' lengthadjust='' limitingconeangle='' markerheight='' markerunits='' markerwidth='' maskcontentunits='' maskunits='' numoctaves='' pathlength='' patterncontentunits='' patterntransform='' patternunits='' pointsatx='' pointsaty='' pointsatz='' preservealpha='' preserveaspectratio='' primitiveunits='' refx='' refy='' repeatcount='' repeatdur='' requiredextensions='' requiredfeatures='' specularconstant='' specularexponent='' spreadmethod='' startoffset='' stddeviation='' stitchtiles='' surfacescale='' systemlanguage='' tablevalues='' targetx='' targety='' textlength='' viewbox='' viewtarget='' xchannelselector='' ychannelselector='' zoomandpan=''></svg>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "attrs": [
                      {
                        "name": "attributeName",
                        "value": ""
                      },
                      {
                        "name": "attributeType",
                        "value": ""
                      },
                      {
                        "name": "baseFrequency",
                        "value": ""
                      },
                      {
                        "name": "baseProfile",
                        "value": ""
                      },
                      {
                        "name": "calcMode",
                        "value": ""
                      },
                      {
                        "name": "clipPathUnits",
                        "value": ""
                      },
                      {
                        "name": "diffuseConstant",
                        "value": ""
                      },
                      {
                        "name": "edgeMode",
                        "value": ""
                      },
                      {
                        "name": "filterUnits",
                        "value": ""
                      },
                      {
                        "name": "filterres",
                        "value": ""
                      },
                      {
                        "name": "glyphRef",
                        "value": ""
                      },
                      {
                        "name": "gradientTransform",
                        "value": ""
                      },
                      {
                        "name": "gradientUnits",
                        "value": ""
                      },
                      {
                        "name": "kernelMatrix",
                        "value": ""
                      },
                      {
                        "name": "kernelUnitLength",
                        "value": ""
                      },
                      {
                        "name": "keyPoints",
                        "value": ""
                      },
                      {
                        "name": "keySplines",
                        "value": ""
                      },
                      {
                        "name": "keyTimes",
                        "value": ""
                      },
                      {
                        "name": "lengthAdjust",
                        "value": ""
                      },
                      {
                        "name": "limitingConeAngle",
                        "value": ""
                      },
                      {
                        "name": "markerHeight",
                        "value": ""
                      },
                      {
                        "name": "markerUnits",
                        "value": ""
                      },
                      {
                        "name": "markerWidth",
                        "value": ""
                      },
                      {
                        "name": "maskContentUnits",
                        "value": ""
                      },
                      {
                        "name": "maskUnits",
                        "value": ""
                      },
                      {
                        "name": "numOctaves",
                        "value": ""
                      },
                      {
                        "name": "pathLength",
                        "value": ""
                      },
                      {
                        "name": "patternContentUnits",
                        "value": ""
                      },
                      {
                        "name": "patternTransform",
                        "value": ""
                      },
                      {
                        "name": "patternUnits",
                        "value": ""
                      },
                      {
                        "name": "pointsAtX",
                        "value": ""
                      },
                      {
                        "name": "pointsAtY",
                        "value": ""
                      },
                      {
                        "name": "pointsAtZ",
                        "value": ""
                      },
                      {
                        "name": "preserveAlpha",
                        "value": ""
                      },
                      {
                        "name": "preserveAspectRatio",
                        "value": ""
                      },
                      {
                        "name": "primitiveUnits",
                        "value": ""
                      },
                      {
                        "name": "refX",
                        "value": ""
                      },
                      {
                        "name": "refY",
                        "value": ""
                      },
                      {
                        "name": "repeatCount",
                        "value": ""
                      },
                      {
                        "name": "repeatDur",
                        "value": ""
                      },
                      {
                        "name": "requiredExtensions",
                        "value": ""
                      },
                      {
                        "name": "requiredFeatures",
                        "value": ""
                      },
                      {
                        "name": "specularConstant",
                        "value": ""
                      },
                      {
                        "name": "specularExponent",
                        "value": ""
                      },
                      {
                        "name": "spreadMethod",
                        "value": ""
                      },
                      {
                        "name": "startOffset",
                        "value": ""
                      },
                      {
                        "name": "stdDeviation",
                        "value": ""
                      },
                      {
                        "name": "stitchTiles",
                        "value": ""
                      },
                      {
                        "name": "surfaceScale",
                        "value": ""
                      },
                      {
                        "name": "systemLanguage",
                        "value": ""
                      },
                      {
                        "name": "tableValues",
                        "value": ""
                      },
                      {
                        "name": "targetX",
                        "value": ""
                      },
                      {
                        "name": "targetY",
                        "value": ""
                      },
                      {
                        "name": "textLength",
                        "value": ""
                      },
                      {
                        "name": "viewBox",
                        "value": ""
                      },
                      {
                        "name": "viewTarget",
                        "value": ""
                      },
                      {
                        "name": "xChannelSelector",
                        "value": ""
                      },
                      {
                        "name": "yChannelSelector",
                        "value": ""
                      },
                      {
                        "name": "zoomAndPan",
                        "value": ""
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg attributeName=\"\" attributeType=\"\" baseFrequency=\"\" baseProfile=\"\" calcMode=\"\" clipPathUnits=\"\" diffuseConstant=\"\" edgeMode=\"\" filterUnits=\"\" filterres=\"\" glyphRef=\"\" gradientTransform=\"\" gradientUnits=\"\" kernelMatrix=\"\" kernelUnitLength=\"\" keyPoints=\"\" keySplines=\"\" keyTimes=\"\" lengthAdjust=\"\" limitingConeAngle=\"\" markerHeight=\"\" markerUnits=\"\" markerWidth=\"\" maskContentUnits=\"\" maskUnits=\"\" numOctaves=\"\" pathLength=\"\" patternContentUnits=\"\" patternTransform=\"\" patternUnits=\"\" pointsAtX=\"\" pointsAtY=\"\" pointsAtZ=\"\" preserveAlpha=\"\" preserveAspectRatio=\"\" primitiveUnits=\"\" refX=\"\" refY=\"\" repeatCount=\"\" repeatDur=\"\" requiredExtensions=\"\" requiredFeatures=\"\" specularConstant=\"\" specularExponent=\"\" spreadMethod=\"\" startOffset=\"\" stdDeviation=\"\" stitchTiles=\"\" surfaceScale=\"\" systemLanguage=\"\" tableValues=\"\" targetX=\"\" targetY=\"\" textLength=\"\" viewBox=\"\" viewTarget=\"\" xChannelSelector=\"\" yChannelSelector=\"\" zoomAndPan=\"\"></svg></body></html>",
        "noQuirksBodyHtml": "<svg attributeName=\"\" attributeType=\"\" baseFrequency=\"\" baseProfile=\"\" calcMode=\"\" clipPathUnits=\"\" diffuseConstant=\"\" edgeMode=\"\" filterUnits=\"\" filterres=\"\" glyphRef=\"\" gradientTransform=\"\" gradientUnits=\"\" kernelMatrix=\"\" kernelUnitLength=\"\" keyPoints=\"\" keySplines=\"\" keyTimes=\"\" lengthAdjust=\"\" limitingConeAngle=\"\" markerHeight=\"\" markerUnits=\"\" markerWidth=\"\" maskContentUnits=\"\" maskUnits=\"\" numOctaves=\"\" pathLength=\"\" patternContentUnits=\"\" patternTransform=\"\" patternUnits=\"\" pointsAtX=\"\" pointsAtY=\"\" pointsAtZ=\"\" preserveAlpha=\"\" preserveAspectRatio=\"\" primitiveUnits=\"\" refX=\"\" refY=\"\" repeatCount=\"\" repeatDur=\"\" requiredExtensions=\"\" requiredFeatures=\"\" specularConstant=\"\" specularExponent=\"\" spreadMethod=\"\" startOffset=\"\" stdDeviation=\"\" stitchTiles=\"\" surfaceScale=\"\" systemLanguage=\"\" tableValues=\"\" targetX=\"\" targetY=\"\" textLength=\"\" viewBox=\"\" viewTarget=\"\" xChannelSelector=\"\" yChannelSelector=\"\" zoomAndPan=\"\"></svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><math attributeName='' attributeType='' baseFrequency='' baseProfile='' calcMode='' clipPathUnits='' diffuseConstant='' edgeMode='' filterUnits='' glyphRef='' gradientTransform='' gradientUnits='' kernelMatrix='' kernelUnitLength='' keyPoints='' keySplines='' keyTimes='' lengthAdjust='' limitingConeAngle='' markerHeight='' markerUnits='' markerWidth='' maskContentUnits='' maskUnits='' numOctaves='' pathLength='' patternContentUnits='' patternTransform='' patternUnits='' pointsAtX='' pointsAtY='' pointsAtZ='' preserveAlpha='' preserveAspectRatio='' primitiveUnits='' refX='' refY='' repeatCount='' repeatDur='' requiredExtensions='' requiredFeatures='' specularConstant='' specularExponent='' spreadMethod='' startOffset='' stdDeviation='' stitchTiles='' surfaceScale='' systemLanguage='' tableValues='' targetX='' targetY='' textLength='' viewBox='' viewTarget='' xChannelSelector='' yChannelSelector='' zoomAndPan=''></math>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "attrs": [
                      {
                        "name": "attributename",
                        "value": ""
                      },
                      {
                        "name": "attributetype",
                        "value": ""
                      },
                      {
                        "name": "basefrequency",
                        "value": ""
                      },
                      {
                        "name": "baseprofile",
                        "value": ""
                      },
                      {
                        "name": "calcmode",
                        "value": ""
                      },
                      {
                        "name": "clippathunits",
                        "value": ""
                      },
                      {
                        "name": "diffuseconstant",
                        "value": ""
                      },
                      {
                        "name": "edgemode",
                        "value": ""
                      },
                      {
                        "name": "filterunits",
                        "value": ""
                      },
                      {
                        "name": "glyphref",
                        "value": ""
                      },
                      {
                        "name": "gradienttransform",
                        "value": ""
                      },
                      {
                        "name": "gradientunits",
                        "value": ""
                      },
                      {
                        "name": "kernelmatrix",
                        "value": ""
                      },
                      {
                        "name": "kernelunitlength",
                        "value": ""
                      },
                      {
                        "name": "keypoints",
                        "value": ""
                      },
                      {
                        "name": "keysplines",
                        "value": ""
                      },
                      {
                        "name": "keytimes",
                        "value": ""
                      },
                      {
                        "name": "lengthadjust",
                        "value": ""
                      },
                      {
                        "name": "limitingconeangle",
                        "value": ""
                      },
                      {
                        "name": "markerheight",
                        "value": ""
                      },
                      {
                        "name": "markerunits",
                        "value": ""
                      },
                      {
                        "name": "markerwidth",
                        "value": ""
                      },
                      {
                        "name": "maskcontentunits",
                        "value": ""
                      },
                      {
                        "name": "maskunits",
                        "value": ""
                      },
                      {
                        "name": "numoctaves",
                        "value": ""
                      },
                      {
                        "name": "pathlength",
                        "value": ""
                      },
                      {
                        "name": "patterncontentunits",
                        "value": ""
                      },
                      {
                        "name": "patterntransform",
                        "value": ""
                      },
                      {
                        "name": "patternunits",
                        "value": ""
                      },
                      {
                        "name": "pointsatx",
                        "value": ""
                      },
                      {
                        "name": "pointsaty",
                        "value": ""
                      },
                      {
                        "name": "pointsatz",
                        "value": ""
                      },
                      {
                        "name": "preservealpha",
                        "value": ""
                      },
                      {
                        "name": "preserveaspectratio",
                        "value": ""
                      },
                      {
                        "name": "primitiveunits",
                        "value": ""
                      },
                      {
                        "name": "refx",
                        "value": ""
                      },
                      {
                        "name": "refy",
                        "value": ""
                      },
                      {
                        "name": "repeatcount",
                        "value": ""
                      },
                      {
                        "name": "repeatdur",
                        "value": ""
                      },
                      {
                        "name": "requiredextensions",
                        "value": ""
                      },
                      {
                        "name": "requiredfeatures",
                        "value": ""
                      },
                      {
                        "name": "specularconstant",
                        "value": ""
                      },
                      {
                        "name": "specularexponent",
                        "value": ""
                      },
                      {
                        "name": "spreadmethod",
                        "value": ""
                      },
                      {
                        "name": "startoffset",
                        "value": ""
                      },
                      {
                        "name": "stddeviation",
                        "value": ""
                      },
                      {
                        "name": "stitchtiles",
                        "value": ""
                      },
                      {
                        "name": "surfacescale",
                        "value": ""
                      },
                      {
                        "name": "systemlanguage",
                        "value": ""
                      },
                      {
                        "name": "tablevalues",
                        "value": ""
                      },
                      {
                        "name": "targetx",
                        "value": ""
                      },
                      {
                        "name": "targety",
                        "value": ""
                      },
                      {
                        "name": "textlength",
                        "value": ""
                      },
                      {
                        "name": "viewbox",
                        "value": ""
                      },
                      {
                        "name": "viewtarget",
                        "value": ""
                      },
                      {
                        "name": "xchannelselector",
                        "value": ""
                      },
                      {
                        "name": "ychannelselector",
                        "value": ""
                      },
                      {
                        "name": "zoomandpan",
                        "value": ""
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><math attributename=\"\" attributetype=\"\" basefrequency=\"\" baseprofile=\"\" calcmode=\"\" clippathunits=\"\" diffuseconstant=\"\" edgemode=\"\" filterunits=\"\" glyphref=\"\" gradienttransform=\"\" gradientunits=\"\" kernelmatrix=\"\" kernelunitlength=\"\" keypoints=\"\" keysplines=\"\" keytimes=\"\" lengthadjust=\"\" limitingconeangle=\"\" markerheight=\"\" markerunits=\"\" markerwidth=\"\" maskcontentunits=\"\" maskunits=\"\" numoctaves=\"\" pathlength=\"\" patterncontentunits=\"\" patterntransform=\"\" patternunits=\"\" pointsatx=\"\" pointsaty=\"\" pointsatz=\"\" preservealpha=\"\" preserveaspectratio=\"\" primitiveunits=\"\" refx=\"\" refy=\"\" repeatcount=\"\" repeatdur=\"\" requiredextensions=\"\" requiredfeatures=\"\" specularconstant=\"\" specularexponent=\"\" spreadmethod=\"\" startoffset=\"\" stddeviation=\"\" stitchtiles=\"\" surfacescale=\"\" systemlanguage=\"\" tablevalues=\"\" targetx=\"\" targety=\"\" textlength=\"\" viewbox=\"\" viewtarget=\"\" xchannelselector=\"\" ychannelselector=\"\" zoomandpan=\"\"></math></body></html>",
        "noQuirksBodyHtml": "<math attributename=\"\" attributetype=\"\" basefrequency=\"\" baseprofile=\"\" calcmode=\"\" clippathunits=\"\" diffuseconstant=\"\" edgemode=\"\" filterunits=\"\" glyphref=\"\" gradienttransform=\"\" gradientunits=\"\" kernelmatrix=\"\" kernelunitlength=\"\" keypoints=\"\" keysplines=\"\" keytimes=\"\" lengthadjust=\"\" limitingconeangle=\"\" markerheight=\"\" markerunits=\"\" markerwidth=\"\" maskcontentunits=\"\" maskunits=\"\" numoctaves=\"\" pathlength=\"\" patterncontentunits=\"\" patterntransform=\"\" patternunits=\"\" pointsatx=\"\" pointsaty=\"\" pointsatz=\"\" preservealpha=\"\" preserveaspectratio=\"\" primitiveunits=\"\" refx=\"\" refy=\"\" repeatcount=\"\" repeatdur=\"\" requiredextensions=\"\" requiredfeatures=\"\" specularconstant=\"\" specularexponent=\"\" spreadmethod=\"\" startoffset=\"\" stddeviation=\"\" stitchtiles=\"\" surfacescale=\"\" systemlanguage=\"\" tablevalues=\"\" targetx=\"\" targety=\"\" textlength=\"\" viewbox=\"\" viewtarget=\"\" xchannelselector=\"\" ychannelselector=\"\" zoomandpan=\"\"></math>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><svg contentScriptType='' contentStyleType='' externalResourcesRequired='' filterRes=''></svg>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "attrs": [
                      {
                        "name": "contentscripttype",
                        "value": ""
                      },
                      {
                        "name": "contentstyletype",
                        "value": ""
                      },
                      {
                        "name": "externalresourcesrequired",
                        "value": ""
                      },
                      {
                        "name": "filterres",
                        "value": ""
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg contentscripttype=\"\" contentstyletype=\"\" externalresourcesrequired=\"\" filterres=\"\"></svg></body></html>",
        "noQuirksBodyHtml": "<svg contentScriptType=\"\" contentStyleType=\"\" externalResourcesRequired=\"\" filterres=\"\"></svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><svg CONTENTSCRIPTTYPE='' CONTENTSTYLETYPE='' EXTERNALRESOURCESREQUIRED='' FILTERRES=''></svg>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "attrs": [
                      {
                        "name": "contentscripttype",
                        "value": ""
                      },
                      {
                        "name": "contentstyletype",
                        "value": ""
                      },
                      {
                        "name": "externalresourcesrequired",
                        "value": ""
                      },
                      {
                        "name": "filterres",
                        "value": ""
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg contentscripttype=\"\" contentstyletype=\"\" externalresourcesrequired=\"\" filterres=\"\"></svg></body></html>",
        "noQuirksBodyHtml": "<svg contentScriptType=\"\" contentStyleType=\"\" externalResourcesRequired=\"\" filterres=\"\"></svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><svg contentscripttype='' contentstyletype='' externalresourcesrequired='' filterres=''></svg>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "attrs": [
                      {
                        "name": "contentscripttype",
                        "value": ""
                      },
                      {
                        "name": "contentstyletype",
                        "value": ""
                      },
                      {
                        "name": "externalresourcesrequired",
                        "value": ""
                      },
                      {
                        "name": "filterres",
                        "value": ""
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg contentscripttype=\"\" contentstyletype=\"\" externalresourcesrequired=\"\" filterres=\"\"></svg></body></html>",
        "noQuirksBodyHtml": "<svg contentScriptType=\"\" contentStyleType=\"\" externalResourcesRequired=\"\" filterres=\"\"></svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><math contentScriptType='' contentStyleType='' externalResourcesRequired='' filterRes=''></math>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "attrs": [
                      {
                        "name": "contentscripttype",
                        "value": ""
                      },
                      {
                        "name": "contentstyletype",
                        "value": ""
                      },
                      {
                        "name": "externalresourcesrequired",
                        "value": ""
                      },
                      {
                        "name": "filterres",
                        "value": ""
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><math contentscripttype=\"\" contentstyletype=\"\" externalresourcesrequired=\"\" filterres=\"\"></math></body></html>",
        "noQuirksBodyHtml": "<math contentscripttype=\"\" contentstyletype=\"\" externalresourcesrequired=\"\" filterres=\"\"></math>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><svg><altGlyph /><altGlyphDef /><altGlyphItem /><animateColor /><animateMotion /><animateTransform /><clipPath /><feBlend /><feColorMatrix /><feComponentTransfer /><feComposite /><feConvolveMatrix /><feDiffuseLighting /><feDisplacementMap /><feDistantLight /><feFlood /><feFuncA /><feFuncB /><feFuncG /><feFuncR /><feGaussianBlur /><feImage /><feMerge /><feMergeNode /><feMorphology /><feOffset /><fePointLight /><feSpecularLighting /><feSpotLight /><feTile /><feTurbulence /><foreignObject /><glyphRef /><linearGradient /><radialGradient /><textPath /></svg>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg altGlyph": true,
            "svg altGlyphDef": true,
            "svg altGlyphItem": true,
            "svg animateColor": true,
            "svg animateMotion": true,
            "svg animateTransform": true,
            "svg clipPath": true,
            "svg feBlend": true,
            "svg feColorMatrix": true,
            "svg feComponentTransfer": true,
            "svg feComposite": true,
            "svg feConvolveMatrix": true,
            "svg feDiffuseLighting": true,
            "svg feDisplacementMap": true,
            "svg feDistantLight": true,
            "svg feFlood": true,
            "svg feFuncA": true,
            "svg feFuncB": true,
            "svg feFuncG": true,
            "svg feFuncR": true,
            "svg feGaussianBlur": true,
            "svg feImage": true,
            "svg feMerge": true,
            "svg feMergeNode": true,
            "svg feMorphology": true,
            "svg feOffset": true,
            "svg fePointLight": true,
            "svg feSpecularLighting": true,
            "svg feSpotLight": true,
            "svg feTile": true,
            "svg feTurbulence": true,
            "svg foreignObject": true,
            "svg glyphRef": true,
            "svg linearGradient": true,
            "svg radialGradient": true,
            "svg textPath": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "altGlyph",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "altGlyphDef",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "altGlyphItem",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "animateColor",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "animateMotion",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "animateTransform",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "clipPath",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feBlend",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feColorMatrix",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feComponentTransfer",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feComposite",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feConvolveMatrix",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feDiffuseLighting",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feDisplacementMap",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feDistantLight",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feFlood",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feFuncA",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feFuncB",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feFuncG",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feFuncR",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feGaussianBlur",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feImage",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feMerge",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feMergeNode",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feMorphology",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feOffset",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "fePointLight",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feSpecularLighting",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feSpotLight",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feTile",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feTurbulence",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "foreignObject",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "glyphRef",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "linearGradient",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "radialGradient",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "textPath",
                        "ns": "http://www.w3.org/2000/svg"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg><altGlyph></altGlyph><altGlyphDef></altGlyphDef><altGlyphItem></altGlyphItem><animateColor></animateColor><animateMotion></animateMotion><animateTransform></animateTransform><clipPath></clipPath><feBlend></feBlend><feColorMatrix></feColorMatrix><feComponentTransfer></feComponentTransfer><feComposite></feComposite><feConvolveMatrix></feConvolveMatrix><feDiffuseLighting></feDiffuseLighting><feDisplacementMap></feDisplacementMap><feDistantLight></feDistantLight><feFlood></feFlood><feFuncA></feFuncA><feFuncB></feFuncB><feFuncG></feFuncG><feFuncR></feFuncR><feGaussianBlur></feGaussianBlur><feImage></feImage><feMerge></feMerge><feMergeNode></feMergeNode><feMorphology></feMorphology><feOffset></feOffset><fePointLight></fePointLight><feSpecularLighting></feSpecularLighting><feSpotLight></feSpotLight><feTile></feTile><feTurbulence></feTurbulence><foreignObject></foreignObject><glyphRef></glyphRef><linearGradient></linearGradient><radialGradient></radialGradient><textPath></textPath></svg></body></html>",
        "noQuirksBodyHtml": "<svg><altGlyph></altGlyph><altGlyphDef></altGlyphDef><altGlyphItem></altGlyphItem><animateColor></animateColor><animateMotion></animateMotion><animateTransform></animateTransform><clipPath></clipPath><feBlend></feBlend><feColorMatrix></feColorMatrix><feComponentTransfer></feComponentTransfer><feComposite></feComposite><feConvolveMatrix></feConvolveMatrix><feDiffuseLighting></feDiffuseLighting><feDisplacementMap></feDisplacementMap><feDistantLight></feDistantLight><feFlood></feFlood><feFuncA></feFuncA><feFuncB></feFuncB><feFuncG></feFuncG><feFuncR></feFuncR><feGaussianBlur></feGaussianBlur><feImage></feImage><feMerge></feMerge><feMergeNode></feMergeNode><feMorphology></feMorphology><feOffset></feOffset><fePointLight></fePointLight><feSpecularLighting></feSpecularLighting><feSpotLight></feSpotLight><feTile></feTile><feTurbulence></feTurbulence><foreignObject></foreignObject><glyphRef></glyphRef><linearGradient></linearGradient><radialGradient></radialGradient><textPath></textPath></svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><svg><altglyph /><altglyphdef /><altglyphitem /><animatecolor /><animatemotion /><animatetransform /><clippath /><feblend /><fecolormatrix /><fecomponenttransfer /><fecomposite /><feconvolvematrix /><fediffuselighting /><fedisplacementmap /><fedistantlight /><feflood /><fefunca /><fefuncb /><fefuncg /><fefuncr /><fegaussianblur /><feimage /><femerge /><femergenode /><femorphology /><feoffset /><fepointlight /><fespecularlighting /><fespotlight /><fetile /><feturbulence /><foreignobject /><glyphref /><lineargradient /><radialgradient /><textpath /></svg>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg altGlyph": true,
            "svg altGlyphDef": true,
            "svg altGlyphItem": true,
            "svg animateColor": true,
            "svg animateMotion": true,
            "svg animateTransform": true,
            "svg clipPath": true,
            "svg feBlend": true,
            "svg feColorMatrix": true,
            "svg feComponentTransfer": true,
            "svg feComposite": true,
            "svg feConvolveMatrix": true,
            "svg feDiffuseLighting": true,
            "svg feDisplacementMap": true,
            "svg feDistantLight": true,
            "svg feFlood": true,
            "svg feFuncA": true,
            "svg feFuncB": true,
            "svg feFuncG": true,
            "svg feFuncR": true,
            "svg feGaussianBlur": true,
            "svg feImage": true,
            "svg feMerge": true,
            "svg feMergeNode": true,
            "svg feMorphology": true,
            "svg feOffset": true,
            "svg fePointLight": true,
            "svg feSpecularLighting": true,
            "svg feSpotLight": true,
            "svg feTile": true,
            "svg feTurbulence": true,
            "svg foreignObject": true,
            "svg glyphRef": true,
            "svg linearGradient": true,
            "svg radialGradient": true,
            "svg textPath": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "altGlyph",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "altGlyphDef",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "altGlyphItem",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "animateColor",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "animateMotion",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "animateTransform",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "clipPath",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feBlend",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feColorMatrix",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feComponentTransfer",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feComposite",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feConvolveMatrix",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feDiffuseLighting",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feDisplacementMap",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feDistantLight",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feFlood",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feFuncA",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feFuncB",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feFuncG",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feFuncR",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feGaussianBlur",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feImage",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feMerge",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feMergeNode",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feMorphology",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feOffset",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "fePointLight",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feSpecularLighting",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feSpotLight",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feTile",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feTurbulence",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "foreignObject",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "glyphRef",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "linearGradient",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "radialGradient",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "textPath",
                        "ns": "http://www.w3.org/2000/svg"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg><altGlyph></altGlyph><altGlyphDef></altGlyphDef><altGlyphItem></altGlyphItem><animateColor></animateColor><animateMotion></animateMotion><animateTransform></animateTransform><clipPath></clipPath><feBlend></feBlend><feColorMatrix></feColorMatrix><feComponentTransfer></feComponentTransfer><feComposite></feComposite><feConvolveMatrix></feConvolveMatrix><feDiffuseLighting></feDiffuseLighting><feDisplacementMap></feDisplacementMap><feDistantLight></feDistantLight><feFlood></feFlood><feFuncA></feFuncA><feFuncB></feFuncB><feFuncG></feFuncG><feFuncR></feFuncR><feGaussianBlur></feGaussianBlur><feImage></feImage><feMerge></feMerge><feMergeNode></feMergeNode><feMorphology></feMorphology><feOffset></feOffset><fePointLight></fePointLight><feSpecularLighting></feSpecularLighting><feSpotLight></feSpotLight><feTile></feTile><feTurbulence></feTurbulence><foreignObject></foreignObject><glyphRef></glyphRef><linearGradient></linearGradient><radialGradient></radialGradient><textPath></textPath></svg></body></html>",
        "noQuirksBodyHtml": "<svg><altGlyph></altGlyph><altGlyphDef></altGlyphDef><altGlyphItem></altGlyphItem><animateColor></animateColor><animateMotion></animateMotion><animateTransform></animateTransform><clipPath></clipPath><feBlend></feBlend><feColorMatrix></feColorMatrix><feComponentTransfer></feComponentTransfer><feComposite></feComposite><feConvolveMatrix></feConvolveMatrix><feDiffuseLighting></feDiffuseLighting><feDisplacementMap></feDisplacementMap><feDistantLight></feDistantLight><feFlood></feFlood><feFuncA></feFuncA><feFuncB></feFuncB><feFuncG></feFuncG><feFuncR></feFuncR><feGaussianBlur></feGaussianBlur><feImage></feImage><feMerge></feMerge><feMergeNode></feMergeNode><feMorphology></feMorphology><feOffset></feOffset><fePointLight></fePointLight><feSpecularLighting></feSpecularLighting><feSpotLight></feSpotLight><feTile></feTile><feTurbulence></feTurbulence><foreignObject></foreignObject><glyphRef></glyphRef><linearGradient></linearGradient><radialGradient></radialGradient><textPath></textPath></svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><BODY><SVG><ALTGLYPH /><ALTGLYPHDEF /><ALTGLYPHITEM /><ANIMATECOLOR /><ANIMATEMOTION /><ANIMATETRANSFORM /><CLIPPATH /><FEBLEND /><FECOLORMATRIX /><FECOMPONENTTRANSFER /><FECOMPOSITE /><FECONVOLVEMATRIX /><FEDIFFUSELIGHTING /><FEDISPLACEMENTMAP /><FEDISTANTLIGHT /><FEFLOOD /><FEFUNCA /><FEFUNCB /><FEFUNCG /><FEFUNCR /><FEGAUSSIANBLUR /><FEIMAGE /><FEMERGE /><FEMERGENODE /><FEMORPHOLOGY /><FEOFFSET /><FEPOINTLIGHT /><FESPECULARLIGHTING /><FESPOTLIGHT /><FETILE /><FETURBULENCE /><FOREIGNOBJECT /><GLYPHREF /><LINEARGRADIENT /><RADIALGRADIENT /><TEXTPATH /></SVG>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg altGlyph": true,
            "svg altGlyphDef": true,
            "svg altGlyphItem": true,
            "svg animateColor": true,
            "svg animateMotion": true,
            "svg animateTransform": true,
            "svg clipPath": true,
            "svg feBlend": true,
            "svg feColorMatrix": true,
            "svg feComponentTransfer": true,
            "svg feComposite": true,
            "svg feConvolveMatrix": true,
            "svg feDiffuseLighting": true,
            "svg feDisplacementMap": true,
            "svg feDistantLight": true,
            "svg feFlood": true,
            "svg feFuncA": true,
            "svg feFuncB": true,
            "svg feFuncG": true,
            "svg feFuncR": true,
            "svg feGaussianBlur": true,
            "svg feImage": true,
            "svg feMerge": true,
            "svg feMergeNode": true,
            "svg feMorphology": true,
            "svg feOffset": true,
            "svg fePointLight": true,
            "svg feSpecularLighting": true,
            "svg feSpotLight": true,
            "svg feTile": true,
            "svg feTurbulence": true,
            "svg foreignObject": true,
            "svg glyphRef": true,
            "svg linearGradient": true,
            "svg radialGradient": true,
            "svg textPath": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "altGlyph",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "altGlyphDef",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "altGlyphItem",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "animateColor",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "animateMotion",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "animateTransform",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "clipPath",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feBlend",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feColorMatrix",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feComponentTransfer",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feComposite",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feConvolveMatrix",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feDiffuseLighting",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feDisplacementMap",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feDistantLight",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feFlood",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feFuncA",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feFuncB",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feFuncG",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feFuncR",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feGaussianBlur",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feImage",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feMerge",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feMergeNode",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feMorphology",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feOffset",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "fePointLight",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feSpecularLighting",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feSpotLight",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feTile",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "feTurbulence",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "foreignObject",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "glyphRef",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "linearGradient",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "radialGradient",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "textPath",
                        "ns": "http://www.w3.org/2000/svg"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg><altGlyph></altGlyph><altGlyphDef></altGlyphDef><altGlyphItem></altGlyphItem><animateColor></animateColor><animateMotion></animateMotion><animateTransform></animateTransform><clipPath></clipPath><feBlend></feBlend><feColorMatrix></feColorMatrix><feComponentTransfer></feComponentTransfer><feComposite></feComposite><feConvolveMatrix></feConvolveMatrix><feDiffuseLighting></feDiffuseLighting><feDisplacementMap></feDisplacementMap><feDistantLight></feDistantLight><feFlood></feFlood><feFuncA></feFuncA><feFuncB></feFuncB><feFuncG></feFuncG><feFuncR></feFuncR><feGaussianBlur></feGaussianBlur><feImage></feImage><feMerge></feMerge><feMergeNode></feMergeNode><feMorphology></feMorphology><feOffset></feOffset><fePointLight></fePointLight><feSpecularLighting></feSpecularLighting><feSpotLight></feSpotLight><feTile></feTile><feTurbulence></feTurbulence><foreignObject></foreignObject><glyphRef></glyphRef><linearGradient></linearGradient><radialGradient></radialGradient><textPath></textPath></svg></body></html>",
        "noQuirksBodyHtml": "<svg><altGlyph></altGlyph><altGlyphDef></altGlyphDef><altGlyphItem></altGlyphItem><animateColor></animateColor><animateMotion></animateMotion><animateTransform></animateTransform><clipPath></clipPath><feBlend></feBlend><feColorMatrix></feColorMatrix><feComponentTransfer></feComponentTransfer><feComposite></feComposite><feConvolveMatrix></feConvolveMatrix><feDiffuseLighting></feDiffuseLighting><feDisplacementMap></feDisplacementMap><feDistantLight></feDistantLight><feFlood></feFlood><feFuncA></feFuncA><feFuncB></feFuncB><feFuncG></feFuncG><feFuncR></feFuncR><feGaussianBlur></feGaussianBlur><feImage></feImage><feMerge></feMerge><feMergeNode></feMergeNode><feMorphology></feMorphology><feOffset></feOffset><fePointLight></fePointLight><feSpecularLighting></feSpecularLighting><feSpotLight></feSpotLight><feTile></feTile><feTurbulence></feTurbulence><foreignObject></foreignObject><glyphRef></glyphRef><linearGradient></linearGradient><radialGradient></radialGradient><textPath></textPath></svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><math><altGlyph /><altGlyphDef /><altGlyphItem /><animateColor /><animateMotion /><animateTransform /><clipPath /><feBlend /><feColorMatrix /><feComponentTransfer /><feComposite /><feConvolveMatrix /><feDiffuseLighting /><feDisplacementMap /><feDistantLight /><feFlood /><feFuncA /><feFuncB /><feFuncG /><feFuncR /><feGaussianBlur /><feImage /><feMerge /><feMergeNode /><feMorphology /><feOffset /><fePointLight /><feSpecularLighting /><feSpotLight /><feTile /><feTurbulence /><foreignObject /><glyphRef /><linearGradient /><radialGradient /><textPath /></math>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math altglyph": true,
            "math altglyphdef": true,
            "math altglyphitem": true,
            "math animatecolor": true,
            "math animatemotion": true,
            "math animatetransform": true,
            "math clippath": true,
            "math feblend": true,
            "math fecolormatrix": true,
            "math fecomponenttransfer": true,
            "math fecomposite": true,
            "math feconvolvematrix": true,
            "math fediffuselighting": true,
            "math fedisplacementmap": true,
            "math fedistantlight": true,
            "math feflood": true,
            "math fefunca": true,
            "math fefuncb": true,
            "math fefuncg": true,
            "math fefuncr": true,
            "math fegaussianblur": true,
            "math feimage": true,
            "math femerge": true,
            "math femergenode": true,
            "math femorphology": true,
            "math feoffset": true,
            "math fepointlight": true,
            "math fespecularlighting": true,
            "math fespotlight": true,
            "math fetile": true,
            "math feturbulence": true,
            "math foreignobject": true,
            "math glyphref": true,
            "math lineargradient": true,
            "math radialgradient": true,
            "math textpath": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "altglyph",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "altglyphdef",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "altglyphitem",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "animatecolor",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "animatemotion",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "animatetransform",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "clippath",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "feblend",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "fecolormatrix",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "fecomponenttransfer",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "fecomposite",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "feconvolvematrix",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "fediffuselighting",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "fedisplacementmap",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "fedistantlight",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "feflood",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "fefunca",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "fefuncb",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "fefuncg",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "fefuncr",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "fegaussianblur",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "feimage",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "femerge",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "femergenode",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "femorphology",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "feoffset",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "fepointlight",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "fespecularlighting",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "fespotlight",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "fetile",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "feturbulence",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "foreignobject",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "glyphref",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "lineargradient",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "radialgradient",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      },
                      {
                        "tag": "textpath",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><math><altglyph></altglyph><altglyphdef></altglyphdef><altglyphitem></altglyphitem><animatecolor></animatecolor><animatemotion></animatemotion><animatetransform></animatetransform><clippath></clippath><feblend></feblend><fecolormatrix></fecolormatrix><fecomponenttransfer></fecomponenttransfer><fecomposite></fecomposite><feconvolvematrix></feconvolvematrix><fediffuselighting></fediffuselighting><fedisplacementmap></fedisplacementmap><fedistantlight></fedistantlight><feflood></feflood><fefunca></fefunca><fefuncb></fefuncb><fefuncg></fefuncg><fefuncr></fefuncr><fegaussianblur></fegaussianblur><feimage></feimage><femerge></femerge><femergenode></femergenode><femorphology></femorphology><feoffset></feoffset><fepointlight></fepointlight><fespecularlighting></fespecularlighting><fespotlight></fespotlight><fetile></fetile><feturbulence></feturbulence><foreignobject></foreignobject><glyphref></glyphref><lineargradient></lineargradient><radialgradient></radialgradient><textpath></textpath></math></body></html>",
        "noQuirksBodyHtml": "<math><altglyph></altglyph><altglyphdef></altglyphdef><altglyphitem></altglyphitem><animatecolor></animatecolor><animatemotion></animatemotion><animatetransform></animatetransform><clippath></clippath><feblend></feblend><fecolormatrix></fecolormatrix><fecomponenttransfer></fecomponenttransfer><fecomposite></fecomposite><feconvolvematrix></feconvolvematrix><fediffuselighting></fediffuselighting><fedisplacementmap></fedisplacementmap><fedistantlight></fedistantlight><feflood></feflood><fefunca></fefunca><fefuncb></fefuncb><fefuncg></fefuncg><fefuncr></fefuncr><fegaussianblur></fegaussianblur><feimage></feimage><femerge></femerge><femergenode></femergenode><femorphology></femorphology><feoffset></feoffset><fepointlight></fepointlight><fespecularlighting></fespecularlighting><fespotlight></fespotlight><fetile></fetile><feturbulence></feturbulence><foreignobject></foreignobject><glyphref></glyphref><lineargradient></lineargradient><radialgradient></radialgradient><textpath></textpath></math>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><svg><solidColor /></svg>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg solidcolor": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "solidcolor",
                        "ns": "http://www.w3.org/2000/svg"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg><solidcolor></solidcolor></svg></body></html>",
        "noQuirksBodyHtml": "<svg><solidcolor></solidcolor></svg>"
      }
    }
  ],
  "tests12.dat": [
    {
      "data": "<!DOCTYPE html><body><p>foo<math><mtext><i>baz</i></mtext><annotation-xml><svg><desc><b>eggs</b></desc><g><foreignObject><P>spam<TABLE><tr><td><img></td></table></foreignObject></g><g>quux</g></svg></annotation-xml></math>bar",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "math math": true,
            "math mtext": true,
            "i": true,
            "math annotation-xml": true,
            "svg svg": true,
            "svg desc": true,
            "b": true,
            "svg g": true,
            "svg foreignObject": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "img": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "foo"
                      },
                      {
                        "tag": "math",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "mtext",
                            "ns": "http://www.w3.org/1998/Math/MathML",
                            "children": [
                              {
                                "tag": "i",
                                "children": [
                                  {
                                    "text": "baz"
                                  }
                                ]
                              }
                            ]
                          },
                          {
                            "tag": "annotation-xml",
                            "ns": "http://www.w3.org/1998/Math/MathML",
                            "children": [
                              {
                                "tag": "svg",
                                "ns": "http://www.w3.org/2000/svg",
                                "children": [
                                  {
                                    "tag": "desc",
                                    "ns": "http://www.w3.org/2000/svg",
                                    "children": [
                                      {
                                        "tag": "b",
                                        "children": [
                                          {
                                            "text": "eggs"
                                          }
                                        ]
                                      }
                                    ]
                                  },
                                  {
                                    "tag": "g",
                                    "ns": "http://www.w3.org/2000/svg",
                                    "children": [
                                      {
                                        "tag": "foreignObject",
                                        "ns": "http://www.w3.org/2000/svg",
                                        "children": [
                                          {
                                            "tag": "p",
                                            "children": [
                                              {
                                                "text": "spam"
                                              }
                                            ]
                                          },
                                          {
                                            "tag": "table",
                                            "children": [
                                              {
                                                "tag": "tbody",
                                                "children": [
                                                  {
                                                    "tag": "tr",
                                                    "children": [
                                                      {
                                                        "tag": "td",
                                                        "children": [
                                                          {
                                                            "tag": "img"
                                                          }
                                                        ]
                                                      }
                                                    ]
                                                  }
                                                ]
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  },
                                  {
                                    "tag": "g",
                                    "ns": "http://www.w3.org/2000/svg",
                                    "children": [
                                      {
                                        "text": "quux"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "text": "bar"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p>foo<math><mtext><i>baz</i></mtext><annotation-xml><svg><desc><b>eggs</b></desc><g><foreignObject><p>spam</p><table><tbody><tr><td><img></td></tr></tbody></table></foreignObject></g><g>quux</g></svg></annotation-xml></math>bar</p></body></html>",
        "noQuirksBodyHtml": "<p>foo<math><mtext><i>baz</i></mtext><annotation-xml><svg><desc><b>eggs</b></desc><g><foreignObject><p>spam</p><table><tbody><tr><td><img></td></tr></tbody></table></foreignObject></g><g>quux</g></svg></annotation-xml></math>bar</p>"
      }
    },
    {
      "data": "<!DOCTYPE html><body>foo<math><mtext><i>baz</i></mtext><annotation-xml><svg><desc><b>eggs</b></desc><g><foreignObject><P>spam<TABLE><tr><td><img></td></table></foreignObject></g><g>quux</g></svg></annotation-xml></math>bar",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mtext": true,
            "i": true,
            "math annotation-xml": true,
            "svg svg": true,
            "svg desc": true,
            "b": true,
            "svg g": true,
            "svg foreignObject": true,
            "p": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "img": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "foo"
                  },
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mtext",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "i",
                            "children": [
                              {
                                "text": "baz"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "annotation-xml",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "svg",
                            "ns": "http://www.w3.org/2000/svg",
                            "children": [
                              {
                                "tag": "desc",
                                "ns": "http://www.w3.org/2000/svg",
                                "children": [
                                  {
                                    "tag": "b",
                                    "children": [
                                      {
                                        "text": "eggs"
                                      }
                                    ]
                                  }
                                ]
                              },
                              {
                                "tag": "g",
                                "ns": "http://www.w3.org/2000/svg",
                                "children": [
                                  {
                                    "tag": "foreignObject",
                                    "ns": "http://www.w3.org/2000/svg",
                                    "children": [
                                      {
                                        "tag": "p",
                                        "children": [
                                          {
                                            "text": "spam"
                                          }
                                        ]
                                      },
                                      {
                                        "tag": "table",
                                        "children": [
                                          {
                                            "tag": "tbody",
                                            "children": [
                                              {
                                                "tag": "tr",
                                                "children": [
                                                  {
                                                    "tag": "td",
                                                    "children": [
                                                      {
                                                        "tag": "img"
                                                      }
                                                    ]
                                                  }
                                                ]
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              },
                              {
                                "tag": "g",
                                "ns": "http://www.w3.org/2000/svg",
                                "children": [
                                  {
                                    "text": "quux"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "text": "bar"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>foo<math><mtext><i>baz</i></mtext><annotation-xml><svg><desc><b>eggs</b></desc><g><foreignObject><p>spam</p><table><tbody><tr><td><img></td></tr></tbody></table></foreignObject></g><g>quux</g></svg></annotation-xml></math>bar</body></html>",
        "noQuirksBodyHtml": "foo<math><mtext><i>baz</i></mtext><annotation-xml><svg><desc><b>eggs</b></desc><g><foreignObject><p>spam</p><table><tbody><tr><td><img></td></tr></tbody></table></foreignObject></g><g>quux</g></svg></annotation-xml></math>bar"
      }
    }
  ],
  "tests14.dat": [
    {
      "data": "<!DOCTYPE html><html><body><xyz:abc></xyz:abc>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "xyz:abc": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "xyz:abc"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><xyz:abc></xyz:abc></body></html>",
        "noQuirksBodyHtml": "<xyz:abc></xyz:abc>"
      }
    },
    {
      "data": "<!DOCTYPE html><html><body><xyz:abc></xyz:abc><span></span>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "xyz:abc": true,
            "span": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "xyz:abc"
                  },
                  {
                    "tag": "span"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><xyz:abc></xyz:abc><span></span></body></html>",
        "noQuirksBodyHtml": "<xyz:abc></xyz:abc><span></span>"
      }
    },
    {
      "data": "<!DOCTYPE html><html><html abc:def=gh><xyz:abc></xyz:abc>",
      "errors": [
        "(1,38): non-html-root"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "xyz:abc": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "attrs": [
              {
                "name": "abc:def",
                "value": "gh"
              }
            ],
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "xyz:abc"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html abc:def=\"gh\"><head></head><body><xyz:abc></xyz:abc></body></html>",
        "noQuirksBodyHtml": "<xyz:abc></xyz:abc>"
      }
    },
    {
      "data": "<!DOCTYPE html><html xml:lang=bar><html xml:lang=foo>",
      "errors": [
        "(1,53): non-html-root"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "attrs": [
              {
                "name": "xml:lang",
                "value": "bar"
              }
            ],
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html xml:lang=\"bar\"><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!DOCTYPE html><html 123=456>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "attrs": [
              {
                "name": "123",
                "value": "456"
              }
            ],
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html 123=\"456\"><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!DOCTYPE html><html 123=456><html 789=012>",
      "errors": [
        "(1,43): non-html-root"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "attrs": [
              {
                "name": "123",
                "value": "456"
              },
              {
                "name": "789",
                "value": "012"
              }
            ],
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html 123=\"456\" 789=\"012\"><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!DOCTYPE html><html><body 789=012>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "attrs": [
                  {
                    "name": "789",
                    "value": "012"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body 789=\"012\"></body></html>",
        "noQuirksBodyHtml": ""
      }
    }
  ],
  "tests15.dat": [
    {
      "data": "<!DOCTYPE html><p><b><i><u></p> <p>X",
      "errors": [
        "(1,31): unexpected-end-tag",
        "(1,36): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "b": true,
            "i": true,
            "u": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "b",
                        "children": [
                          {
                            "tag": "i",
                            "children": [
                              {
                                "tag": "u"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "i",
                        "children": [
                          {
                            "tag": "u",
                            "children": [
                              {
                                "text": " "
                              },
                              {
                                "tag": "p",
                                "children": [
                                  {
                                    "text": "X"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><b><i><u></u></i></b></p><b><i><u> <p>X</p></u></i></b></body></html>",
        "noQuirksBodyHtml": "<p><b><i><u></u></i></b></p><b><i><u> <p>X</p></u></i></b>"
      }
    },
    {
      "data": "<p><b><i><u></p>\n<p>X",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,16): unexpected-end-tag",
        "(2,4): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "b": true,
            "i": true,
            "u": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "b",
                        "children": [
                          {
                            "tag": "i",
                            "children": [
                              {
                                "tag": "u"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "i",
                        "children": [
                          {
                            "tag": "u",
                            "children": [
                              {
                                "text": "\n"
                              },
                              {
                                "tag": "p",
                                "children": [
                                  {
                                    "text": "X"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><p><b><i><u></u></i></b></p><b><i><u>\n<p>X</p></u></i></b></body></html>",
        "noQuirksBodyHtml": "<p><b><i><u></u></i></b></p><b><i><u>\n<p>X</p></u></i></b>"
      }
    },
    {
      "data": "<!doctype html></html> <head>",
      "errors": [
        "(1,29): expected-eof-but-got-start-tag",
        "(1,29): unexpected-start-tag-ignored"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": " "
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body> </body></html>",
        "noQuirksBodyHtml": " "
      }
    },
    {
      "data": "<!doctype html></body><meta>",
      "errors": [
        "(1,28): unexpected-start-tag-after-body"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "meta": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "meta"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><meta></body></html>",
        "noQuirksBodyHtml": "<meta>"
      }
    },
    {
      "data": "<html></html><!-- foo -->",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          },
          {
            "comment": " foo "
          }
        ],
        "html": "<html><head></head><body></body></html><!-- foo -->",
        "noQuirksBodyHtml": "<!-- foo -->"
      }
    },
    {
      "data": "<!doctype html></body><title>X</title>",
      "errors": [
        "(1,29): unexpected-start-tag-after-body"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "title": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "X"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><title>X</title></body></html>",
        "noQuirksBodyHtml": "<title>X</title>"
      }
    },
    {
      "data": "<!doctype html><table> X<meta></table>",
      "errors": [
        "(1,23): foster-parenting-character",
        "(1,24): foster-parenting-character",
        "(1,30): foster-parenting-start-character"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "meta": true,
            "table": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": " X"
                  },
                  {
                    "tag": "meta"
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body> X<meta><table></table></body></html>",
        "noQuirksBodyHtml": " X<meta><table></table>"
      }
    },
    {
      "data": "<!doctype html><table> x</table>",
      "errors": [
        "(1,23): foster-parenting-character",
        "(1,24): foster-parenting-character"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": " x"
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body> x<table></table></body></html>",
        "noQuirksBodyHtml": " x<table></table>"
      }
    },
    {
      "data": "<!doctype html><table> x </table>",
      "errors": [
        "(1,23): foster-parenting-character",
        "(1,24): foster-parenting-character",
        "(1,25): foster-parenting-character"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": " x "
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body> x <table></table></body></html>",
        "noQuirksBodyHtml": " x <table></table>"
      }
    },
    {
      "data": "<!doctype html><table><tr> x</table>",
      "errors": [
        "(1,27): foster-parenting-character",
        "(1,28): foster-parenting-character"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": " x"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body> x<table><tbody><tr></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": " x<table><tbody><tr></tr></tbody></table>"
      }
    },
    {
      "data": "<!doctype html><table>X<style> <tr>x </style> </table>",
      "errors": [
        "(1,23): foster-parenting-character"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "style": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "X"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "style",
                        "children": [
                          {
                            "text": " <tr>x ",
                            "no_escape": true
                          }
                        ]
                      },
                      {
                        "text": " "
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>X<table><style> <tr>x </style> </table></body></html>",
        "noQuirksBodyHtml": "X<table><style> <tr>x </style> </table>"
      }
    },
    {
      "data": "<!doctype html><div><table><a>foo</a> <tr><td>bar</td> </tr></table></div>",
      "errors": [
        "(1,30): foster-parenting-start-tag",
        "(1,31): foster-parenting-character",
        "(1,32): foster-parenting-character",
        "(1,33): foster-parenting-character",
        "(1,37): foster-parenting-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "a": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "a",
                        "children": [
                          {
                            "text": "foo"
                          }
                        ]
                      },
                      {
                        "tag": "table",
                        "children": [
                          {
                            "text": " "
                          },
                          {
                            "tag": "tbody",
                            "children": [
                              {
                                "tag": "tr",
                                "children": [
                                  {
                                    "tag": "td",
                                    "children": [
                                      {
                                        "text": "bar"
                                      }
                                    ]
                                  },
                                  {
                                    "text": " "
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><div><a>foo</a><table> <tbody><tr><td>bar</td> </tr></tbody></table></div></body></html>",
        "noQuirksBodyHtml": "<div><a>foo</a><table> <tbody><tr><td>bar</td> </tr></tbody></table></div>"
      }
    },
    {
      "data": "<frame></frame></frame><frameset><frame><frameset><frame></frameset><noframes></frameset><noframes>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,7): unexpected-start-tag-ignored",
        "(1,15): unexpected-end-tag",
        "(1,23): unexpected-end-tag",
        "(1,33): unexpected-start-tag",
        "(1,99): expected-named-closing-tag-but-got-eof",
        "(1,99): eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true,
            "frame": true,
            "noframes": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset",
                "children": [
                  {
                    "tag": "frame"
                  },
                  {
                    "tag": "frameset",
                    "children": [
                      {
                        "tag": "frame"
                      }
                    ]
                  },
                  {
                    "tag": "noframes",
                    "children": [
                      {
                        "text": "</frameset><noframes>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset><frame><frameset><frame></frameset><noframes></frameset><noframes></noframes></frameset></html>",
        "noQuirksBodyHtml": "<noframes></frameset><noframes></noframes>"
      }
    },
    {
      "data": "<!DOCTYPE html><object></html>",
      "errors": [
        "(1,30): expected-body-in-scope",
        "(1,30): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "object": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "object"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><object></object></body></html>",
        "noQuirksBodyHtml": "<object></object>"
      }
    }
  ],
  "tests16.dat": [
    {
      "data": "<!doctype html><script>",
      "errors": [
        "(1,23): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script"
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></script>"
      }
    },
    {
      "data": "<!doctype html><script>a",
      "errors": [
        "(1,24): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "a",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script>a</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script>a</script>"
      }
    },
    {
      "data": "<!doctype html><script><",
      "errors": [
        "(1,24): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><</script>"
      }
    },
    {
      "data": "<!doctype html><script></",
      "errors": [
        "(1,25): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script></</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></</script>"
      }
    },
    {
      "data": "<!doctype html><script></S",
      "errors": [
        "(1,26): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</S",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script></S</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></S</script>"
      }
    },
    {
      "data": "<!doctype html><script></SC",
      "errors": [
        "(1,27): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</SC",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script></SC</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></SC</script>"
      }
    },
    {
      "data": "<!doctype html><script></SCR",
      "errors": [
        "(1,28): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</SCR",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script></SCR</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></SCR</script>"
      }
    },
    {
      "data": "<!doctype html><script></SCRI",
      "errors": [
        "(1,29): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</SCRI",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script></SCRI</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></SCRI</script>"
      }
    },
    {
      "data": "<!doctype html><script></SCRIP",
      "errors": [
        "(1,30): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</SCRIP",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script></SCRIP</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></SCRIP</script>"
      }
    },
    {
      "data": "<!doctype html><script></SCRIPT",
      "errors": [
        "(1,31): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</SCRIPT",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script></SCRIPT</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></SCRIPT</script>"
      }
    },
    {
      "data": "<!doctype html><script></SCRIPT ",
      "errors": [
        "(1,32): expected-attribute-name-but-got-eof",
        "(1,32): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script"
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></script>"
      }
    },
    {
      "data": "<!doctype html><script></s",
      "errors": [
        "(1,26): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</s",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script></s</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></s</script>"
      }
    },
    {
      "data": "<!doctype html><script></sc",
      "errors": [
        "(1,27): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</sc",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script></sc</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></sc</script>"
      }
    },
    {
      "data": "<!doctype html><script></scr",
      "errors": [
        "(1,28): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</scr",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script></scr</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></scr</script>"
      }
    },
    {
      "data": "<!doctype html><script></scri",
      "errors": [
        "(1,29): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</scri",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script></scri</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></scri</script>"
      }
    },
    {
      "data": "<!doctype html><script></scrip",
      "errors": [
        "(1,30): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</scrip",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script></scrip</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></scrip</script>"
      }
    },
    {
      "data": "<!doctype html><script></script",
      "errors": [
        "(1,31): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</script",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script></script</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></script</script>"
      }
    },
    {
      "data": "<!doctype html><script></script ",
      "errors": [
        "(1,32): expected-attribute-name-but-got-eof",
        "(1,32): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script"
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></script>"
      }
    },
    {
      "data": "<!doctype html><script><!",
      "errors": [
        "(1,25): expected-script-data-but-got-eof",
        "(1,25): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!</script>"
      }
    },
    {
      "data": "<!doctype html><script><!a",
      "errors": [
        "(1,26): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!a",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!a</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!a</script>"
      }
    },
    {
      "data": "<!doctype html><script><!-",
      "errors": [
        "(1,26): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!-",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!-</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!-</script>"
      }
    },
    {
      "data": "<!doctype html><script><!-a",
      "errors": [
        "(1,27): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!-a",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!-a</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!-a</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--",
      "errors": [
        "(1,27): expected-named-closing-tag-but-got-eof",
        "(1,27): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--a",
      "errors": [
        "(1,28): expected-named-closing-tag-but-got-eof",
        "(1,28): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--a",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--a</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--a</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<",
      "errors": [
        "(1,28): expected-named-closing-tag-but-got-eof",
        "(1,28): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<a",
      "errors": [
        "(1,29): expected-named-closing-tag-but-got-eof",
        "(1,29): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<a",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<a</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<a</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--</",
      "errors": [
        "(1,29): expected-named-closing-tag-but-got-eof",
        "(1,29): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--</",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--</</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--</</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--</script",
      "errors": [
        "(1,35): expected-named-closing-tag-but-got-eof",
        "(1,35): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--</script",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--</script</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--</script</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--</script ",
      "errors": [
        "(1,36): expected-attribute-name-but-got-eof",
        "(1,36): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<s",
      "errors": [
        "(1,29): expected-named-closing-tag-but-got-eof",
        "(1,29): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<s",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<s</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<s</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script",
      "errors": [
        "(1,34): expected-named-closing-tag-but-got-eof",
        "(1,34): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script ",
      "errors": [
        "(1,35): eof-in-script-in-script",
        "(1,35): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script ",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script </script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script <",
      "errors": [
        "(1,36): eof-in-script-in-script",
        "(1,36): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script <",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script <</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script <</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script <a",
      "errors": [
        "(1,37): eof-in-script-in-script",
        "(1,37): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script <a",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script <a</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script <a</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script </",
      "errors": [
        "(1,37): eof-in-script-in-script",
        "(1,37): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script </</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script </s",
      "errors": [
        "(1,38): eof-in-script-in-script",
        "(1,38): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </s",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script </s</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </s</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script </script",
      "errors": [
        "(1,43): eof-in-script-in-script",
        "(1,43): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </script",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script </script</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </script</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script </scripta",
      "errors": [
        "(1,44): eof-in-script-in-script",
        "(1,44): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </scripta",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script </scripta</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </scripta</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script </script ",
      "errors": [
        "(1,44): expected-named-closing-tag-but-got-eof",
        "(1,44): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </script ",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script </script </script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </script </script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script </script>",
      "errors": [
        "(1,44): expected-named-closing-tag-but-got-eof",
        "(1,44): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </script>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script </script></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </script></script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script </script/",
      "errors": [
        "(1,44): expected-named-closing-tag-but-got-eof",
        "(1,44): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </script/",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script </script/</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </script/</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script </script <",
      "errors": [
        "(1,45): expected-named-closing-tag-but-got-eof",
        "(1,45): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </script <",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script </script <</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </script <</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script </script <a",
      "errors": [
        "(1,46): expected-named-closing-tag-but-got-eof",
        "(1,46): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </script <a",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script </script <a</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </script <a</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script </script </",
      "errors": [
        "(1,46): expected-named-closing-tag-but-got-eof",
        "(1,46): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </script </",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script </script </</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </script </</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script </script </script",
      "errors": [
        "(1,52): expected-named-closing-tag-but-got-eof",
        "(1,52): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </script </script",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script </script </script</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </script </script</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script </script </script ",
      "errors": [
        "(1,53): expected-attribute-name-but-got-eof",
        "(1,53): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </script ",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script </script </script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </script </script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script </script </script/",
      "errors": [
        "(1,53): unexpected-EOF-after-solidus-in-tag",
        "(1,53): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </script ",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script </script </script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </script </script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script </script </script>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </script ",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script </script </script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </script </script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script -",
      "errors": [
        "(1,36): eof-in-script-in-script",
        "(1,36): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script -",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script -</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script -</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script -a",
      "errors": [
        "(1,37): eof-in-script-in-script",
        "(1,37): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script -a",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script -a</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script -a</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script -<",
      "errors": [
        "(1,37): eof-in-script-in-script",
        "(1,37): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script -<",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script -<</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script -<</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script --",
      "errors": [
        "(1,37): eof-in-script-in-script",
        "(1,37): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script --",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script --</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script --</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script --a",
      "errors": [
        "(1,38): eof-in-script-in-script",
        "(1,38): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script --a",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script --a</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script --a</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script --<",
      "errors": [
        "(1,38): eof-in-script-in-script",
        "(1,38): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script --<",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script --<</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script --<</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script -->",
      "errors": [
        "(1,38): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script -->",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script --></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script --></script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script --><",
      "errors": [
        "(1,39): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script --><",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script --><</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script --><</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script --></",
      "errors": [
        "(1,40): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script --></",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script --></</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script --></</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script --></script",
      "errors": [
        "(1,46): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script --></script",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script --></script</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script --></script</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script --></script ",
      "errors": [
        "(1,47): expected-attribute-name-but-got-eof",
        "(1,47): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script -->",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script --></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script --></script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script --></script/",
      "errors": [
        "(1,47): unexpected-EOF-after-solidus-in-tag",
        "(1,47): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script -->",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script --></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script --></script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script --></script>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script -->",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script --></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script --></script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script><\\/script>--></script>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script><\\/script>-->",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script><\\/script>--></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script><\\/script>--></script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script></scr'+'ipt>--></script>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script></scr'+'ipt>-->",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script></scr'+'ipt>--></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script></scr'+'ipt>--></script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script></script><script></script></script>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script></script><script></script>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script></script><script></script></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script></script><script></script></script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script></script><script></script>--><!--</script>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script></script><script></script>--><!--",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script></script><script></script>--><!--</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script></script><script></script>--><!--</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script></script><script></script>-- ></script>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script></script><script></script>-- >",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script></script><script></script>-- ></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script></script><script></script>-- ></script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script></script><script></script>- -></script>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script></script><script></script>- ->",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script></script><script></script>- -></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script></script><script></script>- -></script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script></script><script></script>- - ></script>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script></script><script></script>- - >",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script></script><script></script>- - ></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script></script><script></script>- - ></script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script></script><script></script>-></script>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script></script><script></script>->",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script></script><script></script>-></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script></script><script></script>-></script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<script>--!></script>X",
      "errors": [
        "(1,49): expected-named-closing-tag-but-got-eof",
        "(1,49): unexpected-EOF-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script>--!></script>X",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script>--!></script>X</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script>--!></script>X</script>"
      }
    },
    {
      "data": "<!doctype html><script><!--<scr'+'ipt></script>--></script>",
      "errors": [
        "(1,59): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<scr'+'ipt>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<scr'+'ipt></script></head><body>--&gt;</body></html>",
        "noQuirksBodyHtml": "<script><!--<scr'+'ipt></script>--&gt;"
      }
    },
    {
      "data": "<!doctype html><script><!--<script></scr'+'ipt></script>X",
      "errors": [
        "(1,57): expected-named-closing-tag-but-got-eof",
        "(1,57): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script></scr'+'ipt></script>X",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script><!--<script></scr'+'ipt></script>X</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script></scr'+'ipt></script>X</script>"
      }
    },
    {
      "data": "<!doctype html><style><!--<style></style>--></style>",
      "errors": [
        "(1,52): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": "<!--<style>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><style><!--<style></style></head><body>--&gt;</body></html>",
        "noQuirksBodyHtml": "<style><!--<style></style>--&gt;"
      }
    },
    {
      "data": "<!doctype html><style><!--</style>X",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": "<!--",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "X"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><style><!--</style></head><body>X</body></html>",
        "noQuirksBodyHtml": "<style><!--</style>X"
      }
    },
    {
      "data": "<!doctype html><style><!--...</style>...--></style>",
      "errors": [
        "(1,51): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": "<!--...",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "...-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><style><!--...</style></head><body>...--&gt;</body></html>",
        "noQuirksBodyHtml": "<style><!--...</style>...--&gt;"
      }
    },
    {
      "data": "<!doctype html><style><!--<br><html xmlns:v=\"urn:schemas-microsoft-com:vml\"><!--[if !mso]><style></style>X",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": "<!--<br><html xmlns:v=\"urn:schemas-microsoft-com:vml\"><!--[if !mso]><style>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "X"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><style><!--<br><html xmlns:v=\"urn:schemas-microsoft-com:vml\"><!--[if !mso]><style></style></head><body>X</body></html>",
        "noQuirksBodyHtml": "<style><!--<br><html xmlns:v=\"urn:schemas-microsoft-com:vml\"><!--[if !mso]><style></style>X"
      }
    },
    {
      "data": "<!doctype html><style><!--...<style><!--...--!></style>--></style>",
      "errors": [
        "(1,66): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": "<!--...<style><!--...--!>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><style><!--...<style><!--...--!></style></head><body>--&gt;</body></html>",
        "noQuirksBodyHtml": "<style><!--...<style><!--...--!></style>--&gt;"
      }
    },
    {
      "data": "<!doctype html><style><!--...</style><!-- --><style>@import ...</style>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true,
          "comment": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": "<!--...",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "comment": " "
                  },
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": "@import ...",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><style><!--...</style><!-- --><style>@import ...</style></head><body></body></html>",
        "noQuirksBodyHtml": "<style><!--...</style><!-- --><style>@import ...</style>"
      }
    },
    {
      "data": "<!doctype html><style>...<style><!--...</style><!-- --></style>",
      "errors": [
        "(1,63): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true,
          "comment": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": "...<style><!--...",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "comment": " "
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><style>...<style><!--...</style><!-- --></head><body></body></html>",
        "noQuirksBodyHtml": "<style>...<style><!--...</style><!-- -->"
      }
    },
    {
      "data": "<!doctype html><style>...<!--[if IE]><style>...</style>X",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": "...<!--[if IE]><style>...",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "X"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><style>...<!--[if IE]><style>...</style></head><body>X</body></html>",
        "noQuirksBodyHtml": "<style>...<!--[if IE]><style>...</style>X"
      }
    },
    {
      "data": "<!doctype html><title><!--<title></title>--></title>",
      "errors": [
        "(1,52): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "title": true,
            "body": true
          },
          "doctype": true,
          "escaped": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "<!--<title>",
                        "escaped": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><title>&lt;!--&lt;title&gt;</title></head><body>--&gt;</body></html>",
        "noQuirksBodyHtml": "<title>&lt;!--&lt;title&gt;</title>--&gt;"
      }
    },
    {
      "data": "<!doctype html><title>&lt;/title></title>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "title": true,
            "body": true
          },
          "doctype": true,
          "escaped": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "</title>",
                        "escaped": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><title>&lt;/title&gt;</title></head><body></body></html>",
        "noQuirksBodyHtml": "<title>&lt;/title&gt;</title>"
      }
    },
    {
      "data": "<!doctype html><title>foo/title><link></head><body>X",
      "errors": [
        "(1,52): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "title": true,
            "body": true
          },
          "doctype": true,
          "escaped": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "foo/title><link></head><body>X",
                        "escaped": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><title>foo/title&gt;&lt;link&gt;&lt;/head&gt;&lt;body&gt;X</title></head><body></body></html>",
        "noQuirksBodyHtml": "<title>foo/title&gt;&lt;link&gt;&lt;/head&gt;&lt;body&gt;X</title>"
      }
    },
    {
      "data": "<!doctype html><noscript><!--<noscript></noscript>--></noscript>",
      "errors": [
        "(1,64): unexpected-end-tag"
      ],
      "script": "on",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "text": "<!--<noscript>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><noscript><!--<noscript></noscript></head><body>--&gt;</body></html>",
        "noQuirksBodyHtml": "<noscript><!--<noscript></noscript>--></noscript>"
      }
    },
    {
      "data": "<!doctype html><noscript><!--<noscript></noscript>--></noscript>",
      "errors": [],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true
          },
          "doctype": true,
          "comment": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "comment": "<noscript></noscript>"
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><noscript><!--<noscript></noscript>--></noscript></head><body></body></html>",
        "noQuirksBodyHtml": "<noscript><!--<noscript></noscript>--></noscript>"
      }
    },
    {
      "data": "<!doctype html><noscript><!--</noscript>X<noscript>--></noscript>",
      "errors": [],
      "script": "on",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "text": "<!--",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "X"
                  },
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "text": "-->",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><noscript><!--</noscript></head><body>X<noscript>--></noscript></body></html>",
        "noQuirksBodyHtml": "<noscript><!--</noscript>X<noscript>--></noscript>"
      }
    },
    {
      "data": "<!doctype html><noscript><!--</noscript>X<noscript>--></noscript>",
      "errors": [],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true
          },
          "doctype": true,
          "comment": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "comment": "</noscript>X<noscript>"
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><noscript><!--</noscript>X<noscript>--></noscript></head><body></body></html>",
        "noQuirksBodyHtml": "<noscript><!--</noscript>X<noscript>--></noscript>"
      }
    },
    {
      "data": "<!doctype html><noscript><iframe></noscript>X",
      "errors": [],
      "script": "on",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "text": "<iframe>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "X"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><noscript><iframe></noscript></head><body>X</body></html>",
        "noQuirksBodyHtml": "<noscript><iframe></noscript>X</iframe></noscript>"
      }
    },
    {
      "data": "<!doctype html><noscript><iframe></noscript>X",
      "errors": [
        " * (1,34) unexpected token in head noscript",
        " * (1,46) unexpected EOF"
      ],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true,
            "iframe": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript"
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "iframe",
                    "children": [
                      {
                        "text": "</noscript>X",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><noscript></noscript></head><body><iframe></noscript>X</iframe></body></html>",
        "noQuirksBodyHtml": "<noscript><iframe></noscript>X</iframe></noscript>"
      }
    },
    {
      "data": "<!doctype html><noframes><!--<noframes></noframes>--></noframes>",
      "errors": [
        "(1,64): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noframes": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noframes",
                    "children": [
                      {
                        "text": "<!--<noframes>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><noframes><!--<noframes></noframes></head><body>--&gt;</body></html>",
        "noQuirksBodyHtml": "<noframes><!--<noframes></noframes>--&gt;"
      }
    },
    {
      "data": "<!doctype html><noframes><body><script><!--...</script></body></noframes></html>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noframes": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noframes",
                    "children": [
                      {
                        "text": "<body><script><!--...</script></body>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><noframes><body><script><!--...</script></body></noframes></head><body></body></html>",
        "noQuirksBodyHtml": "<noframes><body><script><!--...</script></body></noframes>"
      }
    },
    {
      "data": "<!doctype html><textarea><!--<textarea></textarea>--></textarea>",
      "errors": [
        "(1,64): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "textarea": true
          },
          "doctype": true,
          "escaped": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "textarea",
                    "children": [
                      {
                        "text": "<!--<textarea>",
                        "escaped": true
                      }
                    ]
                  },
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><textarea>&lt;!--&lt;textarea&gt;</textarea>--&gt;</body></html>",
        "noQuirksBodyHtml": "<textarea>&lt;!--&lt;textarea&gt;</textarea>--&gt;"
      }
    },
    {
      "data": "<!doctype html><textarea>&lt;/textarea></textarea>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "textarea": true
          },
          "doctype": true,
          "escaped": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "textarea",
                    "children": [
                      {
                        "text": "</textarea>",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><textarea>&lt;/textarea&gt;</textarea></body></html>",
        "noQuirksBodyHtml": "<textarea>&lt;/textarea&gt;</textarea>"
      }
    },
    {
      "data": "<!doctype html><textarea>&lt;</textarea>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "textarea": true
          },
          "doctype": true,
          "escaped": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "textarea",
                    "children": [
                      {
                        "text": "<",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><textarea>&lt;</textarea></body></html>",
        "noQuirksBodyHtml": "<textarea>&lt;</textarea>"
      }
    },
    {
      "data": "<!doctype html><textarea>a&lt;b</textarea>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "textarea": true
          },
          "doctype": true,
          "escaped": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "textarea",
                    "children": [
                      {
                        "text": "a<b",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><textarea>a&lt;b</textarea></body></html>",
        "noQuirksBodyHtml": "<textarea>a&lt;b</textarea>"
      }
    },
    {
      "data": "<!doctype html><iframe><!--<iframe></iframe>--></iframe>",
      "errors": [
        "(1,56): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "iframe": true
          },
          "doctype": true,
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "iframe",
                    "children": [
                      {
                        "text": "<!--<iframe>",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><iframe><!--<iframe></iframe>--&gt;</body></html>",
        "noQuirksBodyHtml": "<iframe><!--<iframe></iframe>--&gt;"
      }
    },
    {
      "data": "<!doctype html><iframe>...<!--X->...<!--/X->...</iframe>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "iframe": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "iframe",
                    "children": [
                      {
                        "text": "...<!--X->...<!--/X->...",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><iframe>...<!--X->...<!--/X->...</iframe></body></html>",
        "noQuirksBodyHtml": "<iframe>...<!--X->...<!--/X->...</iframe>"
      }
    },
    {
      "data": "<!doctype html><xmp><!--<xmp></xmp>--></xmp>",
      "errors": [
        "(1,44): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "xmp": true
          },
          "doctype": true,
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "xmp",
                    "children": [
                      {
                        "text": "<!--<xmp>",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><xmp><!--<xmp></xmp>--&gt;</body></html>",
        "noQuirksBodyHtml": "<xmp><!--<xmp></xmp>--&gt;"
      }
    },
    {
      "data": "<!doctype html><noembed><!--<noembed></noembed>--></noembed>",
      "errors": [
        "(1,60): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "noembed": true
          },
          "doctype": true,
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "noembed",
                    "children": [
                      {
                        "text": "<!--<noembed>",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><noembed><!--<noembed></noembed>--&gt;</body></html>",
        "noQuirksBodyHtml": "<noembed><!--<noembed></noembed>--&gt;"
      }
    },
    {
      "data": "<script>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,8): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script"
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></script>"
      }
    },
    {
      "data": "<script>a",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,9): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "a",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script>a</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script>a</script>"
      }
    },
    {
      "data": "<script><",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,9): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><</script>"
      }
    },
    {
      "data": "<script></",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,10): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script></</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></</script>"
      }
    },
    {
      "data": "<script></S",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,11): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</S",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script></S</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></S</script>"
      }
    },
    {
      "data": "<script></SC",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,12): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</SC",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script></SC</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></SC</script>"
      }
    },
    {
      "data": "<script></SCR",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,13): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</SCR",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script></SCR</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></SCR</script>"
      }
    },
    {
      "data": "<script></SCRI",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,14): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</SCRI",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script></SCRI</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></SCRI</script>"
      }
    },
    {
      "data": "<script></SCRIP",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,15): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</SCRIP",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script></SCRIP</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></SCRIP</script>"
      }
    },
    {
      "data": "<script></SCRIPT",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,16): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</SCRIPT",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script></SCRIPT</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></SCRIPT</script>"
      }
    },
    {
      "data": "<script></SCRIPT ",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,17): expected-attribute-name-but-got-eof",
        "(1,17): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script"
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></script>"
      }
    },
    {
      "data": "<script></s",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,11): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</s",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script></s</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></s</script>"
      }
    },
    {
      "data": "<script></sc",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,12): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</sc",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script></sc</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></sc</script>"
      }
    },
    {
      "data": "<script></scr",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,13): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</scr",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script></scr</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></scr</script>"
      }
    },
    {
      "data": "<script></scri",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,14): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</scri",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script></scri</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></scri</script>"
      }
    },
    {
      "data": "<script></scrip",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,15): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</scrip",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script></scrip</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></scrip</script>"
      }
    },
    {
      "data": "<script></script",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,16): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</script",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script></script</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></script</script>"
      }
    },
    {
      "data": "<script></script ",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,17): expected-attribute-name-but-got-eof",
        "(1,17): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script"
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></script>"
      }
    },
    {
      "data": "<script><!",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,10): expected-script-data-but-got-eof",
        "(1,10): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!</script>"
      }
    },
    {
      "data": "<script><!a",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,11): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!a",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!a</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!a</script>"
      }
    },
    {
      "data": "<script><!-",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,11): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!-",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!-</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!-</script>"
      }
    },
    {
      "data": "<script><!-a",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,12): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!-a",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!-a</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!-a</script>"
      }
    },
    {
      "data": "<script><!--",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,12): expected-named-closing-tag-but-got-eof",
        "(1,12): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--</script>"
      }
    },
    {
      "data": "<script><!--a",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,13): expected-named-closing-tag-but-got-eof",
        "(1,13): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--a",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--a</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--a</script>"
      }
    },
    {
      "data": "<script><!--<",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,13): expected-named-closing-tag-but-got-eof",
        "(1,13): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<</script>"
      }
    },
    {
      "data": "<script><!--<a",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,14): expected-named-closing-tag-but-got-eof",
        "(1,14): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<a",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<a</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<a</script>"
      }
    },
    {
      "data": "<script><!--</",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,14): expected-named-closing-tag-but-got-eof",
        "(1,14): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--</",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--</</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--</</script>"
      }
    },
    {
      "data": "<script><!--</script",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,20): expected-named-closing-tag-but-got-eof",
        "(1,20): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--</script",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--</script</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--</script</script>"
      }
    },
    {
      "data": "<script><!--</script ",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,21): expected-attribute-name-but-got-eof",
        "(1,21): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--</script>"
      }
    },
    {
      "data": "<script><!--<s",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,14): expected-named-closing-tag-but-got-eof",
        "(1,14): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<s",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<s</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<s</script>"
      }
    },
    {
      "data": "<script><!--<script",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,19): expected-named-closing-tag-but-got-eof",
        "(1,19): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script</script>"
      }
    },
    {
      "data": "<script><!--<script ",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,20): eof-in-script-in-script",
        "(1,20): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script ",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script </script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </script>"
      }
    },
    {
      "data": "<script><!--<script <",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,21): eof-in-script-in-script",
        "(1,21): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script <",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script <</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script <</script>"
      }
    },
    {
      "data": "<script><!--<script <a",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,22): eof-in-script-in-script",
        "(1,22): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script <a",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script <a</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script <a</script>"
      }
    },
    {
      "data": "<script><!--<script </",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,22): eof-in-script-in-script",
        "(1,22): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script </</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </</script>"
      }
    },
    {
      "data": "<script><!--<script </s",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,23): eof-in-script-in-script",
        "(1,23): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </s",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script </s</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </s</script>"
      }
    },
    {
      "data": "<script><!--<script </script",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,28): eof-in-script-in-script",
        "(1,28): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </script",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script </script</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </script</script>"
      }
    },
    {
      "data": "<script><!--<script </scripta",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,29): eof-in-script-in-script",
        "(1,29): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </scripta",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script </scripta</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </scripta</script>"
      }
    },
    {
      "data": "<script><!--<script </script ",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,29): expected-named-closing-tag-but-got-eof",
        "(1,29): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </script ",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script </script </script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </script </script>"
      }
    },
    {
      "data": "<script><!--<script </script>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,29): expected-named-closing-tag-but-got-eof",
        "(1,29): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </script>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script </script></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </script></script>"
      }
    },
    {
      "data": "<script><!--<script </script/",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,29): expected-named-closing-tag-but-got-eof",
        "(1,29): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </script/",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script </script/</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </script/</script>"
      }
    },
    {
      "data": "<script><!--<script </script <",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,30): expected-named-closing-tag-but-got-eof",
        "(1,30): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </script <",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script </script <</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </script <</script>"
      }
    },
    {
      "data": "<script><!--<script </script <a",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,31): expected-named-closing-tag-but-got-eof",
        "(1,31): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </script <a",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script </script <a</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </script <a</script>"
      }
    },
    {
      "data": "<script><!--<script </script </",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,31): expected-named-closing-tag-but-got-eof",
        "(1,31): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </script </",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script </script </</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </script </</script>"
      }
    },
    {
      "data": "<script><!--<script </script </script",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,37): expected-named-closing-tag-but-got-eof",
        "(1,37): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </script </script",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script </script </script</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </script </script</script>"
      }
    },
    {
      "data": "<script><!--<script </script </script ",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,38): expected-attribute-name-but-got-eof",
        "(1,38): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </script ",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script </script </script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </script </script>"
      }
    },
    {
      "data": "<script><!--<script </script </script/",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,38): unexpected-EOF-after-solidus-in-tag",
        "(1,38): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </script ",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script </script </script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </script </script>"
      }
    },
    {
      "data": "<script><!--<script </script </script>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script </script ",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script </script </script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script </script </script>"
      }
    },
    {
      "data": "<script><!--<script -",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,21): eof-in-script-in-script",
        "(1,21): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script -",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script -</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script -</script>"
      }
    },
    {
      "data": "<script><!--<script -a",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,22): eof-in-script-in-script",
        "(1,22): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script -a",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script -a</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script -a</script>"
      }
    },
    {
      "data": "<script><!--<script --",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,22): eof-in-script-in-script",
        "(1,22): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script --",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script --</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script --</script>"
      }
    },
    {
      "data": "<script><!--<script --a",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,23): eof-in-script-in-script",
        "(1,23): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script --a",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script --a</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script --a</script>"
      }
    },
    {
      "data": "<script><!--<script -->",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,23): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script -->",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script --></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script --></script>"
      }
    },
    {
      "data": "<script><!--<script --><",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,24): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script --><",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script --><</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script --><</script>"
      }
    },
    {
      "data": "<script><!--<script --></",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,25): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script --></",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script --></</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script --></</script>"
      }
    },
    {
      "data": "<script><!--<script --></script",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,31): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script --></script",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script --></script</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script --></script</script>"
      }
    },
    {
      "data": "<script><!--<script --></script ",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,32): expected-attribute-name-but-got-eof",
        "(1,32): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script -->",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script --></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script --></script>"
      }
    },
    {
      "data": "<script><!--<script --></script/",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,32): unexpected-EOF-after-solidus-in-tag",
        "(1,32): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script -->",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script --></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script --></script>"
      }
    },
    {
      "data": "<script><!--<script --></script>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script -->",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script --></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script --></script>"
      }
    },
    {
      "data": "<script><!--<script><\\/script>--></script>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script><\\/script>-->",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script><\\/script>--></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script><\\/script>--></script>"
      }
    },
    {
      "data": "<script><!--<script></scr'+'ipt>--></script>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script></scr'+'ipt>-->",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script></scr'+'ipt>--></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script></scr'+'ipt>--></script>"
      }
    },
    {
      "data": "<script><!--<script></script><script></script></script>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script></script><script></script>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script></script><script></script></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script></script><script></script></script>"
      }
    },
    {
      "data": "<script><!--<script></script><script></script>--><!--</script>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script></script><script></script>--><!--",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script></script><script></script>--><!--</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script></script><script></script>--><!--</script>"
      }
    },
    {
      "data": "<script><!--<script></script><script></script>-- ></script>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script></script><script></script>-- >",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script></script><script></script>-- ></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script></script><script></script>-- ></script>"
      }
    },
    {
      "data": "<script><!--<script></script><script></script>- -></script>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script></script><script></script>- ->",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script></script><script></script>- -></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script></script><script></script>- -></script>"
      }
    },
    {
      "data": "<script><!--<script></script><script></script>- - ></script>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script></script><script></script>- - >",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script></script><script></script>- - ></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script></script><script></script>- - ></script>"
      }
    },
    {
      "data": "<script><!--<script></script><script></script>-></script>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script></script><script></script>->",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script></script><script></script>-></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script></script><script></script>-></script>"
      }
    },
    {
      "data": "<script><!--<script>--!></script>X",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,34): expected-named-closing-tag-but-got-eof",
        "(1,34): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script>--!></script>X",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script>--!></script>X</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script>--!></script>X</script>"
      }
    },
    {
      "data": "<script><!--<scr'+'ipt></script>--></script>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,44): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<scr'+'ipt>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<scr'+'ipt></script></head><body>--&gt;</body></html>",
        "noQuirksBodyHtml": "<script><!--<scr'+'ipt></script>--&gt;"
      }
    },
    {
      "data": "<script><!--<script></scr'+'ipt></script>X",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,42): expected-named-closing-tag-but-got-eof",
        "(1,42): unexpected-eof-in-text-mode"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "<!--<script></scr'+'ipt></script>X",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script><!--<script></scr'+'ipt></script>X</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script><!--<script></scr'+'ipt></script>X</script>"
      }
    },
    {
      "data": "<style><!--<style></style>--></style>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,37): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          },
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": "<!--<style>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><style><!--<style></style></head><body>--&gt;</body></html>",
        "noQuirksBodyHtml": "<style><!--<style></style>--&gt;"
      }
    },
    {
      "data": "<style><!--</style>X",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": "<!--",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "X"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><style><!--</style></head><body>X</body></html>",
        "noQuirksBodyHtml": "<style><!--</style>X"
      }
    },
    {
      "data": "<style><!--...</style>...--></style>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,36): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          },
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": "<!--...",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "...-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><style><!--...</style></head><body>...--&gt;</body></html>",
        "noQuirksBodyHtml": "<style><!--...</style>...--&gt;"
      }
    },
    {
      "data": "<style><!--<br><html xmlns:v=\"urn:schemas-microsoft-com:vml\"><!--[if !mso]><style></style>X",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": "<!--<br><html xmlns:v=\"urn:schemas-microsoft-com:vml\"><!--[if !mso]><style>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "X"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><style><!--<br><html xmlns:v=\"urn:schemas-microsoft-com:vml\"><!--[if !mso]><style></style></head><body>X</body></html>",
        "noQuirksBodyHtml": "<style><!--<br><html xmlns:v=\"urn:schemas-microsoft-com:vml\"><!--[if !mso]><style></style>X"
      }
    },
    {
      "data": "<style><!--...<style><!--...--!></style>--></style>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,51): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          },
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": "<!--...<style><!--...--!>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><style><!--...<style><!--...--!></style></head><body>--&gt;</body></html>",
        "noQuirksBodyHtml": "<style><!--...<style><!--...--!></style>--&gt;"
      }
    },
    {
      "data": "<style><!--...</style><!-- --><style>@import ...</style>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          },
          "no_escape": true,
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": "<!--...",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "comment": " "
                  },
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": "@import ...",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><style><!--...</style><!-- --><style>@import ...</style></head><body></body></html>",
        "noQuirksBodyHtml": "<style><!--...</style><!-- --><style>@import ...</style>"
      }
    },
    {
      "data": "<style>...<style><!--...</style><!-- --></style>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,48): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          },
          "no_escape": true,
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": "...<style><!--...",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "comment": " "
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><style>...<style><!--...</style><!-- --></head><body></body></html>",
        "noQuirksBodyHtml": "<style>...<style><!--...</style><!-- -->"
      }
    },
    {
      "data": "<style>...<!--[if IE]><style>...</style>X",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": "...<!--[if IE]><style>...",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "X"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><style>...<!--[if IE]><style>...</style></head><body>X</body></html>",
        "noQuirksBodyHtml": "<style>...<!--[if IE]><style>...</style>X"
      }
    },
    {
      "data": "<title><!--<title></title>--></title>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,37): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "title": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "<!--<title>",
                        "escaped": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><title>&lt;!--&lt;title&gt;</title></head><body>--&gt;</body></html>",
        "noQuirksBodyHtml": "<title>&lt;!--&lt;title&gt;</title>--&gt;"
      }
    },
    {
      "data": "<title>&lt;/title></title>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "title": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "</title>",
                        "escaped": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><title>&lt;/title&gt;</title></head><body></body></html>",
        "noQuirksBodyHtml": "<title>&lt;/title&gt;</title>"
      }
    },
    {
      "data": "<title>foo/title><link></head><body>X",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,37): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "title": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "foo/title><link></head><body>X",
                        "escaped": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><title>foo/title&gt;&lt;link&gt;&lt;/head&gt;&lt;body&gt;X</title></head><body></body></html>",
        "noQuirksBodyHtml": "<title>foo/title&gt;&lt;link&gt;&lt;/head&gt;&lt;body&gt;X</title>"
      }
    },
    {
      "data": "<noscript><!--<noscript></noscript>--></noscript>",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag",
        "(1,49): unexpected-end-tag"
      ],
      "script": "on",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true
          },
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "text": "<!--<noscript>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><noscript><!--<noscript></noscript></head><body>--&gt;</body></html>",
        "noQuirksBodyHtml": "<noscript><!--<noscript></noscript>--></noscript>"
      }
    },
    {
      "data": "<noscript><!--<noscript></noscript>--></noscript>",
      "errors": [
        " * (1,11) missing DOCTYPE"
      ],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "comment": "<noscript></noscript>"
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><noscript><!--<noscript></noscript>--></noscript></head><body></body></html>",
        "noQuirksBodyHtml": "<noscript><!--<noscript></noscript>--></noscript>"
      }
    },
    {
      "data": "<noscript><!--</noscript>X<noscript>--></noscript>",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag"
      ],
      "script": "on",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "text": "<!--",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "X"
                  },
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "text": "-->",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><noscript><!--</noscript></head><body>X<noscript>--></noscript></body></html>",
        "noQuirksBodyHtml": "<noscript><!--</noscript>X<noscript>--></noscript>"
      }
    },
    {
      "data": "<noscript><!--</noscript>X<noscript>--></noscript>",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag"
      ],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "comment": "</noscript>X<noscript>"
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><noscript><!--</noscript>X<noscript>--></noscript></head><body></body></html>",
        "noQuirksBodyHtml": "<noscript><!--</noscript>X<noscript>--></noscript>"
      }
    },
    {
      "data": "<noscript><iframe></noscript>X",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag"
      ],
      "script": "on",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "text": "<iframe>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "X"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><noscript><iframe></noscript></head><body>X</body></html>",
        "noQuirksBodyHtml": "<noscript><iframe></noscript>X</iframe></noscript>"
      }
    },
    {
      "data": "<noscript><iframe></noscript>X",
      "errors": [
        " * (1,11) missing DOCTYPE",
        " * (1,19) unexpected token in head noscript",
        " * (1,31) unexpected EOF"
      ],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true,
            "iframe": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript"
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "iframe",
                    "children": [
                      {
                        "text": "</noscript>X",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><noscript></noscript></head><body><iframe></noscript>X</iframe></body></html>",
        "noQuirksBodyHtml": "<noscript><iframe></noscript>X</iframe></noscript>"
      }
    },
    {
      "data": "<noframes><!--<noframes></noframes>--></noframes>",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag",
        "(1,49): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noframes": true,
            "body": true
          },
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noframes",
                    "children": [
                      {
                        "text": "<!--<noframes>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><noframes><!--<noframes></noframes></head><body>--&gt;</body></html>",
        "noQuirksBodyHtml": "<noframes><!--<noframes></noframes>--&gt;"
      }
    },
    {
      "data": "<noframes><body><script><!--...</script></body></noframes></html>",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noframes": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noframes",
                    "children": [
                      {
                        "text": "<body><script><!--...</script></body>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><noframes><body><script><!--...</script></body></noframes></head><body></body></html>",
        "noQuirksBodyHtml": "<noframes><body><script><!--...</script></body></noframes>"
      }
    },
    {
      "data": "<textarea><!--<textarea></textarea>--></textarea>",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag",
        "(1,49): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "textarea": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "textarea",
                    "children": [
                      {
                        "text": "<!--<textarea>",
                        "escaped": true
                      }
                    ]
                  },
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><textarea>&lt;!--&lt;textarea&gt;</textarea>--&gt;</body></html>",
        "noQuirksBodyHtml": "<textarea>&lt;!--&lt;textarea&gt;</textarea>--&gt;"
      }
    },
    {
      "data": "<textarea>&lt;/textarea></textarea>",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "textarea": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "textarea",
                    "children": [
                      {
                        "text": "</textarea>",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><textarea>&lt;/textarea&gt;</textarea></body></html>",
        "noQuirksBodyHtml": "<textarea>&lt;/textarea&gt;</textarea>"
      }
    },
    {
      "data": "<iframe><!--<iframe></iframe>--></iframe>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,41): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "iframe": true
          },
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "iframe",
                    "children": [
                      {
                        "text": "<!--<iframe>",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><iframe><!--<iframe></iframe>--&gt;</body></html>",
        "noQuirksBodyHtml": "<iframe><!--<iframe></iframe>--&gt;"
      }
    },
    {
      "data": "<iframe>...<!--X->...<!--/X->...</iframe>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "iframe": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "iframe",
                    "children": [
                      {
                        "text": "...<!--X->...<!--/X->...",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><iframe>...<!--X->...<!--/X->...</iframe></body></html>",
        "noQuirksBodyHtml": "<iframe>...<!--X->...<!--/X->...</iframe>"
      }
    },
    {
      "data": "<xmp><!--<xmp></xmp>--></xmp>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,29): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "xmp": true
          },
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "xmp",
                    "children": [
                      {
                        "text": "<!--<xmp>",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><xmp><!--<xmp></xmp>--&gt;</body></html>",
        "noQuirksBodyHtml": "<xmp><!--<xmp></xmp>--&gt;"
      }
    },
    {
      "data": "<noembed><!--<noembed></noembed>--></noembed>",
      "errors": [
        "(1,9): expected-doctype-but-got-start-tag",
        "(1,45): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "noembed": true
          },
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "noembed",
                    "children": [
                      {
                        "text": "<!--<noembed>",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><noembed><!--<noembed></noembed>--&gt;</body></html>",
        "noQuirksBodyHtml": "<noembed><!--<noembed></noembed>--&gt;"
      }
    },
    {
      "data": "<!doctype html><table>\n",
      "errors": [
        "(2,0): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "text": "\n"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table>\n</table></body></html>",
        "noQuirksBodyHtml": "<table>\n</table>"
      }
    },
    {
      "data": "<!doctype html><table><td><span><font></span><span>",
      "errors": [
        "(1,26): unexpected-cell-in-table-body",
        "(1,45): unexpected-end-tag",
        "(1,51): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "span": true,
            "font": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "span",
                                    "children": [
                                      {
                                        "tag": "font"
                                      }
                                    ]
                                  },
                                  {
                                    "tag": "font",
                                    "children": [
                                      {
                                        "tag": "span"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><span><font></font></span><font><span></span></font></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td><span><font></font></span><font><span></span></font></td></tr></tbody></table>"
      }
    },
    {
      "data": "<!doctype html><form><table></form><form></table></form>",
      "errors": [
        "(1,35): unexpected-end-tag-implies-table-voodoo",
        "(1,35): unexpected-end-tag",
        "(1,41): unexpected-form-in-table",
        "(1,56): unexpected-end-tag",
        "(1,56): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "form": true,
            "table": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "form",
                    "children": [
                      {
                        "tag": "table",
                        "children": [
                          {
                            "tag": "form"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><form><table><form></form></table></form></body></html>",
        "noQuirksBodyHtml": "<form><table><form></form></table></form>"
      }
    }
  ],
  "tests17.dat": [
    {
      "data": "<!doctype html><table><tbody><select><tr>",
      "errors": [
        "(1,37): unexpected-start-tag-implies-table-voodoo",
        "(1,41): unexpected-table-element-start-tag-in-select-in-table",
        "(1,41): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "table": true,
            "tbody": true,
            "tr": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select></select><table><tbody><tr></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<select></select><table><tbody><tr></tr></tbody></table>"
      }
    },
    {
      "data": "<!doctype html><table><tr><select><td>",
      "errors": [
        "(1,34): unexpected-start-tag-implies-table-voodoo",
        "(1,38): unexpected-table-element-start-tag-in-select-in-table",
        "(1,38): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select></select><table><tbody><tr><td></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<select></select><table><tbody><tr><td></td></tr></tbody></table>"
      }
    },
    {
      "data": "<!doctype html><table><tr><td><select><td>",
      "errors": [
        "(1,42): unexpected-table-element-start-tag-in-select-in-table",
        "(1,42): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "select": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "select"
                                  }
                                ]
                              },
                              {
                                "tag": "td"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><select></select></td><td></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td><select></select></td><td></td></tr></tbody></table>"
      }
    },
    {
      "data": "<!doctype html><table><tr><th><select><td>",
      "errors": [
        "(1,42): unexpected-table-element-start-tag-in-select-in-table",
        "(1,42): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "th": true,
            "select": true,
            "td": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "th",
                                "children": [
                                  {
                                    "tag": "select"
                                  }
                                ]
                              },
                              {
                                "tag": "td"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><th><select></select></th><td></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><th><select></select></th><td></td></tr></tbody></table>"
      }
    },
    {
      "data": "<!doctype html><table><caption><select><tr>",
      "errors": [
        "(1,43): unexpected-table-element-start-tag-in-select-in-table",
        "(1,43): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "caption": true,
            "select": true,
            "tbody": true,
            "tr": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "caption",
                        "children": [
                          {
                            "tag": "select"
                          }
                        ]
                      },
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><caption><select></select></caption><tbody><tr></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><caption><select></select></caption><tbody><tr></tr></tbody></table>"
      }
    },
    {
      "data": "<!doctype html><select><tr>",
      "errors": [
        "(1,27): unexpected-start-tag-in-select",
        "(1,27): eof-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select></select></body></html>",
        "noQuirksBodyHtml": "<select></select>"
      }
    },
    {
      "data": "<!doctype html><select><td>",
      "errors": [
        "(1,27): unexpected-start-tag-in-select",
        "(1,27): eof-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select></select></body></html>",
        "noQuirksBodyHtml": "<select></select>"
      }
    },
    {
      "data": "<!doctype html><select><th>",
      "errors": [
        "(1,27): unexpected-start-tag-in-select",
        "(1,27): eof-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select></select></body></html>",
        "noQuirksBodyHtml": "<select></select>"
      }
    },
    {
      "data": "<!doctype html><select><tbody>",
      "errors": [
        "(1,30): unexpected-start-tag-in-select",
        "(1,30): eof-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select></select></body></html>",
        "noQuirksBodyHtml": "<select></select>"
      }
    },
    {
      "data": "<!doctype html><select><thead>",
      "errors": [
        "(1,30): unexpected-start-tag-in-select",
        "(1,30): eof-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select></select></body></html>",
        "noQuirksBodyHtml": "<select></select>"
      }
    },
    {
      "data": "<!doctype html><select><tfoot>",
      "errors": [
        "(1,30): unexpected-start-tag-in-select",
        "(1,30): eof-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select></select></body></html>",
        "noQuirksBodyHtml": "<select></select>"
      }
    },
    {
      "data": "<!doctype html><select><caption>",
      "errors": [
        "(1,32): unexpected-start-tag-in-select",
        "(1,32): eof-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select></select></body></html>",
        "noQuirksBodyHtml": "<select></select>"
      }
    },
    {
      "data": "<!doctype html><table><tr></table>a",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "text": "a"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr></tr></tbody></table>a</body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr></tr></tbody></table>a"
      }
    }
  ],
  "tests18.dat": [
    {
      "data": "<!doctype html><plaintext></plaintext>",
      "errors": [
        "(1,38): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "plaintext": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "plaintext",
                    "children": [
                      {
                        "text": "</plaintext>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><plaintext></plaintext></plaintext></body></html>",
        "noQuirksBodyHtml": "<plaintext></plaintext></plaintext>"
      }
    },
    {
      "data": "<!doctype html><table><plaintext></plaintext>",
      "errors": [
        "(1,33): foster-parenting-start-tag",
        "(1,34): foster-parenting-character",
        "(1,35): foster-parenting-character",
        "(1,36): foster-parenting-character",
        "(1,37): foster-parenting-character",
        "(1,38): foster-parenting-character",
        "(1,39): foster-parenting-character",
        "(1,40): foster-parenting-character",
        "(1,41): foster-parenting-character",
        "(1,42): foster-parenting-character",
        "(1,43): foster-parenting-character",
        "(1,44): foster-parenting-character",
        "(1,45): foster-parenting-character",
        "(1,45): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "plaintext": true,
            "table": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "plaintext",
                    "children": [
                      {
                        "text": "</plaintext>",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><plaintext></plaintext></plaintext><table></table></body></html>",
        "noQuirksBodyHtml": "<plaintext></plaintext></plaintext><table></table>"
      }
    },
    {
      "data": "<!doctype html><table><tbody><plaintext></plaintext>",
      "errors": [
        "(1,40): foster-parenting-start-tag",
        "(1,41): foster-parenting-character",
        "(1,41): foster-parenting-character",
        "(1,41): foster-parenting-character",
        "(1,41): foster-parenting-character",
        "(1,41): foster-parenting-character",
        "(1,41): foster-parenting-character",
        "(1,41): foster-parenting-character",
        "(1,41): foster-parenting-character",
        "(1,41): foster-parenting-character",
        "(1,41): foster-parenting-character",
        "(1,41): foster-parenting-character",
        "(1,41): foster-parenting-character",
        "(1,52): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "plaintext": true,
            "table": true,
            "tbody": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "plaintext",
                    "children": [
                      {
                        "text": "</plaintext>",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><plaintext></plaintext></plaintext><table><tbody></tbody></table></body></html>",
        "noQuirksBodyHtml": "<plaintext></plaintext></plaintext><table><tbody></tbody></table>"
      }
    },
    {
      "data": "<!doctype html><table><tbody><tr><plaintext></plaintext>",
      "errors": [
        "(1,44): foster-parenting-start-tag",
        "(1,45): foster-parenting-character",
        "(1,46): foster-parenting-character",
        "(1,47): foster-parenting-character",
        "(1,48): foster-parenting-character",
        "(1,49): foster-parenting-character",
        "(1,50): foster-parenting-character",
        "(1,51): foster-parenting-character",
        "(1,52): foster-parenting-character",
        "(1,53): foster-parenting-character",
        "(1,54): foster-parenting-character",
        "(1,55): foster-parenting-character",
        "(1,56): foster-parenting-character",
        "(1,56): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "plaintext": true,
            "table": true,
            "tbody": true,
            "tr": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "plaintext",
                    "children": [
                      {
                        "text": "</plaintext>",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><plaintext></plaintext></plaintext><table><tbody><tr></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<plaintext></plaintext></plaintext><table><tbody><tr></tr></tbody></table>"
      }
    },
    {
      "data": "<!doctype html><table><td><plaintext></plaintext>",
      "errors": [
        "(1,26): unexpected-cell-in-table-body",
        "(1,49): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "plaintext": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "plaintext",
                                    "children": [
                                      {
                                        "text": "</plaintext>",
                                        "no_escape": true
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><plaintext></plaintext></plaintext></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td><plaintext></plaintext></plaintext></td></tr></tbody></table>"
      }
    },
    {
      "data": "<!doctype html><table><caption><plaintext></plaintext>",
      "errors": [
        "(1,54): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "caption": true,
            "plaintext": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "caption",
                        "children": [
                          {
                            "tag": "plaintext",
                            "children": [
                              {
                                "text": "</plaintext>",
                                "no_escape": true
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><caption><plaintext></plaintext></plaintext></caption></table></body></html>",
        "noQuirksBodyHtml": "<table><caption><plaintext></plaintext></plaintext></caption></table>"
      }
    },
    {
      "data": "<!doctype html><table><tr><style></script></style>abc",
      "errors": [
        "(1,51): foster-parenting-character",
        "(1,52): foster-parenting-character",
        "(1,53): foster-parenting-character",
        "(1,53): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "style": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "abc"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "style",
                                "children": [
                                  {
                                    "text": "</script>",
                                    "no_escape": true
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>abc<table><tbody><tr><style></script></style></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "abc<table><tbody><tr><style></script></style></tr></tbody></table>"
      }
    },
    {
      "data": "<!doctype html><table><tr><script></style></script>abc",
      "errors": [
        "(1,52): foster-parenting-character",
        "(1,53): foster-parenting-character",
        "(1,54): foster-parenting-character",
        "(1,54): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "script": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "abc"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "script",
                                "children": [
                                  {
                                    "text": "</style>",
                                    "no_escape": true
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>abc<table><tbody><tr><script></style></script></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "abc<table><tbody><tr><script></style></script></tr></tbody></table>"
      }
    },
    {
      "data": "<!doctype html><table><caption><style></script></style>abc",
      "errors": [
        "(1,58): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "caption": true,
            "style": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "caption",
                        "children": [
                          {
                            "tag": "style",
                            "children": [
                              {
                                "text": "</script>",
                                "no_escape": true
                              }
                            ]
                          },
                          {
                            "text": "abc"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><caption><style></script></style>abc</caption></table></body></html>",
        "noQuirksBodyHtml": "<table><caption><style></script></style>abc</caption></table>"
      }
    },
    {
      "data": "<!doctype html><table><td><style></script></style>abc",
      "errors": [
        "(1,26): unexpected-cell-in-table-body",
        "(1,53): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "style": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "style",
                                    "children": [
                                      {
                                        "text": "</script>",
                                        "no_escape": true
                                      }
                                    ]
                                  },
                                  {
                                    "text": "abc"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><style></script></style>abc</td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td><style></script></style>abc</td></tr></tbody></table>"
      }
    },
    {
      "data": "<!doctype html><select><script></style></script>abc",
      "errors": [
        "(1,51): eof-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "script": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "tag": "script",
                        "children": [
                          {
                            "text": "</style>",
                            "no_escape": true
                          }
                        ]
                      },
                      {
                        "text": "abc"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select><script></style></script>abc</select></body></html>",
        "noQuirksBodyHtml": "<select><script></style></script>abc</select>"
      }
    },
    {
      "data": "<!doctype html><table><select><script></style></script>abc",
      "errors": [
        "(1,30): unexpected-start-tag-implies-table-voodoo",
        "(1,58): eof-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "script": true,
            "table": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "tag": "script",
                        "children": [
                          {
                            "text": "</style>",
                            "no_escape": true
                          }
                        ]
                      },
                      {
                        "text": "abc"
                      }
                    ]
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select><script></style></script>abc</select><table></table></body></html>",
        "noQuirksBodyHtml": "<select><script></style></script>abc</select><table></table>"
      }
    },
    {
      "data": "<!doctype html><table><tr><select><script></style></script>abc",
      "errors": [
        "(1,34): unexpected-start-tag-implies-table-voodoo",
        "(1,62): eof-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "script": true,
            "table": true,
            "tbody": true,
            "tr": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "tag": "script",
                        "children": [
                          {
                            "text": "</style>",
                            "no_escape": true
                          }
                        ]
                      },
                      {
                        "text": "abc"
                      }
                    ]
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select><script></style></script>abc</select><table><tbody><tr></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<select><script></style></script>abc</select><table><tbody><tr></tr></tbody></table>"
      }
    },
    {
      "data": "<!doctype html><frameset></frameset><noframes>abc",
      "errors": [
        "(1,49): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true,
            "noframes": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              },
              {
                "tag": "noframes",
                "children": [
                  {
                    "text": "abc",
                    "no_escape": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset></frameset><noframes>abc</noframes></html>",
        "noQuirksBodyHtml": "<noframes>abc</noframes>"
      }
    },
    {
      "data": "<!doctype html><frameset></frameset><noframes>abc</noframes><!--abc-->",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true,
            "noframes": true
          },
          "doctype": true,
          "no_escape": true,
          "comment": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              },
              {
                "tag": "noframes",
                "children": [
                  {
                    "text": "abc",
                    "no_escape": true
                  }
                ]
              },
              {
                "comment": "abc"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset></frameset><noframes>abc</noframes><!--abc--></html>",
        "noQuirksBodyHtml": "<noframes>abc</noframes><!--abc-->"
      }
    },
    {
      "data": "<!doctype html><frameset></frameset></html><noframes>abc",
      "errors": [
        "(1,56): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true,
            "noframes": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              },
              {
                "tag": "noframes",
                "children": [
                  {
                    "text": "abc",
                    "no_escape": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset></frameset><noframes>abc</noframes></html>",
        "noQuirksBodyHtml": "<noframes>abc</noframes>"
      }
    },
    {
      "data": "<!doctype html><frameset></frameset></html><noframes>abc</noframes><!--abc-->",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true,
            "noframes": true
          },
          "doctype": true,
          "no_escape": true,
          "comment": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              },
              {
                "tag": "noframes",
                "children": [
                  {
                    "text": "abc",
                    "no_escape": true
                  }
                ]
              }
            ]
          },
          {
            "comment": "abc"
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset></frameset><noframes>abc</noframes></html><!--abc-->",
        "noQuirksBodyHtml": "<noframes>abc</noframes><!--abc-->"
      }
    },
    {
      "data": "<!doctype html><table><tr></tbody><tfoot>",
      "errors": [
        "(1,41): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "tfoot": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr"
                          }
                        ]
                      },
                      {
                        "tag": "tfoot"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr></tr></tbody><tfoot></tfoot></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr></tr></tbody><tfoot></tfoot></table>"
      }
    },
    {
      "data": "<!doctype html><table><td><svg></svg>abc<td>",
      "errors": [
        "(1,26): unexpected-cell-in-table-body",
        "(1,44): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "svg svg": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "svg",
                                    "ns": "http://www.w3.org/2000/svg"
                                  },
                                  {
                                    "text": "abc"
                                  }
                                ]
                              },
                              {
                                "tag": "td"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><svg></svg>abc</td><td></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td><svg></svg>abc</td><td></td></tr></tbody></table>"
      }
    }
  ],
  "tests19.dat": [
    {
      "data": "<!doctype html><math><mn DefinitionUrl=\"foo\">",
      "errors": [
        "(1,45): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mn": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mn",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "attrs": [
                          {
                            "name": "definitionURL",
                            "value": "foo"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><math><mn definitionURL=\"foo\"></mn></math></body></html>",
        "noQuirksBodyHtml": "<math><mn definitionURL=\"foo\"></mn></math>"
      }
    },
    {
      "data": "<!doctype html><html></p><!--foo-->",
      "errors": [
        "(1,25): end-tag-after-implied-root"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true,
          "comment": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "comment": "foo"
              },
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><!--foo--><head></head><body></body></html>",
        "noQuirksBodyHtml": "<p></p><!--foo-->"
      }
    },
    {
      "data": "<!doctype html><head></head></p><!--foo-->",
      "errors": [
        "(1,32): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true,
          "comment": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "comment": "foo"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><!--foo--><body></body></html>",
        "noQuirksBodyHtml": "<p></p><!--foo-->"
      }
    },
    {
      "data": "<!doctype html><body><p><pre>",
      "errors": [
        "(1,29): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "pre": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p"
                  },
                  {
                    "tag": "pre"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p></p><pre></pre></body></html>",
        "noQuirksBodyHtml": "<p></p><pre></pre>"
      }
    },
    {
      "data": "<!doctype html><body><p><listing>",
      "errors": [
        "(1,33): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "listing": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p"
                  },
                  {
                    "tag": "listing"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p></p><listing></listing></body></html>",
        "noQuirksBodyHtml": "<p></p><listing></listing>"
      }
    },
    {
      "data": "<!doctype html><p><plaintext>",
      "errors": [
        "(1,29): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "plaintext": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p"
                  },
                  {
                    "tag": "plaintext"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p></p><plaintext></plaintext></body></html>",
        "noQuirksBodyHtml": "<p></p><plaintext></plaintext>"
      }
    },
    {
      "data": "<!doctype html><p><h1>",
      "errors": [
        "(1,22): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "h1": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p"
                  },
                  {
                    "tag": "h1"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p></p><h1></h1></body></html>",
        "noQuirksBodyHtml": "<p></p><h1></h1>"
      }
    },
    {
      "data": "<!doctype html><isindex type=\"hidden\">",
      "errors": [
        "(1,38): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "isindex": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "isindex",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "hidden"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><isindex type=\"hidden\"></isindex></body></html>",
        "noQuirksBodyHtml": "<isindex type=\"hidden\"></isindex>"
      }
    },
    {
      "data": "<!doctype html><ruby><p><rp>",
      "errors": [
        "(1,28): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "p": true,
            "rp": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "tag": "p"
                      },
                      {
                        "tag": "rp"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><ruby><p></p><rp></rp></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby><p></p><rp></rp></ruby>"
      }
    },
    {
      "data": "<!doctype html><ruby><div><span><rp>",
      "errors": [
        "(1,36): XXX-undefined-error",
        "(1,36): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "div": true,
            "span": true,
            "rp": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "tag": "div",
                        "children": [
                          {
                            "tag": "span",
                            "children": [
                              {
                                "tag": "rp"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><ruby><div><span><rp></rp></span></div></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby><div><span><rp></rp></span></div></ruby>"
      }
    },
    {
      "data": "<!doctype html><ruby><div><p><rp>",
      "errors": [
        "(1,33): XXX-undefined-error",
        "(1,33): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "div": true,
            "p": true,
            "rp": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "tag": "div",
                        "children": [
                          {
                            "tag": "p"
                          },
                          {
                            "tag": "rp"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><ruby><div><p></p><rp></rp></div></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby><div><p></p><rp></rp></div></ruby>"
      }
    },
    {
      "data": "<!doctype html><ruby><p><rt>",
      "errors": [
        "(1,28): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "p": true,
            "rt": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "tag": "p"
                      },
                      {
                        "tag": "rt"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><ruby><p></p><rt></rt></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby><p></p><rt></rt></ruby>"
      }
    },
    {
      "data": "<!doctype html><ruby><div><span><rt>",
      "errors": [
        "(1,36): XXX-undefined-error",
        "(1,36): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "div": true,
            "span": true,
            "rt": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "tag": "div",
                        "children": [
                          {
                            "tag": "span",
                            "children": [
                              {
                                "tag": "rt"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><ruby><div><span><rt></rt></span></div></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby><div><span><rt></rt></span></div></ruby>"
      }
    },
    {
      "data": "<!doctype html><ruby><div><p><rt>",
      "errors": [
        "(1,33): XXX-undefined-error",
        "(1,33): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "div": true,
            "p": true,
            "rt": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "tag": "div",
                        "children": [
                          {
                            "tag": "p"
                          },
                          {
                            "tag": "rt"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><ruby><div><p></p><rt></rt></div></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby><div><p></p><rt></rt></div></ruby>"
      }
    },
    {
      "data": "<html><ruby>a<rb>b<rt></ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rb": true,
            "rt": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "rb",
                        "children": [
                          {
                            "text": "b"
                          }
                        ]
                      },
                      {
                        "tag": "rt"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby>a<rb>b</rb><rt></rt></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby>a<rb>b</rb><rt></rt></ruby>"
      }
    },
    {
      "data": "<html><ruby>a<rp>b<rt></ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rp": true,
            "rt": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "rp",
                        "children": [
                          {
                            "text": "b"
                          }
                        ]
                      },
                      {
                        "tag": "rt"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby>a<rp>b</rp><rt></rt></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby>a<rp>b</rp><rt></rt></ruby>"
      }
    },
    {
      "data": "<html><ruby>a<rt>b<rt></ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rt": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "rt",
                        "children": [
                          {
                            "text": "b"
                          }
                        ]
                      },
                      {
                        "tag": "rt"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby>a<rt>b</rt><rt></rt></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby>a<rt>b</rt><rt></rt></ruby>"
      }
    },
    {
      "data": "<html><ruby>a<rtc>b<rt>c<rb>d</ruby></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "rtc": true,
            "rt": true,
            "rb": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "rtc",
                        "children": [
                          {
                            "text": "b"
                          },
                          {
                            "tag": "rt",
                            "children": [
                              {
                                "text": "c"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "rb",
                        "children": [
                          {
                            "text": "d"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby>a<rtc>b<rt>c</rt></rtc><rb>d</rb></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby>a<rtc>b<rt>c</rt></rtc><rb>d</rb></ruby>"
      }
    },
    {
      "data": "<!doctype html><math/><foo>",
      "errors": [
        "(1,27): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "foo": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML"
                  },
                  {
                    "tag": "foo"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><math></math><foo></foo></body></html>",
        "noQuirksBodyHtml": "<math></math><foo></foo>"
      }
    },
    {
      "data": "<!doctype html><svg/><foo>",
      "errors": [
        "(1,26): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "foo": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg"
                  },
                  {
                    "tag": "foo"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg></svg><foo></foo></body></html>",
        "noQuirksBodyHtml": "<svg></svg><foo></foo>"
      }
    },
    {
      "data": "<!doctype html><div></body><!--foo-->",
      "errors": [
        "(1,27): expected-one-end-tag-but-got-another"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          },
          "doctype": true,
          "comment": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div"
                  }
                ]
              },
              {
                "comment": "foo"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><div></div></body><!--foo--></html>",
        "noQuirksBodyHtml": "<div><!--foo--></div>"
      }
    },
    {
      "data": "<!doctype html><h1><div><h3><span></h1>foo",
      "errors": [
        "(1,39): end-tag-too-early",
        "(1,42): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "h1": true,
            "div": true,
            "h3": true,
            "span": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "h1",
                    "children": [
                      {
                        "tag": "div",
                        "children": [
                          {
                            "tag": "h3",
                            "children": [
                              {
                                "tag": "span"
                              }
                            ]
                          },
                          {
                            "text": "foo"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><h1><div><h3><span></span></h3>foo</div></h1></body></html>",
        "noQuirksBodyHtml": "<h1><div><h3><span></span></h3>foo</div></h1>"
      }
    },
    {
      "data": "<!doctype html><p></h3>foo",
      "errors": [
        "(1,23): end-tag-too-early"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "foo"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p>foo</p></body></html>",
        "noQuirksBodyHtml": "<p>foo</p>"
      }
    },
    {
      "data": "<!doctype html><h3><li>abc</h2>foo",
      "errors": [
        "(1,31): end-tag-too-early"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "h3": true,
            "li": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "h3",
                    "children": [
                      {
                        "tag": "li",
                        "children": [
                          {
                            "text": "abc"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "text": "foo"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><h3><li>abc</li></h3>foo</body></html>",
        "noQuirksBodyHtml": "<h3><li>abc</li></h3>foo"
      }
    },
    {
      "data": "<!doctype html><table>abc<!--foo-->",
      "errors": [
        "(1,23): foster-parenting-character",
        "(1,24): foster-parenting-character",
        "(1,25): foster-parenting-character",
        "(1,35): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true
          },
          "doctype": true,
          "comment": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "abc"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "comment": "foo"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>abc<table><!--foo--></table></body></html>",
        "noQuirksBodyHtml": "abc<table><!--foo--></table>"
      }
    },
    {
      "data": "<!doctype html><table>  <!--foo-->",
      "errors": [
        "(1,34): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true
          },
          "doctype": true,
          "comment": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "text": "  "
                      },
                      {
                        "comment": "foo"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table>  <!--foo--></table></body></html>",
        "noQuirksBodyHtml": "<table>  <!--foo--></table>"
      }
    },
    {
      "data": "<!doctype html><table> b <!--foo-->",
      "errors": [
        "(1,23): foster-parenting-character",
        "(1,24): foster-parenting-character",
        "(1,25): foster-parenting-character",
        "(1,35): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true
          },
          "doctype": true,
          "comment": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": " b "
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "comment": "foo"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body> b <table><!--foo--></table></body></html>",
        "noQuirksBodyHtml": " b <table><!--foo--></table>"
      }
    },
    {
      "data": "<!doctype html><select><option><option>",
      "errors": [
        "(1,39): eof-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "option": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "tag": "option"
                      },
                      {
                        "tag": "option"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select><option></option><option></option></select></body></html>",
        "noQuirksBodyHtml": "<select><option></option><option></option></select>"
      }
    },
    {
      "data": "<!doctype html><select><option></optgroup>",
      "errors": [
        "(1,42): unexpected-end-tag-in-select",
        "(1,42): eof-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "option": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "tag": "option"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select><option></option></select></body></html>",
        "noQuirksBodyHtml": "<select><option></option></select>"
      }
    },
    {
      "data": "<!doctype html><select><option></optgroup>",
      "errors": [
        "(1,42): unexpected-end-tag-in-select",
        "(1,42): eof-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "option": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "tag": "option"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select><option></option></select></body></html>",
        "noQuirksBodyHtml": "<select><option></option></select>"
      }
    },
    {
      "data": "<!doctype html><dd><optgroup><dd>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "dd": true,
            "optgroup": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "dd",
                    "children": [
                      {
                        "tag": "optgroup"
                      }
                    ]
                  },
                  {
                    "tag": "dd"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><dd><optgroup></optgroup></dd><dd></dd></body></html>",
        "noQuirksBodyHtml": "<dd><optgroup></optgroup></dd><dd></dd>"
      }
    },
    {
      "data": "<!doctype html><p><math><mi><p><h1>",
      "errors": [
        "(1,35): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "math math": true,
            "math mi": true,
            "h1": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "math",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "mi",
                            "ns": "http://www.w3.org/1998/Math/MathML",
                            "children": [
                              {
                                "tag": "p"
                              },
                              {
                                "tag": "h1"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><math><mi><p></p><h1></h1></mi></math></p></body></html>",
        "noQuirksBodyHtml": "<p><math><mi><p></p><h1></h1></mi></math></p>"
      }
    },
    {
      "data": "<!doctype html><p><math><mo><p><h1>",
      "errors": [
        "(1,35): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "math math": true,
            "math mo": true,
            "h1": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "math",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "mo",
                            "ns": "http://www.w3.org/1998/Math/MathML",
                            "children": [
                              {
                                "tag": "p"
                              },
                              {
                                "tag": "h1"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><math><mo><p></p><h1></h1></mo></math></p></body></html>",
        "noQuirksBodyHtml": "<p><math><mo><p></p><h1></h1></mo></math></p>"
      }
    },
    {
      "data": "<!doctype html><p><math><mn><p><h1>",
      "errors": [
        "(1,35): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "math math": true,
            "math mn": true,
            "h1": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "math",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "mn",
                            "ns": "http://www.w3.org/1998/Math/MathML",
                            "children": [
                              {
                                "tag": "p"
                              },
                              {
                                "tag": "h1"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><math><mn><p></p><h1></h1></mn></math></p></body></html>",
        "noQuirksBodyHtml": "<p><math><mn><p></p><h1></h1></mn></math></p>"
      }
    },
    {
      "data": "<!doctype html><p><math><ms><p><h1>",
      "errors": [
        "(1,35): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "math math": true,
            "math ms": true,
            "h1": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "math",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "ms",
                            "ns": "http://www.w3.org/1998/Math/MathML",
                            "children": [
                              {
                                "tag": "p"
                              },
                              {
                                "tag": "h1"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><math><ms><p></p><h1></h1></ms></math></p></body></html>",
        "noQuirksBodyHtml": "<p><math><ms><p></p><h1></h1></ms></math></p>"
      }
    },
    {
      "data": "<!doctype html><p><math><mtext><p><h1>",
      "errors": [
        "(1,38): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "math math": true,
            "math mtext": true,
            "h1": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "math",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "mtext",
                            "ns": "http://www.w3.org/1998/Math/MathML",
                            "children": [
                              {
                                "tag": "p"
                              },
                              {
                                "tag": "h1"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><math><mtext><p></p><h1></h1></mtext></math></p></body></html>",
        "noQuirksBodyHtml": "<p><math><mtext><p></p><h1></h1></mtext></math></p>"
      }
    },
    {
      "data": "<!doctype html><frameset></noframes>",
      "errors": [
        "(1,36): unexpected-end-tag-in-frameset",
        "(1,36): eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!doctype html><html c=d><body></html><html a=b>",
      "errors": [
        "(1,48): non-html-root"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "attrs": [
              {
                "name": "a",
                "value": "b"
              },
              {
                "name": "c",
                "value": "d"
              }
            ],
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html c=\"d\" a=\"b\"><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!doctype html><html c=d><frameset></frameset></html><html a=b>",
      "errors": [
        "(1,63): non-html-root"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "attrs": [
              {
                "name": "a",
                "value": "b"
              },
              {
                "name": "c",
                "value": "d"
              }
            ],
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html c=\"d\" a=\"b\"><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!doctype html><html><frameset></frameset></html><!--foo-->",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          },
          "doctype": true,
          "comment": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          },
          {
            "comment": "foo"
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html><!--foo-->",
        "noQuirksBodyHtml": "<!--foo-->"
      }
    },
    {
      "data": "<!doctype html><html><frameset></frameset></html>  ",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              },
              {
                "text": "  "
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset></frameset>  </html>",
        "noQuirksBodyHtml": "  "
      }
    },
    {
      "data": "<!doctype html><html><frameset></frameset></html>abc",
      "errors": [
        "(1,50): expected-eof-but-got-char",
        "(1,51): expected-eof-but-got-char",
        "(1,52): expected-eof-but-got-char"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": "abc"
      }
    },
    {
      "data": "<!doctype html><html><frameset></frameset></html><p>",
      "errors": [
        "(1,52): expected-eof-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": "<p></p>"
      }
    },
    {
      "data": "<!doctype html><html><frameset></frameset></html></p>",
      "errors": [
        "(1,53): expected-eof-but-got-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": "<p></p>"
      }
    },
    {
      "data": "<html><frameset></frameset></html><!doctype html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,49): unexpected-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!doctype html><body><frameset>",
      "errors": [
        "(1,31): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!doctype html><p><frameset><frame>",
      "errors": [
        "(1,28): unexpected-start-tag",
        "(1,35): eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true,
            "frame": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset",
                "children": [
                  {
                    "tag": "frame"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset><frame></frameset></html>",
        "noQuirksBodyHtml": "<p></p>"
      }
    },
    {
      "data": "<!doctype html><p>a<frameset>",
      "errors": [
        "(1,29): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "a"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p>a</p></body></html>",
        "noQuirksBodyHtml": "<p>a</p>"
      }
    },
    {
      "data": "<!doctype html><p> <frameset><frame>",
      "errors": [
        "(1,29): unexpected-start-tag",
        "(1,36): eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true,
            "frame": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset",
                "children": [
                  {
                    "tag": "frame"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset><frame></frameset></html>",
        "noQuirksBodyHtml": "<p> </p>"
      }
    },
    {
      "data": "<!doctype html><pre><frameset>",
      "errors": [
        "(1,30): unexpected-start-tag",
        "(1,30): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "pre": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "pre"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><pre></pre></body></html>",
        "noQuirksBodyHtml": "<pre></pre>"
      }
    },
    {
      "data": "<!doctype html><listing><frameset>",
      "errors": [
        "(1,34): unexpected-start-tag",
        "(1,34): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "listing": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "listing"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><listing></listing></body></html>",
        "noQuirksBodyHtml": "<listing></listing>"
      }
    },
    {
      "data": "<!doctype html><li><frameset>",
      "errors": [
        "(1,29): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "li": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "li"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><li></li></body></html>",
        "noQuirksBodyHtml": "<li></li>"
      }
    },
    {
      "data": "<!doctype html><dd><frameset>",
      "errors": [
        "(1,29): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "dd": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "dd"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><dd></dd></body></html>",
        "noQuirksBodyHtml": "<dd></dd>"
      }
    },
    {
      "data": "<!doctype html><dt><frameset>",
      "errors": [
        "(1,29): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "dt": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "dt"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><dt></dt></body></html>",
        "noQuirksBodyHtml": "<dt></dt>"
      }
    },
    {
      "data": "<!doctype html><button><frameset>",
      "errors": [
        "(1,33): unexpected-start-tag",
        "(1,33): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "button": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "button"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><button></button></body></html>",
        "noQuirksBodyHtml": "<button></button>"
      }
    },
    {
      "data": "<!doctype html><applet><frameset>",
      "errors": [
        "(1,33): unexpected-start-tag",
        "(1,33): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "applet": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "applet"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><applet></applet></body></html>",
        "noQuirksBodyHtml": "<applet></applet>"
      }
    },
    {
      "data": "<!doctype html><marquee><frameset>",
      "errors": [
        "(1,34): unexpected-start-tag",
        "(1,34): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "marquee": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "marquee"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><marquee></marquee></body></html>",
        "noQuirksBodyHtml": "<marquee></marquee>"
      }
    },
    {
      "data": "<!doctype html><object><frameset>",
      "errors": [
        "(1,33): unexpected-start-tag",
        "(1,33): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "object": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "object"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><object></object></body></html>",
        "noQuirksBodyHtml": "<object></object>"
      }
    },
    {
      "data": "<!doctype html><table><frameset>",
      "errors": [
        "(1,32): unexpected-start-tag-implies-table-voodoo",
        "(1,32): unexpected-start-tag",
        "(1,32): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table></table></body></html>",
        "noQuirksBodyHtml": "<table></table>"
      }
    },
    {
      "data": "<!doctype html><area><frameset>",
      "errors": [
        "(1,31): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "area": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "area"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><area></body></html>",
        "noQuirksBodyHtml": "<area>"
      }
    },
    {
      "data": "<!doctype html><basefont><frameset>",
      "errors": [
        "(1,35): eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "basefont": true,
            "frameset": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "basefont"
                  }
                ]
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><basefont></head><frameset></frameset></html>",
        "noQuirksBodyHtml": "<basefont>"
      }
    },
    {
      "data": "<!doctype html><bgsound><frameset>",
      "errors": [
        "(1,34): eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "bgsound": true,
            "frameset": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "bgsound"
                  }
                ]
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><bgsound></head><frameset></frameset></html>",
        "noQuirksBodyHtml": "<bgsound>"
      }
    },
    {
      "data": "<!doctype html><br><frameset>",
      "errors": [
        "(1,29): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "br": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "br"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><br></body></html>",
        "noQuirksBodyHtml": "<br>"
      }
    },
    {
      "data": "<!doctype html><embed><frameset>",
      "errors": [
        "(1,32): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "embed": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "embed"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><embed></body></html>",
        "noQuirksBodyHtml": "<embed>"
      }
    },
    {
      "data": "<!doctype html><img><frameset>",
      "errors": [
        "(1,30): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "img": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "img"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><img></body></html>",
        "noQuirksBodyHtml": "<img>"
      }
    },
    {
      "data": "<!doctype html><input><frameset>",
      "errors": [
        "(1,32): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "input": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "input"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><input></body></html>",
        "noQuirksBodyHtml": "<input>"
      }
    },
    {
      "data": "<!doctype html><keygen><frameset>",
      "errors": [
        "(1,33): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "keygen": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "keygen"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><keygen></body></html>",
        "noQuirksBodyHtml": "<keygen>"
      }
    },
    {
      "data": "<!doctype html><wbr><frameset>",
      "errors": [
        "(1,30): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "wbr": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "wbr"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><wbr></body></html>",
        "noQuirksBodyHtml": "<wbr>"
      }
    },
    {
      "data": "<!doctype html><hr><frameset>",
      "errors": [
        "(1,29): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "hr": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "hr"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><hr></body></html>",
        "noQuirksBodyHtml": "<hr>"
      }
    },
    {
      "data": "<!doctype html><textarea></textarea><frameset>",
      "errors": [
        "(1,46): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "textarea": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "textarea"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><textarea></textarea></body></html>",
        "noQuirksBodyHtml": "<textarea></textarea>"
      }
    },
    {
      "data": "<!doctype html><xmp></xmp><frameset>",
      "errors": [
        "(1,36): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "xmp": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "xmp"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><xmp></xmp></body></html>",
        "noQuirksBodyHtml": "<xmp></xmp>"
      }
    },
    {
      "data": "<!doctype html><iframe></iframe><frameset>",
      "errors": [
        "(1,42): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "iframe": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "iframe"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><iframe></iframe></body></html>",
        "noQuirksBodyHtml": "<iframe></iframe>"
      }
    },
    {
      "data": "<!doctype html><select></select><frameset>",
      "errors": [
        "(1,42): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select></select></body></html>",
        "noQuirksBodyHtml": "<select></select>"
      }
    },
    {
      "data": "<!doctype html><svg></svg><frameset><frame>",
      "errors": [
        "(1,36): unexpected-start-tag",
        "(1,43): eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true,
            "frame": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset",
                "children": [
                  {
                    "tag": "frame"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset><frame></frameset></html>",
        "noQuirksBodyHtml": "<svg></svg>"
      }
    },
    {
      "data": "<!doctype html><math></math><frameset><frame>",
      "errors": [
        "(1,38): unexpected-start-tag",
        "(1,45): eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true,
            "frame": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset",
                "children": [
                  {
                    "tag": "frame"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset><frame></frameset></html>",
        "noQuirksBodyHtml": "<math></math>"
      }
    },
    {
      "data": "<!doctype html><svg><foreignObject><div> <frameset><frame>",
      "errors": [
        "(1,51): unexpected-start-tag",
        "(1,58): eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true,
            "frame": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset",
                "children": [
                  {
                    "tag": "frame"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset><frame></frameset></html>",
        "noQuirksBodyHtml": "<svg><foreignObject><div> </div></foreignObject></svg>"
      }
    },
    {
      "data": "<!doctype html><svg>a</svg><frameset><frame>",
      "errors": [
        "(1,37): unexpected-start-tag",
        "(1,44): unexpected-start-tag-ignored"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "a"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg>a</svg></body></html>",
        "noQuirksBodyHtml": "<svg>a</svg>"
      }
    },
    {
      "data": "<!doctype html><svg> </svg><frameset><frame>",
      "errors": [
        "(1,37): unexpected-start-tag",
        "(1,44): eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true,
            "frame": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset",
                "children": [
                  {
                    "tag": "frame"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset><frame></frameset></html>",
        "noQuirksBodyHtml": "<svg> </svg>"
      }
    },
    {
      "data": "<html>aaa<frameset></frameset>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,19): unexpected-start-tag",
        "(1,30): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "aaa"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>aaa</body></html>",
        "noQuirksBodyHtml": "aaa"
      }
    },
    {
      "data": "<html> a <frameset></frameset>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,19): unexpected-start-tag",
        "(1,30): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "a "
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>a </body></html>",
        "noQuirksBodyHtml": " a "
      }
    },
    {
      "data": "<!doctype html><div><frameset>",
      "errors": [
        "(1,30): unexpected-start-tag",
        "(1,30): eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": "<div></div>"
      }
    },
    {
      "data": "<!doctype html><div><body><frameset>",
      "errors": [
        "(1,26): unexpected-start-tag",
        "(1,36): unexpected-start-tag",
        "(1,36): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><div></div></body></html>",
        "noQuirksBodyHtml": "<div></div>"
      }
    },
    {
      "data": "<!doctype html><p><math></p>a",
      "errors": [
        "(1,28): unexpected-end-tag",
        "(1,28): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "math math": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "math",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      }
                    ]
                  },
                  {
                    "text": "a"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><math></math></p>a</body></html>",
        "noQuirksBodyHtml": "<p><math></math></p>a"
      }
    },
    {
      "data": "<!doctype html><p><math><mn><span></p>a",
      "errors": [
        "(1,38): unexpected-end-tag",
        "(1,39): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "math math": true,
            "math mn": true,
            "span": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "math",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "mn",
                            "ns": "http://www.w3.org/1998/Math/MathML",
                            "children": [
                              {
                                "tag": "span",
                                "children": [
                                  {
                                    "tag": "p"
                                  },
                                  {
                                    "text": "a"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><math><mn><span><p></p>a</span></mn></math></p></body></html>",
        "noQuirksBodyHtml": "<p><math><mn><span><p></p>a</span></mn></math></p>"
      }
    },
    {
      "data": "<!doctype html><math></html>",
      "errors": [
        "(1,28): unexpected-end-tag",
        "(1,28): expected-one-end-tag-but-got-another",
        "(1,28): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><math></math></body></html>",
        "noQuirksBodyHtml": "<math></math>"
      }
    },
    {
      "data": "<!doctype html><meta charset=\"ascii\">",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "meta": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "meta",
                    "attrs": [
                      {
                        "name": "charset",
                        "value": "ascii"
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><meta charset=\"ascii\"></head><body></body></html>",
        "noQuirksBodyHtml": "<meta charset=\"ascii\">"
      }
    },
    {
      "data": "<!doctype html><meta http-equiv=\"content-type\" content=\"text/html;charset=ascii\">",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "meta": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "meta",
                    "attrs": [
                      {
                        "name": "content",
                        "value": "text/html;charset=ascii"
                      },
                      {
                        "name": "http-equiv",
                        "value": "content-type"
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><meta http-equiv=\"content-type\" content=\"text/html;charset=ascii\"></head><body></body></html>",
        "noQuirksBodyHtml": "<meta http-equiv=\"content-type\" content=\"text/html;charset=ascii\">"
      }
    },
    {
      "data": "<!doctype html><head><!--aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa--><meta charset=\"utf8\">",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "meta": true,
            "body": true
          },
          "doctype": true,
          "comment": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "comment": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
                  },
                  {
                    "tag": "meta",
                    "attrs": [
                      {
                        "name": "charset",
                        "value": "utf8"
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><!--aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa--><meta charset=\"utf8\"></head><body></body></html>",
        "noQuirksBodyHtml": "<!--aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa--><meta charset=\"utf8\">"
      }
    },
    {
      "data": "<!doctype html><html a=b><head></head><html c=d>",
      "errors": [
        "(1,48): non-html-root"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "attrs": [
              {
                "name": "a",
                "value": "b"
              },
              {
                "name": "c",
                "value": "d"
              }
            ],
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html a=\"b\" c=\"d\"><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!doctype html><image/>",
      "errors": [
        "(1,23): image-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "img": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "img"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><img></body></html>",
        "noQuirksBodyHtml": "<img>"
      }
    },
    {
      "data": "<!doctype html>a<i>b<table>c<b>d</i>e</b>f",
      "errors": [
        "(1,28): foster-parenting-character",
        "(1,31): foster-parenting-start-tag",
        "(1,32): foster-parenting-character",
        "(1,36): foster-parenting-end-tag",
        "(1,36): adoption-agency-1.3",
        "(1,37): foster-parenting-character",
        "(1,41): foster-parenting-end-tag",
        "(1,42): foster-parenting-character",
        "(1,42): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "i": true,
            "b": true,
            "table": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "a"
                  },
                  {
                    "tag": "i",
                    "children": [
                      {
                        "text": "bc"
                      },
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": "de"
                          }
                        ]
                      },
                      {
                        "text": "f"
                      },
                      {
                        "tag": "table"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>a<i>bc<b>de</b>f<table></table></i></body></html>",
        "noQuirksBodyHtml": "a<i>bc<b>de</b>f<table></table></i>"
      }
    },
    {
      "data": "<!doctype html><table><i>a<b>b<div>c<a>d</i>e</b>f",
      "errors": [
        "(1,25): foster-parenting-start-tag",
        "(1,26): foster-parenting-character",
        "(1,29): foster-parenting-start-tag",
        "(1,30): foster-parenting-character",
        "(1,35): foster-parenting-start-tag",
        "(1,36): foster-parenting-character",
        "(1,39): foster-parenting-start-tag",
        "(1,40): foster-parenting-character",
        "(1,44): foster-parenting-end-tag",
        "(1,44): adoption-agency-1.3",
        "(1,44): adoption-agency-1.3",
        "(1,45): foster-parenting-character",
        "(1,49): foster-parenting-end-tag",
        "(1,49): adoption-agency-1.3",
        "(1,49): adoption-agency-1.3",
        "(1,50): foster-parenting-character",
        "(1,50): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "i": true,
            "b": true,
            "div": true,
            "a": true,
            "table": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "i",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": "b"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "b"
                  },
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "b",
                        "children": [
                          {
                            "tag": "i",
                            "children": [
                              {
                                "text": "c"
                              },
                              {
                                "tag": "a",
                                "children": [
                                  {
                                    "text": "d"
                                  }
                                ]
                              }
                            ]
                          },
                          {
                            "tag": "a",
                            "children": [
                              {
                                "text": "e"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "a",
                        "children": [
                          {
                            "text": "f"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><i>a<b>b</b></i><b></b><div><b><i>c<a>d</a></i><a>e</a></b><a>f</a></div><table></table></body></html>",
        "noQuirksBodyHtml": "<i>a<b>b</b></i><b></b><div><b><i>c<a>d</a></i><a>e</a></b><a>f</a></div><table></table>"
      }
    },
    {
      "data": "<!doctype html><i>a<b>b<div>c<a>d</i>e</b>f",
      "errors": [
        "(1,37): adoption-agency-1.3",
        "(1,37): adoption-agency-1.3",
        "(1,42): adoption-agency-1.3",
        "(1,42): adoption-agency-1.3",
        "(1,43): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "i": true,
            "b": true,
            "div": true,
            "a": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "i",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": "b"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "b"
                  },
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "b",
                        "children": [
                          {
                            "tag": "i",
                            "children": [
                              {
                                "text": "c"
                              },
                              {
                                "tag": "a",
                                "children": [
                                  {
                                    "text": "d"
                                  }
                                ]
                              }
                            ]
                          },
                          {
                            "tag": "a",
                            "children": [
                              {
                                "text": "e"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "a",
                        "children": [
                          {
                            "text": "f"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><i>a<b>b</b></i><b></b><div><b><i>c<a>d</a></i><a>e</a></b><a>f</a></div></body></html>",
        "noQuirksBodyHtml": "<i>a<b>b</b></i><b></b><div><b><i>c<a>d</a></i><a>e</a></b><a>f</a></div>"
      }
    },
    {
      "data": "<!doctype html><table><i>a<b>b<div>c</i>",
      "errors": [
        "(1,25): foster-parenting-start-tag",
        "(1,26): foster-parenting-character",
        "(1,29): foster-parenting-start-tag",
        "(1,30): foster-parenting-character",
        "(1,35): foster-parenting-start-tag",
        "(1,36): foster-parenting-character",
        "(1,40): foster-parenting-end-tag",
        "(1,40): adoption-agency-1.3",
        "(1,40): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "i": true,
            "b": true,
            "div": true,
            "table": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "i",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": "b"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "div",
                        "children": [
                          {
                            "tag": "i",
                            "children": [
                              {
                                "text": "c"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><i>a<b>b</b></i><b><div><i>c</i></div></b><table></table></body></html>",
        "noQuirksBodyHtml": "<i>a<b>b</b></i><b><div><i>c</i></div></b><table></table>"
      }
    },
    {
      "data": "<!doctype html><table><i>a<b>b<div>c<a>d</i>e</b>f",
      "errors": [
        "(1,25): foster-parenting-start-tag",
        "(1,26): foster-parenting-character",
        "(1,29): foster-parenting-start-tag",
        "(1,30): foster-parenting-character",
        "(1,35): foster-parenting-start-tag",
        "(1,36): foster-parenting-character",
        "(1,39): foster-parenting-start-tag",
        "(1,40): foster-parenting-character",
        "(1,44): foster-parenting-end-tag",
        "(1,44): adoption-agency-1.3",
        "(1,44): adoption-agency-1.3",
        "(1,45): foster-parenting-character",
        "(1,49): foster-parenting-end-tag",
        "(1,44): adoption-agency-1.3",
        "(1,44): adoption-agency-1.3",
        "(1,50): foster-parenting-character",
        "(1,50): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "i": true,
            "b": true,
            "div": true,
            "a": true,
            "table": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "i",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": "b"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "b"
                  },
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "b",
                        "children": [
                          {
                            "tag": "i",
                            "children": [
                              {
                                "text": "c"
                              },
                              {
                                "tag": "a",
                                "children": [
                                  {
                                    "text": "d"
                                  }
                                ]
                              }
                            ]
                          },
                          {
                            "tag": "a",
                            "children": [
                              {
                                "text": "e"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "a",
                        "children": [
                          {
                            "text": "f"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><i>a<b>b</b></i><b></b><div><b><i>c<a>d</a></i><a>e</a></b><a>f</a></div><table></table></body></html>",
        "noQuirksBodyHtml": "<i>a<b>b</b></i><b></b><div><b><i>c<a>d</a></i><a>e</a></b><a>f</a></div><table></table>"
      }
    },
    {
      "data": "<!doctype html><table><i>a<div>b<tr>c<b>d</i>e",
      "errors": [
        "(1,25): foster-parenting-start-tag",
        "(1,26): foster-parenting-character",
        "(1,31): foster-parenting-start-tag",
        "(1,32): foster-parenting-character",
        "(1,37): foster-parenting-character",
        "(1,40): foster-parenting-start-tag",
        "(1,41): foster-parenting-character",
        "(1,45): foster-parenting-end-tag",
        "(1,45): adoption-agency-1.3",
        "(1,46): foster-parenting-character",
        "(1,46): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "i": true,
            "div": true,
            "b": true,
            "table": true,
            "tbody": true,
            "tr": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "i",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "div",
                        "children": [
                          {
                            "text": "b"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "i",
                    "children": [
                      {
                        "text": "c"
                      },
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": "d"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "b",
                    "children": [
                      {
                        "text": "e"
                      }
                    ]
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><i>a<div>b</div></i><i>c<b>d</b></i><b>e</b><table><tbody><tr></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<i>a<div>b</div></i><i>c<b>d</b></i><b>e</b><table><tbody><tr></tr></tbody></table>"
      }
    },
    {
      "data": "<!doctype html><table><td><table><i>a<div>b<b>c</i>d",
      "errors": [
        "(1,26): unexpected-cell-in-table-body",
        "(1,36): foster-parenting-start-tag",
        "(1,37): foster-parenting-character",
        "(1,42): foster-parenting-start-tag",
        "(1,43): foster-parenting-character",
        "(1,46): foster-parenting-start-tag",
        "(1,47): foster-parenting-character",
        "(1,51): foster-parenting-end-tag",
        "(1,51): adoption-agency-1.3",
        "(1,51): adoption-agency-1.3",
        "(1,52): foster-parenting-character",
        "(1,52): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "i": true,
            "div": true,
            "b": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "i",
                                    "children": [
                                      {
                                        "text": "a"
                                      }
                                    ]
                                  },
                                  {
                                    "tag": "div",
                                    "children": [
                                      {
                                        "tag": "i",
                                        "children": [
                                          {
                                            "text": "b"
                                          },
                                          {
                                            "tag": "b",
                                            "children": [
                                              {
                                                "text": "c"
                                              }
                                            ]
                                          }
                                        ]
                                      },
                                      {
                                        "tag": "b",
                                        "children": [
                                          {
                                            "text": "d"
                                          }
                                        ]
                                      }
                                    ]
                                  },
                                  {
                                    "tag": "table"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><i>a</i><div><i>b<b>c</b></i><b>d</b></div><table></table></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td><i>a</i><div><i>b<b>c</b></i><b>d</b></div><table></table></td></tr></tbody></table>"
      }
    },
    {
      "data": "<!doctype html><body><bgsound>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "bgsound": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "bgsound"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><bgsound></body></html>",
        "noQuirksBodyHtml": "<bgsound>"
      }
    },
    {
      "data": "<!doctype html><body><basefont>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "basefont": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "basefont"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><basefont></body></html>",
        "noQuirksBodyHtml": "<basefont>"
      }
    },
    {
      "data": "<!doctype html><a><b></a><basefont>",
      "errors": [
        "(1,25): adoption-agency-1.3"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "b": true,
            "basefont": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "children": [
                      {
                        "tag": "b"
                      }
                    ]
                  },
                  {
                    "tag": "basefont"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><a><b></b></a><basefont></body></html>",
        "noQuirksBodyHtml": "<a><b></b></a><basefont>"
      }
    },
    {
      "data": "<!doctype html><a><b></a><bgsound>",
      "errors": [
        "(1,25): adoption-agency-1.3"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "b": true,
            "bgsound": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "children": [
                      {
                        "tag": "b"
                      }
                    ]
                  },
                  {
                    "tag": "bgsound"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><a><b></b></a><bgsound></body></html>",
        "noQuirksBodyHtml": "<a><b></b></a><bgsound>"
      }
    },
    {
      "data": "<!doctype html><figcaption><article></figcaption>a",
      "errors": [
        "(1,49): end-tag-too-early"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "figcaption": true,
            "article": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "figcaption",
                    "children": [
                      {
                        "tag": "article"
                      }
                    ]
                  },
                  {
                    "text": "a"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><figcaption><article></article></figcaption>a</body></html>",
        "noQuirksBodyHtml": "<figcaption><article></article></figcaption>a"
      }
    },
    {
      "data": "<!doctype html><summary><article></summary>a",
      "errors": [
        "(1,43): end-tag-too-early"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "summary": true,
            "article": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "summary",
                    "children": [
                      {
                        "tag": "article"
                      }
                    ]
                  },
                  {
                    "text": "a"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><summary><article></article></summary>a</body></html>",
        "noQuirksBodyHtml": "<summary><article></article></summary>a"
      }
    },
    {
      "data": "<!doctype html><p><a><plaintext>b",
      "errors": [
        "(1,32): unexpected-end-tag",
        "(1,33): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "a": true,
            "plaintext": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "a"
                      }
                    ]
                  },
                  {
                    "tag": "plaintext",
                    "children": [
                      {
                        "tag": "a",
                        "children": [
                          {
                            "text": "b"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><a></a></p><plaintext><a>b</a></plaintext></body></html>",
        "noQuirksBodyHtml": "<p><a></a></p><plaintext><a>b</a></plaintext>"
      }
    },
    {
      "data": "<!DOCTYPE html><div>a<a></div>b<p>c</p>d",
      "errors": [
        "(1,30): end-tag-too-early",
        "(1,40): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "a": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "a"
                      }
                    ]
                  },
                  {
                    "tag": "a",
                    "children": [
                      {
                        "text": "b"
                      },
                      {
                        "tag": "p",
                        "children": [
                          {
                            "text": "c"
                          }
                        ]
                      },
                      {
                        "text": "d"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><div>a<a></a></div><a>b<p>c</p>d</a></body></html>",
        "noQuirksBodyHtml": "<div>a<a></a></div><a>b<p>c</p>d</a>"
      }
    }
  ],
  "tests2.dat": [
    {
      "data": "<!DOCTYPE html>Test",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Test"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>Test</body></html>",
        "noQuirksBodyHtml": "Test"
      }
    },
    {
      "data": "<textarea>test</div>test",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag",
        "(1,24): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "textarea": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "textarea",
                    "children": [
                      {
                        "text": "test</div>test",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><textarea>test&lt;/div&gt;test</textarea></body></html>",
        "noQuirksBodyHtml": "<textarea>test&lt;/div&gt;test</textarea>"
      }
    },
    {
      "data": "<table><td>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,11): unexpected-cell-in-table-body",
        "(1,11): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><tr><td></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td></td></tr></tbody></table>"
      }
    },
    {
      "data": "<table><td>test</tbody></table>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,11): unexpected-cell-in-table-body"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "text": "test"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><tr><td>test</td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td>test</td></tr></tbody></table>"
      }
    },
    {
      "data": "<frame>test",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,7): unexpected-start-tag-ignored"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "test"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>test</body></html>",
        "noQuirksBodyHtml": "test"
      }
    },
    {
      "data": "<!DOCTYPE html><frameset>test",
      "errors": [
        "(1,29): unexpected-char-in-frameset",
        "(1,29): unexpected-char-in-frameset",
        "(1,29): unexpected-char-in-frameset",
        "(1,29): unexpected-char-in-frameset",
        "(1,29): eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": "test"
      }
    },
    {
      "data": "<!DOCTYPE html><frameset> te st",
      "errors": [
        "(1,29): unexpected-char-in-frameset",
        "(1,29): unexpected-char-in-frameset",
        "(1,29): unexpected-char-in-frameset",
        "(1,29): unexpected-char-in-frameset",
        "(1,29): eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset",
                "children": [
                  {
                    "text": "  "
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset>  </frameset></html>",
        "noQuirksBodyHtml": " te st"
      }
    },
    {
      "data": "<!DOCTYPE html><frameset></frameset> te st",
      "errors": [
        "(1,29): unexpected-char-after-frameset",
        "(1,29): unexpected-char-after-frameset",
        "(1,29): unexpected-char-after-frameset",
        "(1,29): unexpected-char-after-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              },
              {
                "text": "  "
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset></frameset>  </html>",
        "noQuirksBodyHtml": " te st"
      }
    },
    {
      "data": "<!DOCTYPE html><frameset><!DOCTYPE html>",
      "errors": [
        "(1,40): unexpected-doctype",
        "(1,40): eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!DOCTYPE html><font><p><b>test</font>",
      "errors": [
        "(1,38): adoption-agency-1.3",
        "(1,38): adoption-agency-1.3"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "font": true,
            "p": true,
            "b": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "font"
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "font",
                        "children": [
                          {
                            "tag": "b",
                            "children": [
                              {
                                "text": "test"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><font></font><p><font><b>test</b></font></p></body></html>",
        "noQuirksBodyHtml": "<font></font><p><font><b>test</b></font></p>"
      }
    },
    {
      "data": "<!DOCTYPE html><dt><div><dd>",
      "errors": [
        "(1,28): end-tag-too-early"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "dt": true,
            "div": true,
            "dd": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "dt",
                    "children": [
                      {
                        "tag": "div"
                      }
                    ]
                  },
                  {
                    "tag": "dd"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><dt><div></div></dt><dd></dd></body></html>",
        "noQuirksBodyHtml": "<dt><div></div></dt><dd></dd>"
      }
    },
    {
      "data": "<script></x",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,11): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "</x",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script></x</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></x</script>"
      }
    },
    {
      "data": "<table><plaintext><td>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,18): unexpected-start-tag-implies-table-voodoo",
        "(1,22): foster-parenting-character-in-table",
        "(1,22): foster-parenting-character-in-table",
        "(1,22): foster-parenting-character-in-table",
        "(1,22): foster-parenting-character-in-table",
        "(1,22): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "plaintext": true,
            "table": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "plaintext",
                    "children": [
                      {
                        "text": "<td>",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><plaintext><td></plaintext><table></table></body></html>",
        "noQuirksBodyHtml": "<plaintext><td></plaintext><table></table>"
      }
    },
    {
      "data": "<plaintext></plaintext>",
      "errors": [
        "(1,11): expected-doctype-but-got-start-tag",
        "(1,23): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "plaintext": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "plaintext",
                    "children": [
                      {
                        "text": "</plaintext>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><plaintext></plaintext></plaintext></body></html>",
        "noQuirksBodyHtml": "<plaintext></plaintext></plaintext>"
      }
    },
    {
      "data": "<!DOCTYPE html><table><tr>TEST",
      "errors": [
        "(1,30): foster-parenting-character-in-table",
        "(1,30): foster-parenting-character-in-table",
        "(1,30): foster-parenting-character-in-table",
        "(1,30): foster-parenting-character-in-table",
        "(1,30): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "TEST"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>TEST<table><tbody><tr></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "TEST<table><tbody><tr></tr></tbody></table>"
      }
    },
    {
      "data": "<!DOCTYPE html><body t1=1><body t2=2><body t3=3 t4=4>",
      "errors": [
        "(1,37): unexpected-start-tag",
        "(1,53): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "attrs": [
                  {
                    "name": "t1",
                    "value": "1"
                  },
                  {
                    "name": "t2",
                    "value": "2"
                  },
                  {
                    "name": "t3",
                    "value": "3"
                  },
                  {
                    "name": "t4",
                    "value": "4"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body t1=\"1\" t2=\"2\" t3=\"3\" t4=\"4\"></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "</b test",
      "errors": [
        "(1,8): eof-in-attribute-name",
        "(1,8): expected-doctype-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!DOCTYPE html></b test<b &=&amp>X",
      "errors": [
        "(1,24): invalid-character-in-attribute-name",
        "(1,32): named-entity-without-semicolon",
        "(1,33): attributes-in-end-tag",
        "(1,33): unexpected-end-tag-before-html"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "X"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>X</body></html>",
        "noQuirksBodyHtml": "X"
      }
    },
    {
      "data": "<!doctypehtml><scrIPt type=text/x-foobar;baz>X</SCRipt",
      "errors": [
        "(1,9): need-space-after-doctype",
        "(1,54): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "text/x-foobar;baz"
                      }
                    ],
                    "children": [
                      {
                        "text": "X</SCRipt",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script type=\"text/x-foobar;baz\">X</SCRipt</script></head><body></body></html>",
        "noQuirksBodyHtml": "<script type=\"text/x-foobar;baz\">X</SCRipt</script>"
      }
    },
    {
      "data": "&",
      "errors": [
        "(1,1): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "&",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>&amp;</body></html>",
        "noQuirksBodyHtml": "&amp;"
      }
    },
    {
      "data": "&#",
      "errors": [
        "(1,2): expected-numeric-entity",
        "(1,2): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "&#",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>&amp;#</body></html>",
        "noQuirksBodyHtml": "&amp;#"
      }
    },
    {
      "data": "&#X",
      "errors": [
        "(1,3): expected-numeric-entity",
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "&#X",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>&amp;#X</body></html>",
        "noQuirksBodyHtml": "&amp;#X"
      }
    },
    {
      "data": "&#x",
      "errors": [
        "(1,3): expected-numeric-entity",
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "&#x",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>&amp;#x</body></html>",
        "noQuirksBodyHtml": "&amp;#x"
      }
    },
    {
      "data": "&#45",
      "errors": [
        "(1,4): numeric-entity-without-semicolon",
        "(1,4): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "-"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>-</body></html>",
        "noQuirksBodyHtml": "-"
      }
    },
    {
      "data": "&x-test",
      "errors": [
        "(1,2): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "&x-test",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>&amp;x-test</body></html>",
        "noQuirksBodyHtml": "&amp;x-test"
      }
    },
    {
      "data": "<!doctypehtml><p><li>",
      "errors": [
        "(1,9): need-space-after-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "li": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p"
                  },
                  {
                    "tag": "li"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p></p><li></li></body></html>",
        "noQuirksBodyHtml": "<p></p><li></li>"
      }
    },
    {
      "data": "<!doctypehtml><p><dt>",
      "errors": [
        "(1,9): need-space-after-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "dt": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p"
                  },
                  {
                    "tag": "dt"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p></p><dt></dt></body></html>",
        "noQuirksBodyHtml": "<p></p><dt></dt>"
      }
    },
    {
      "data": "<!doctypehtml><p><dd>",
      "errors": [
        "(1,9): need-space-after-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "dd": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p"
                  },
                  {
                    "tag": "dd"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p></p><dd></dd></body></html>",
        "noQuirksBodyHtml": "<p></p><dd></dd>"
      }
    },
    {
      "data": "<!doctypehtml><p><form>",
      "errors": [
        "(1,9): need-space-after-doctype",
        "(1,23): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "form": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p"
                  },
                  {
                    "tag": "form"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p></p><form></form></body></html>",
        "noQuirksBodyHtml": "<p></p><form></form>"
      }
    },
    {
      "data": "<!DOCTYPE html><p></P>X",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p"
                  },
                  {
                    "text": "X"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p></p>X</body></html>",
        "noQuirksBodyHtml": "<p></p>X"
      }
    },
    {
      "data": "&AMP",
      "errors": [
        "(1,4): named-entity-without-semicolon",
        "(1,4): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "&",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>&amp;</body></html>",
        "noQuirksBodyHtml": "&amp;"
      }
    },
    {
      "data": "&AMp;",
      "errors": [
        "(1,3): expected-named-entity",
        "(1,3): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "&AMp;",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>&amp;AMp;</body></html>",
        "noQuirksBodyHtml": "&amp;AMp;"
      }
    },
    {
      "data": "<!DOCTYPE html><html><head></head><body><thisISasillyTESTelementNameToMakeSureCrazyTagNamesArePARSEDcorrectLY>",
      "errors": [
        "(1,110): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "thisisasillytestelementnametomakesurecrazytagnamesareparsedcorrectly": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "thisisasillytestelementnametomakesurecrazytagnamesareparsedcorrectly"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><thisisasillytestelementnametomakesurecrazytagnamesareparsedcorrectly></thisisasillytestelementnametomakesurecrazytagnamesareparsedcorrectly></body></html>",
        "noQuirksBodyHtml": "<thisisasillytestelementnametomakesurecrazytagnamesareparsedcorrectly></thisisasillytestelementnametomakesurecrazytagnamesareparsedcorrectly>"
      }
    },
    {
      "data": "<!DOCTYPE html>X</body>X",
      "errors": [
        "(1,24): unexpected-char-after-body"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "XX"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>XX</body></html>",
        "noQuirksBodyHtml": "XX"
      }
    },
    {
      "data": "<!DOCTYPE html><!-- X",
      "errors": [
        "(1,21): eof-in-comment"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true,
          "comment": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "comment": " X"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><!-- X--><html><head></head><body></body></html>",
        "noQuirksBodyHtml": "<!-- X-->"
      }
    },
    {
      "data": "<!DOCTYPE html><table><caption>test TEST</caption><td>test",
      "errors": [
        "(1,54): unexpected-cell-in-table-body",
        "(1,58): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "caption": true,
            "tbody": true,
            "tr": true,
            "td": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "caption",
                        "children": [
                          {
                            "text": "test TEST"
                          }
                        ]
                      },
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "text": "test"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><caption>test TEST</caption><tbody><tr><td>test</td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><caption>test TEST</caption><tbody><tr><td>test</td></tr></tbody></table>"
      }
    },
    {
      "data": "<!DOCTYPE html><select><option><optgroup>",
      "errors": [
        "(1,41): eof-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "option": true,
            "optgroup": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "tag": "option"
                      },
                      {
                        "tag": "optgroup"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select><option></option><optgroup></optgroup></select></body></html>",
        "noQuirksBodyHtml": "<select><option></option><optgroup></optgroup></select>"
      }
    },
    {
      "data": "<!DOCTYPE html><select><optgroup><option></optgroup><option><select><option>",
      "errors": [
        "(1,68): unexpected-select-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "optgroup": true,
            "option": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "tag": "optgroup",
                        "children": [
                          {
                            "tag": "option"
                          }
                        ]
                      },
                      {
                        "tag": "option"
                      }
                    ]
                  },
                  {
                    "tag": "option"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select><optgroup><option></option></optgroup><option></option></select><option></option></body></html>",
        "noQuirksBodyHtml": "<select><optgroup><option></option></optgroup><option></option></select><option></option>"
      }
    },
    {
      "data": "<!DOCTYPE html><select><optgroup><option><optgroup>",
      "errors": [
        "(1,51): eof-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "optgroup": true,
            "option": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "tag": "optgroup",
                        "children": [
                          {
                            "tag": "option"
                          }
                        ]
                      },
                      {
                        "tag": "optgroup"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select><optgroup><option></option></optgroup><optgroup></optgroup></select></body></html>",
        "noQuirksBodyHtml": "<select><optgroup><option></option></optgroup><optgroup></optgroup></select>"
      }
    },
    {
      "data": "<!DOCTYPE html><datalist><option>foo</datalist>bar",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "datalist": true,
            "option": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "datalist",
                    "children": [
                      {
                        "tag": "option",
                        "children": [
                          {
                            "text": "foo"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "text": "bar"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><datalist><option>foo</option></datalist>bar</body></html>",
        "noQuirksBodyHtml": "<datalist><option>foo</option></datalist>bar"
      }
    },
    {
      "data": "<!DOCTYPE html><font><input><input></font>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "font": true,
            "input": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "font",
                    "children": [
                      {
                        "tag": "input"
                      },
                      {
                        "tag": "input"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><font><input><input></font></body></html>",
        "noQuirksBodyHtml": "<font><input><input></font>"
      }
    },
    {
      "data": "<!DOCTYPE html><!-- XXX - XXX -->",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true,
          "comment": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "comment": " XXX - XXX "
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><!-- XXX - XXX --><html><head></head><body></body></html>",
        "noQuirksBodyHtml": "<!-- XXX - XXX -->"
      }
    },
    {
      "data": "<!DOCTYPE html><!-- XXX - XXX",
      "errors": [
        "(1,29): eof-in-comment"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true,
          "comment": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "comment": " XXX - XXX"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><!-- XXX - XXX--><html><head></head><body></body></html>",
        "noQuirksBodyHtml": "<!-- XXX - XXX-->"
      }
    },
    {
      "data": "<!DOCTYPE html><!-- XXX - XXX - XXX -->",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true,
          "comment": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "comment": " XXX - XXX - XXX "
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><!-- XXX - XXX - XXX --><html><head></head><body></body></html>",
        "noQuirksBodyHtml": "<!-- XXX - XXX - XXX -->"
      }
    },
    {
      "data": "test\ntest",
      "errors": [
        "(2,4): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "test\ntest"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>test\ntest</body></html>",
        "noQuirksBodyHtml": "test\ntest"
      }
    },
    {
      "data": "<!DOCTYPE html><body><title>test</body></title>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "title": true
          },
          "doctype": true,
          "escaped": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "test</body>",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><title>test&lt;/body&gt;</title></body></html>",
        "noQuirksBodyHtml": "<title>test&lt;/body&gt;</title>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><title>X</title><meta name=z><link rel=foo><style>\nx { content:\"</style\" } </style>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "title": true,
            "meta": true,
            "link": true,
            "style": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "X"
                      }
                    ]
                  },
                  {
                    "tag": "meta",
                    "attrs": [
                      {
                        "name": "name",
                        "value": "z"
                      }
                    ]
                  },
                  {
                    "tag": "link",
                    "attrs": [
                      {
                        "name": "rel",
                        "value": "foo"
                      }
                    ]
                  },
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": "\nx { content:\"</style\" } ",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><title>X</title><meta name=\"z\"><link rel=\"foo\"><style>\nx { content:\"</style\" } </style></body></html>",
        "noQuirksBodyHtml": "<title>X</title><meta name=\"z\"><link rel=\"foo\"><style>\nx { content:\"</style\" } </style>"
      }
    },
    {
      "data": "<!DOCTYPE html><select><optgroup></optgroup></select>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "optgroup": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "tag": "optgroup"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select><optgroup></optgroup></select></body></html>",
        "noQuirksBodyHtml": "<select><optgroup></optgroup></select>"
      }
    },
    {
      "data": " \n ",
      "errors": [
        "(2,1): expected-doctype-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": " \n "
      }
    },
    {
      "data": "<!DOCTYPE html>  <html>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body></body></html>",
        "noQuirksBodyHtml": "  "
      }
    },
    {
      "data": "<!DOCTYPE html><script>\n</script>  <title>x</title>  </head>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "title": true,
            "body": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "\n",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "  "
                  },
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "x"
                      }
                    ]
                  },
                  {
                    "text": "  "
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><script>\n</script>  <title>x</title>  </head><body></body></html>",
        "noQuirksBodyHtml": "<script>\n</script>  <title>x</title>  "
      }
    },
    {
      "data": "<!DOCTYPE html><html><body><html id=x>",
      "errors": [
        "(1,38): non-html-root"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "attrs": [
              {
                "name": "id",
                "value": "x"
              }
            ],
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html id=\"x\"><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!DOCTYPE html>X</body><html id=\"x\">",
      "errors": [
        "(1,36): non-html-root"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "attrs": [
              {
                "name": "id",
                "value": "x"
              }
            ],
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "X"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html id=\"x\"><head></head><body>X</body></html>",
        "noQuirksBodyHtml": "X"
      }
    },
    {
      "data": "<!DOCTYPE html><head><html id=x>",
      "errors": [
        "(1,32): non-html-root"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "attrs": [
              {
                "name": "id",
                "value": "x"
              }
            ],
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html id=\"x\"><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!DOCTYPE html>X</html>X",
      "errors": [
        "(1,24): expected-eof-but-got-char"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "XX"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>XX</body></html>",
        "noQuirksBodyHtml": "XX"
      }
    },
    {
      "data": "<!DOCTYPE html>X</html> ",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "X "
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>X </body></html>",
        "noQuirksBodyHtml": "X "
      }
    },
    {
      "data": "<!DOCTYPE html>X</html><p>X",
      "errors": [
        "(1,26): expected-eof-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "X"
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "X"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>X<p>X</p></body></html>",
        "noQuirksBodyHtml": "X<p>X</p>"
      }
    },
    {
      "data": "<!DOCTYPE html>X<p/x/y/z>",
      "errors": [
        "(1,19): unexpected-character-after-solidus-in-tag",
        "(1,21): unexpected-character-after-solidus-in-tag",
        "(1,23): unexpected-character-after-solidus-in-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "X"
                  },
                  {
                    "tag": "p",
                    "attrs": [
                      {
                        "name": "x",
                        "value": ""
                      },
                      {
                        "name": "y",
                        "value": ""
                      },
                      {
                        "name": "z",
                        "value": ""
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>X<p x=\"\" y=\"\" z=\"\"></p></body></html>",
        "noQuirksBodyHtml": "X<p x=\"\" y=\"\" z=\"\"></p>"
      }
    },
    {
      "data": "<!DOCTYPE html><!--x--",
      "errors": [
        "(1,22): eof-in-comment-double-dash"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true,
          "comment": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "comment": "x"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><!--x--><html><head></head><body></body></html>",
        "noQuirksBodyHtml": "<!--x-->"
      }
    },
    {
      "data": "<!DOCTYPE html><table><tr><td></p></table>",
      "errors": [
        "(1,34): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "p"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><p></p></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td><p></p></td></tr></tbody></table>"
      }
    },
    {
      "data": "<!DOCTYPE <!DOCTYPE HTML>><!--<!--x-->-->",
      "errors": [
        "(1,20): expected-space-or-right-bracket-in-doctype",
        "(1,25): unknown-doctype",
        "(1,35): unexpected-char-in-comment"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true,
          "escaped": true,
          "comment": true
        },
        "tree": [
          {
            "doctype": "<!doctype"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": ">",
                    "escaped": true
                  },
                  {
                    "comment": "<!--x"
                  },
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE <!doctype><html><head></head><body>&gt;<!--<!--x-->--&gt;</body></html>",
        "noQuirksBodyHtml": "&gt;<!--<!--x-->--&gt;"
      }
    },
    {
      "data": "<!doctype html><div><form></form><div></div></div>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "form": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "form"
                      },
                      {
                        "tag": "div"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><div><form></form><div></div></div></body></html>",
        "noQuirksBodyHtml": "<div><form></form><div></div></div>"
      }
    }
  ],
  "tests20.dat": [
    {
      "data": "<!doctype html><p><button><button>",
      "errors": [
        "(1,34): unexpected-start-tag-implies-end-tag",
        "(1,34): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "button": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "button"
                      },
                      {
                        "tag": "button"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><button></button><button></button></p></body></html>",
        "noQuirksBodyHtml": "<p><button></button><button></button></p>"
      }
    },
    {
      "data": "<!doctype html><p><button><address>",
      "errors": [
        "(1,35): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "button": true,
            "address": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "button",
                        "children": [
                          {
                            "tag": "address"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><button><address></address></button></p></body></html>",
        "noQuirksBodyHtml": "<p><button><address></address></button></p>"
      }
    },
    {
      "data": "<!doctype html><p><button><blockquote>",
      "errors": [
        "(1,38): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "button": true,
            "blockquote": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "button",
                        "children": [
                          {
                            "tag": "blockquote"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><button><blockquote></blockquote></button></p></body></html>",
        "noQuirksBodyHtml": "<p><button><blockquote></blockquote></button></p>"
      }
    },
    {
      "data": "<!doctype html><p><button><menu>",
      "errors": [
        "(1,32): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "button": true,
            "menu": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "button",
                        "children": [
                          {
                            "tag": "menu"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><button><menu></menu></button></p></body></html>",
        "noQuirksBodyHtml": "<p><button><menu></menu></button></p>"
      }
    },
    {
      "data": "<!doctype html><p><button><p>",
      "errors": [
        "(1,29): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "button": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "button",
                        "children": [
                          {
                            "tag": "p"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><button><p></p></button></p></body></html>",
        "noQuirksBodyHtml": "<p><button><p></p></button></p>"
      }
    },
    {
      "data": "<!doctype html><p><button><ul>",
      "errors": [
        "(1,30): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "button": true,
            "ul": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "button",
                        "children": [
                          {
                            "tag": "ul"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><button><ul></ul></button></p></body></html>",
        "noQuirksBodyHtml": "<p><button><ul></ul></button></p>"
      }
    },
    {
      "data": "<!doctype html><p><button><h1>",
      "errors": [
        "(1,30): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "button": true,
            "h1": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "button",
                        "children": [
                          {
                            "tag": "h1"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><button><h1></h1></button></p></body></html>",
        "noQuirksBodyHtml": "<p><button><h1></h1></button></p>"
      }
    },
    {
      "data": "<!doctype html><p><button><h6>",
      "errors": [
        "(1,30): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "button": true,
            "h6": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "button",
                        "children": [
                          {
                            "tag": "h6"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><button><h6></h6></button></p></body></html>",
        "noQuirksBodyHtml": "<p><button><h6></h6></button></p>"
      }
    },
    {
      "data": "<!doctype html><p><button><listing>",
      "errors": [
        "(1,35): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "button": true,
            "listing": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "button",
                        "children": [
                          {
                            "tag": "listing"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><button><listing></listing></button></p></body></html>",
        "noQuirksBodyHtml": "<p><button><listing></listing></button></p>"
      }
    },
    {
      "data": "<!doctype html><p><button><pre>",
      "errors": [
        "(1,31): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "button": true,
            "pre": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "button",
                        "children": [
                          {
                            "tag": "pre"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><button><pre></pre></button></p></body></html>",
        "noQuirksBodyHtml": "<p><button><pre></pre></button></p>"
      }
    },
    {
      "data": "<!doctype html><p><button><form>",
      "errors": [
        "(1,32): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "button": true,
            "form": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "button",
                        "children": [
                          {
                            "tag": "form"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><button><form></form></button></p></body></html>",
        "noQuirksBodyHtml": "<p><button><form></form></button></p>"
      }
    },
    {
      "data": "<!doctype html><p><button><li>",
      "errors": [
        "(1,30): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "button": true,
            "li": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "button",
                        "children": [
                          {
                            "tag": "li"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><button><li></li></button></p></body></html>",
        "noQuirksBodyHtml": "<p><button><li></li></button></p>"
      }
    },
    {
      "data": "<!doctype html><p><button><dd>",
      "errors": [
        "(1,30): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "button": true,
            "dd": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "button",
                        "children": [
                          {
                            "tag": "dd"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><button><dd></dd></button></p></body></html>",
        "noQuirksBodyHtml": "<p><button><dd></dd></button></p>"
      }
    },
    {
      "data": "<!doctype html><p><button><dt>",
      "errors": [
        "(1,30): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "button": true,
            "dt": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "button",
                        "children": [
                          {
                            "tag": "dt"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><button><dt></dt></button></p></body></html>",
        "noQuirksBodyHtml": "<p><button><dt></dt></button></p>"
      }
    },
    {
      "data": "<!doctype html><p><button><plaintext>",
      "errors": [
        "(1,37): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "button": true,
            "plaintext": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "button",
                        "children": [
                          {
                            "tag": "plaintext"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><button><plaintext></plaintext></button></p></body></html>",
        "noQuirksBodyHtml": "<p><button><plaintext></plaintext></button></p>"
      }
    },
    {
      "data": "<!doctype html><p><button><table>",
      "errors": [
        "(1,33): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "button": true,
            "table": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "button",
                        "children": [
                          {
                            "tag": "table"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><button><table></table></button></p></body></html>",
        "noQuirksBodyHtml": "<p><button><table></table></button></p>"
      }
    },
    {
      "data": "<!doctype html><p><button><hr>",
      "errors": [
        "(1,30): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "button": true,
            "hr": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "button",
                        "children": [
                          {
                            "tag": "hr"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><button><hr></button></p></body></html>",
        "noQuirksBodyHtml": "<p><button><hr></button></p>"
      }
    },
    {
      "data": "<!doctype html><p><button><xmp>",
      "errors": [
        "(1,31): expected-named-closing-tag-but-got-eof",
        "(1,31): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "button": true,
            "xmp": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "button",
                        "children": [
                          {
                            "tag": "xmp"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><button><xmp></xmp></button></p></body></html>",
        "noQuirksBodyHtml": "<p><button><xmp></xmp></button></p>"
      }
    },
    {
      "data": "<!doctype html><p><button></p>",
      "errors": [
        "(1,30): unexpected-end-tag",
        "(1,30): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "button": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "button",
                        "children": [
                          {
                            "tag": "p"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><button><p></p></button></p></body></html>",
        "noQuirksBodyHtml": "<p><button><p></p></button></p>"
      }
    },
    {
      "data": "<!doctype html><address><button></address>a",
      "errors": [
        "(1,42): end-tag-too-early"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "address": true,
            "button": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "address",
                    "children": [
                      {
                        "tag": "button"
                      }
                    ]
                  },
                  {
                    "text": "a"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><address><button></button></address>a</body></html>",
        "noQuirksBodyHtml": "<address><button></button></address>a"
      }
    },
    {
      "data": "<!doctype html><address><button></address>a",
      "errors": [
        "(1,42): end-tag-too-early"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "address": true,
            "button": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "address",
                    "children": [
                      {
                        "tag": "button"
                      }
                    ]
                  },
                  {
                    "text": "a"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><address><button></button></address>a</body></html>",
        "noQuirksBodyHtml": "<address><button></button></address>a"
      }
    },
    {
      "data": "<p><table></p>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,14): unexpected-end-tag-implies-table-voodoo",
        "(1,14): unexpected-end-tag",
        "(1,14): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "table": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "p"
                      },
                      {
                        "tag": "table"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><p><p></p><table></table></p></body></html>",
        "noQuirksBodyHtml": "<p></p><p></p><table></table>"
      }
    },
    {
      "data": "<!doctype html><svg>",
      "errors": [
        "(1,20): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg></svg></body></html>",
        "noQuirksBodyHtml": "<svg></svg>"
      }
    },
    {
      "data": "<!doctype html><p><figcaption>",
      "errors": [
        "(1,30): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "figcaption": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p"
                  },
                  {
                    "tag": "figcaption"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p></p><figcaption></figcaption></body></html>",
        "noQuirksBodyHtml": "<p></p><figcaption></figcaption>"
      }
    },
    {
      "data": "<!doctype html><p><summary>",
      "errors": [
        "(1,27): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "summary": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p"
                  },
                  {
                    "tag": "summary"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p></p><summary></summary></body></html>",
        "noQuirksBodyHtml": "<p></p><summary></summary>"
      }
    },
    {
      "data": "<!doctype html><form><table><form>",
      "errors": [
        "(1,34): unexpected-form-in-table",
        "(1,34): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "form": true,
            "table": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "form",
                    "children": [
                      {
                        "tag": "table"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><form><table></table></form></body></html>",
        "noQuirksBodyHtml": "<form><table></table></form>"
      }
    },
    {
      "data": "<!doctype html><table><form><form>",
      "errors": [
        "(1,28): unexpected-form-in-table",
        "(1,34): unexpected-form-in-table",
        "(1,34): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "form": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "form"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><form></form></table></body></html>",
        "noQuirksBodyHtml": "<table><form></form></table>"
      }
    },
    {
      "data": "<!doctype html><table><form></table><form>",
      "errors": [
        "(1,28): unexpected-form-in-table",
        "(1,42): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "form": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "form"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><form></form></table></body></html>",
        "noQuirksBodyHtml": "<table><form></form></table>"
      }
    },
    {
      "data": "<!doctype html><svg><foreignObject><p>",
      "errors": [
        "(1,38): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg foreignObject": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "foreignObject",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "tag": "p"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg><foreignObject><p></p></foreignObject></svg></body></html>",
        "noQuirksBodyHtml": "<svg><foreignObject><p></p></foreignObject></svg>"
      }
    },
    {
      "data": "<!doctype html><svg><title>abc",
      "errors": [
        "(1,30): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg title": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "title",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "text": "abc"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg><title>abc</title></svg></body></html>",
        "noQuirksBodyHtml": "<svg><title>abc</title></svg>"
      }
    },
    {
      "data": "<option><span><option>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,22): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "option": true,
            "span": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "option",
                    "children": [
                      {
                        "tag": "span",
                        "children": [
                          {
                            "tag": "option"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><option><span><option></option></span></option></body></html>",
        "noQuirksBodyHtml": "<option><span><option></option></span></option>"
      }
    },
    {
      "data": "<option><option>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "option": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "option"
                  },
                  {
                    "tag": "option"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><option></option><option></option></body></html>",
        "noQuirksBodyHtml": "<option></option><option></option>"
      }
    },
    {
      "data": "<math><annotation-xml><div>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,27): unexpected-html-element-in-foreign-content",
        "(1,27): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math annotation-xml": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "annotation-xml",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      }
                    ]
                  },
                  {
                    "tag": "div"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><annotation-xml></annotation-xml></math><div></div></body></html>",
        "noQuirksBodyHtml": "<math><annotation-xml><div></div></annotation-xml></math>"
      }
    },
    {
      "data": "<math><annotation-xml encoding=\"application/svg+xml\"><div>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,58): unexpected-html-element-in-foreign-content",
        "(1,58): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math annotation-xml": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "annotation-xml",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "attrs": [
                          {
                            "name": "encoding",
                            "value": "application/svg+xml"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "div"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><annotation-xml encoding=\"application/svg+xml\"></annotation-xml></math><div></div></body></html>",
        "noQuirksBodyHtml": "<math><annotation-xml encoding=\"application/svg+xml\"><div></div></annotation-xml></math>"
      }
    },
    {
      "data": "<math><annotation-xml encoding=\"application/xhtml+xml\"><div>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,60): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math annotation-xml": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "annotation-xml",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "attrs": [
                          {
                            "name": "encoding",
                            "value": "application/xhtml+xml"
                          }
                        ],
                        "children": [
                          {
                            "tag": "div"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><annotation-xml encoding=\"application/xhtml+xml\"><div></div></annotation-xml></math></body></html>",
        "noQuirksBodyHtml": "<math><annotation-xml encoding=\"application/xhtml+xml\"><div></div></annotation-xml></math>"
      }
    },
    {
      "data": "<math><annotation-xml encoding=\"aPPlication/xhtmL+xMl\"><div>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,60): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math annotation-xml": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "annotation-xml",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "attrs": [
                          {
                            "name": "encoding",
                            "value": "aPPlication/xhtmL+xMl"
                          }
                        ],
                        "children": [
                          {
                            "tag": "div"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><annotation-xml encoding=\"aPPlication/xhtmL+xMl\"><div></div></annotation-xml></math></body></html>",
        "noQuirksBodyHtml": "<math><annotation-xml encoding=\"aPPlication/xhtmL+xMl\"><div></div></annotation-xml></math>"
      }
    },
    {
      "data": "<math><annotation-xml encoding=\"text/html\"><div>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,48): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math annotation-xml": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "annotation-xml",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "attrs": [
                          {
                            "name": "encoding",
                            "value": "text/html"
                          }
                        ],
                        "children": [
                          {
                            "tag": "div"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><annotation-xml encoding=\"text/html\"><div></div></annotation-xml></math></body></html>",
        "noQuirksBodyHtml": "<math><annotation-xml encoding=\"text/html\"><div></div></annotation-xml></math>"
      }
    },
    {
      "data": "<math><annotation-xml encoding=\"Text/htmL\"><div>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,48): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math annotation-xml": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "annotation-xml",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "attrs": [
                          {
                            "name": "encoding",
                            "value": "Text/htmL"
                          }
                        ],
                        "children": [
                          {
                            "tag": "div"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><annotation-xml encoding=\"Text/htmL\"><div></div></annotation-xml></math></body></html>",
        "noQuirksBodyHtml": "<math><annotation-xml encoding=\"Text/htmL\"><div></div></annotation-xml></math>"
      }
    },
    {
      "data": "<math><annotation-xml encoding=\" text/html \"><div>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,50): unexpected-html-element-in-foreign-content",
        "(1,50): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math annotation-xml": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "annotation-xml",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "attrs": [
                          {
                            "name": "encoding",
                            "value": " text/html "
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "div"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><annotation-xml encoding=\" text/html \"></annotation-xml></math><div></div></body></html>",
        "noQuirksBodyHtml": "<math><annotation-xml encoding=\" text/html \"><div></div></annotation-xml></math>"
      }
    },
    {
      "data": "<math><annotation-xml> </annotation-xml>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,40): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math annotation-xml": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "annotation-xml",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "text": " "
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><annotation-xml> </annotation-xml></math></body></html>",
        "noQuirksBodyHtml": "<math><annotation-xml> </annotation-xml></math>"
      }
    },
    {
      "data": "<math><annotation-xml>c</annotation-xml>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,40): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math annotation-xml": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "annotation-xml",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "text": "c"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><annotation-xml>c</annotation-xml></math></body></html>",
        "noQuirksBodyHtml": "<math><annotation-xml>c</annotation-xml></math>"
      }
    },
    {
      "data": "<math><annotation-xml><!--foo-->",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,32): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math annotation-xml": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "annotation-xml",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "comment": "foo"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><annotation-xml><!--foo--></annotation-xml></math></body></html>",
        "noQuirksBodyHtml": "<math><annotation-xml><!--foo--></annotation-xml></math>"
      }
    },
    {
      "data": "<math><annotation-xml></svg>x",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,28): unexpected-end-tag",
        "(1,29): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math annotation-xml": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "annotation-xml",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "text": "x"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><annotation-xml>x</annotation-xml></math></body></html>",
        "noQuirksBodyHtml": "<math><annotation-xml>x</annotation-xml></math>"
      }
    },
    {
      "data": "<math><annotation-xml><svg>x",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,28): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math annotation-xml": true,
            "svg svg": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "annotation-xml",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "svg",
                            "ns": "http://www.w3.org/2000/svg",
                            "children": [
                              {
                                "text": "x"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><annotation-xml><svg>x</svg></annotation-xml></math></body></html>",
        "noQuirksBodyHtml": "<math><annotation-xml><svg>x</svg></annotation-xml></math>"
      }
    }
  ],
  "tests21.dat": [
    {
      "data": "<svg><![CDATA[foo]]>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,20): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "foo"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>foo</svg></body></html>",
        "noQuirksBodyHtml": "<svg>foo</svg>"
      }
    },
    {
      "data": "<math><![CDATA[foo]]>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,21): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "text": "foo"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math>foo</math></body></html>",
        "noQuirksBodyHtml": "<math>foo</math>"
      }
    },
    {
      "data": "<div><![CDATA[foo]]>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,7): expected-dashes-or-doctype",
        "(1,20): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "comment": "[CDATA[foo]]"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div><!--[CDATA[foo]]--></div></body></html>",
        "noQuirksBodyHtml": "<div><!--[CDATA[foo]]--></div>"
      }
    },
    {
      "data": "<svg><![CDATA[foo",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,17): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "foo"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>foo</svg></body></html>",
        "noQuirksBodyHtml": "<svg>foo</svg>"
      }
    },
    {
      "data": "<svg><![CDATA[foo",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,17): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "foo"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>foo</svg></body></html>",
        "noQuirksBodyHtml": "<svg>foo</svg>"
      }
    },
    {
      "data": "<svg><![CDATA[",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,14): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg></svg></body></html>",
        "noQuirksBodyHtml": "<svg></svg>"
      }
    },
    {
      "data": "<svg><![CDATA[]]>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,17): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg></svg></body></html>",
        "noQuirksBodyHtml": "<svg></svg>"
      }
    },
    {
      "data": "<svg><![CDATA[]] >]]>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,21): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "]] >",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>]] &gt;</svg></body></html>",
        "noQuirksBodyHtml": "<svg>]] &gt;</svg>"
      }
    },
    {
      "data": "<svg><![CDATA[]] >]]>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,21): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "]] >",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>]] &gt;</svg></body></html>",
        "noQuirksBodyHtml": "<svg>]] &gt;</svg>"
      }
    },
    {
      "data": "<svg><![CDATA[]]",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,16): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "]]"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>]]</svg></body></html>",
        "noQuirksBodyHtml": "<svg>]]</svg>"
      }
    },
    {
      "data": "<svg><![CDATA[]",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,15): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "]"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>]</svg></body></html>",
        "noQuirksBodyHtml": "<svg>]</svg>"
      }
    },
    {
      "data": "<svg><![CDATA[]>a",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,17): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "]>a",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>]&gt;a</svg></body></html>",
        "noQuirksBodyHtml": "<svg>]&gt;a</svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><svg><![CDATA[foo]]]>",
      "errors": [
        "(1,36): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "foo]"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg>foo]</svg></body></html>",
        "noQuirksBodyHtml": "<svg>foo]</svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><svg><![CDATA[foo]]]]>",
      "errors": [
        "(1,37): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "foo]]"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg>foo]]</svg></body></html>",
        "noQuirksBodyHtml": "<svg>foo]]</svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><svg><![CDATA[foo]]]]]>",
      "errors": [
        "(1,38): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "foo]]]"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg>foo]]]</svg></body></html>",
        "noQuirksBodyHtml": "<svg>foo]]]</svg>"
      }
    },
    {
      "data": "<svg><foreignObject><div><![CDATA[foo]]>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,27): expected-dashes-or-doctype",
        "(1,40): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg foreignObject": true,
            "div": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "foreignObject",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "tag": "div",
                            "children": [
                              {
                                "comment": "[CDATA[foo]]"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg><foreignObject><div><!--[CDATA[foo]]--></div></foreignObject></svg></body></html>",
        "noQuirksBodyHtml": "<svg><foreignObject><div><!--[CDATA[foo]]--></div></foreignObject></svg>"
      }
    },
    {
      "data": "<svg><![CDATA[<svg>]]>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,22): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "<svg>",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>&lt;svg&gt;</svg></body></html>",
        "noQuirksBodyHtml": "<svg>&lt;svg&gt;</svg>"
      }
    },
    {
      "data": "<svg><![CDATA[</svg>a]]>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,24): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "</svg>a",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>&lt;/svg&gt;a</svg></body></html>",
        "noQuirksBodyHtml": "<svg>&lt;/svg&gt;a</svg>"
      }
    },
    {
      "data": "<svg><![CDATA[<svg>a",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,20): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "<svg>a",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>&lt;svg&gt;a</svg></body></html>",
        "noQuirksBodyHtml": "<svg>&lt;svg&gt;a</svg>"
      }
    },
    {
      "data": "<svg><![CDATA[</svg>a",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,21): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "</svg>a",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>&lt;/svg&gt;a</svg></body></html>",
        "noQuirksBodyHtml": "<svg>&lt;/svg&gt;a</svg>"
      }
    },
    {
      "data": "<svg><![CDATA[<svg>]]><path>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,28): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg path": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "<svg>",
                        "escaped": true
                      },
                      {
                        "tag": "path",
                        "ns": "http://www.w3.org/2000/svg"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>&lt;svg&gt;<path></path></svg></body></html>",
        "noQuirksBodyHtml": "<svg>&lt;svg&gt;<path></path></svg>"
      }
    },
    {
      "data": "<svg><![CDATA[<svg>]]></path>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,29): unexpected-end-tag",
        "(1,29): unexpected-end-tag",
        "(1,29): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "<svg>",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>&lt;svg&gt;</svg></body></html>",
        "noQuirksBodyHtml": "<svg>&lt;svg&gt;</svg>"
      }
    },
    {
      "data": "<svg><![CDATA[<svg>]]><!--path-->",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,33): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "escaped": true,
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "<svg>",
                        "escaped": true
                      },
                      {
                        "comment": "path"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>&lt;svg&gt;<!--path--></svg></body></html>",
        "noQuirksBodyHtml": "<svg>&lt;svg&gt;<!--path--></svg>"
      }
    },
    {
      "data": "<svg><![CDATA[<svg>]]>path",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,26): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "<svg>path",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>&lt;svg&gt;path</svg></body></html>",
        "noQuirksBodyHtml": "<svg>&lt;svg&gt;path</svg>"
      }
    },
    {
      "data": "<svg><![CDATA[<!--svg-->]]>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,27): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "text": "<!--svg-->",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg>&lt;!--svg--&gt;</svg></body></html>",
        "noQuirksBodyHtml": "<svg>&lt;!--svg--&gt;</svg>"
      }
    }
  ],
  "tests22.dat": [
    {
      "data": "<a><b><big><em><strong><div>X</a>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,33): adoption-agency-1.3",
        "(1,33): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "b": true,
            "big": true,
            "em": true,
            "strong": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "children": [
                      {
                        "tag": "b",
                        "children": [
                          {
                            "tag": "big",
                            "children": [
                              {
                                "tag": "em",
                                "children": [
                                  {
                                    "tag": "strong"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "big",
                    "children": [
                      {
                        "tag": "em",
                        "children": [
                          {
                            "tag": "strong",
                            "children": [
                              {
                                "tag": "div",
                                "children": [
                                  {
                                    "tag": "a",
                                    "children": [
                                      {
                                        "text": "X"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a><b><big><em><strong></strong></em></big></b></a><big><em><strong><div><a>X</a></div></strong></em></big></body></html>",
        "noQuirksBodyHtml": "<a><b><big><em><strong></strong></em></big></b></a><big><em><strong><div><a>X</a></div></strong></em></big>"
      }
    },
    {
      "data": "<a><b><div id=1><div id=2><div id=3><div id=4><div id=5><div id=6><div id=7><div id=8>A</a>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,91): adoption-agency-1.3",
        "(1,91): adoption-agency-1.3",
        "(1,91): adoption-agency-1.3",
        "(1,91): adoption-agency-1.3",
        "(1,91): adoption-agency-1.3",
        "(1,91): adoption-agency-1.3",
        "(1,91): adoption-agency-1.3",
        "(1,91): adoption-agency-1.3",
        "(1,91): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "b": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "children": [
                      {
                        "tag": "b"
                      }
                    ]
                  },
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "div",
                        "attrs": [
                          {
                            "name": "id",
                            "value": "1"
                          }
                        ],
                        "children": [
                          {
                            "tag": "a"
                          },
                          {
                            "tag": "div",
                            "attrs": [
                              {
                                "name": "id",
                                "value": "2"
                              }
                            ],
                            "children": [
                              {
                                "tag": "a"
                              },
                              {
                                "tag": "div",
                                "attrs": [
                                  {
                                    "name": "id",
                                    "value": "3"
                                  }
                                ],
                                "children": [
                                  {
                                    "tag": "a"
                                  },
                                  {
                                    "tag": "div",
                                    "attrs": [
                                      {
                                        "name": "id",
                                        "value": "4"
                                      }
                                    ],
                                    "children": [
                                      {
                                        "tag": "a"
                                      },
                                      {
                                        "tag": "div",
                                        "attrs": [
                                          {
                                            "name": "id",
                                            "value": "5"
                                          }
                                        ],
                                        "children": [
                                          {
                                            "tag": "a"
                                          },
                                          {
                                            "tag": "div",
                                            "attrs": [
                                              {
                                                "name": "id",
                                                "value": "6"
                                              }
                                            ],
                                            "children": [
                                              {
                                                "tag": "a"
                                              },
                                              {
                                                "tag": "div",
                                                "attrs": [
                                                  {
                                                    "name": "id",
                                                    "value": "7"
                                                  }
                                                ],
                                                "children": [
                                                  {
                                                    "tag": "a"
                                                  },
                                                  {
                                                    "tag": "div",
                                                    "attrs": [
                                                      {
                                                        "name": "id",
                                                        "value": "8"
                                                      }
                                                    ],
                                                    "children": [
                                                      {
                                                        "tag": "a",
                                                        "children": [
                                                          {
                                                            "text": "A"
                                                          }
                                                        ]
                                                      }
                                                    ]
                                                  }
                                                ]
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a><b></b></a><b><div id=\"1\"><a></a><div id=\"2\"><a></a><div id=\"3\"><a></a><div id=\"4\"><a></a><div id=\"5\"><a></a><div id=\"6\"><a></a><div id=\"7\"><a></a><div id=\"8\"><a>A</a></div></div></div></div></div></div></div></div></b></body></html>",
        "noQuirksBodyHtml": "<a><b></b></a><b><div id=\"1\"><a></a><div id=\"2\"><a></a><div id=\"3\"><a></a><div id=\"4\"><a></a><div id=\"5\"><a></a><div id=\"6\"><a></a><div id=\"7\"><a></a><div id=\"8\"><a>A</a></div></div></div></div></div></div></div></div></b>"
      }
    },
    {
      "data": "<a><b><div id=1><div id=2><div id=3><div id=4><div id=5><div id=6><div id=7><div id=8><div id=9>A</a>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,101): adoption-agency-1.3",
        "(1,101): adoption-agency-1.3",
        "(1,101): adoption-agency-1.3",
        "(1,101): adoption-agency-1.3",
        "(1,101): adoption-agency-1.3",
        "(1,101): adoption-agency-1.3",
        "(1,101): adoption-agency-1.3",
        "(1,101): adoption-agency-1.3",
        "(1,101): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "b": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "children": [
                      {
                        "tag": "b"
                      }
                    ]
                  },
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "div",
                        "attrs": [
                          {
                            "name": "id",
                            "value": "1"
                          }
                        ],
                        "children": [
                          {
                            "tag": "a"
                          },
                          {
                            "tag": "div",
                            "attrs": [
                              {
                                "name": "id",
                                "value": "2"
                              }
                            ],
                            "children": [
                              {
                                "tag": "a"
                              },
                              {
                                "tag": "div",
                                "attrs": [
                                  {
                                    "name": "id",
                                    "value": "3"
                                  }
                                ],
                                "children": [
                                  {
                                    "tag": "a"
                                  },
                                  {
                                    "tag": "div",
                                    "attrs": [
                                      {
                                        "name": "id",
                                        "value": "4"
                                      }
                                    ],
                                    "children": [
                                      {
                                        "tag": "a"
                                      },
                                      {
                                        "tag": "div",
                                        "attrs": [
                                          {
                                            "name": "id",
                                            "value": "5"
                                          }
                                        ],
                                        "children": [
                                          {
                                            "tag": "a"
                                          },
                                          {
                                            "tag": "div",
                                            "attrs": [
                                              {
                                                "name": "id",
                                                "value": "6"
                                              }
                                            ],
                                            "children": [
                                              {
                                                "tag": "a"
                                              },
                                              {
                                                "tag": "div",
                                                "attrs": [
                                                  {
                                                    "name": "id",
                                                    "value": "7"
                                                  }
                                                ],
                                                "children": [
                                                  {
                                                    "tag": "a"
                                                  },
                                                  {
                                                    "tag": "div",
                                                    "attrs": [
                                                      {
                                                        "name": "id",
                                                        "value": "8"
                                                      }
                                                    ],
                                                    "children": [
                                                      {
                                                        "tag": "a",
                                                        "children": [
                                                          {
                                                            "tag": "div",
                                                            "attrs": [
                                                              {
                                                                "name": "id",
                                                                "value": "9"
                                                              }
                                                            ],
                                                            "children": [
                                                              {
                                                                "text": "A"
                                                              }
                                                            ]
                                                          }
                                                        ]
                                                      }
                                                    ]
                                                  }
                                                ]
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a><b></b></a><b><div id=\"1\"><a></a><div id=\"2\"><a></a><div id=\"3\"><a></a><div id=\"4\"><a></a><div id=\"5\"><a></a><div id=\"6\"><a></a><div id=\"7\"><a></a><div id=\"8\"><a><div id=\"9\">A</div></a></div></div></div></div></div></div></div></div></b></body></html>",
        "noQuirksBodyHtml": "<a><b></b></a><b><div id=\"1\"><a></a><div id=\"2\"><a></a><div id=\"3\"><a></a><div id=\"4\"><a></a><div id=\"5\"><a></a><div id=\"6\"><a></a><div id=\"7\"><a></a><div id=\"8\"><a><div id=\"9\">A</div></a></div></div></div></div></div></div></div></div></b>"
      }
    },
    {
      "data": "<a><b><div id=1><div id=2><div id=3><div id=4><div id=5><div id=6><div id=7><div id=8><div id=9><div id=10>A</a>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,112): adoption-agency-1.3",
        "(1,112): adoption-agency-1.3",
        "(1,112): adoption-agency-1.3",
        "(1,112): adoption-agency-1.3",
        "(1,112): adoption-agency-1.3",
        "(1,112): adoption-agency-1.3",
        "(1,112): adoption-agency-1.3",
        "(1,112): adoption-agency-1.3",
        "(1,112): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "b": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "children": [
                      {
                        "tag": "b"
                      }
                    ]
                  },
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "div",
                        "attrs": [
                          {
                            "name": "id",
                            "value": "1"
                          }
                        ],
                        "children": [
                          {
                            "tag": "a"
                          },
                          {
                            "tag": "div",
                            "attrs": [
                              {
                                "name": "id",
                                "value": "2"
                              }
                            ],
                            "children": [
                              {
                                "tag": "a"
                              },
                              {
                                "tag": "div",
                                "attrs": [
                                  {
                                    "name": "id",
                                    "value": "3"
                                  }
                                ],
                                "children": [
                                  {
                                    "tag": "a"
                                  },
                                  {
                                    "tag": "div",
                                    "attrs": [
                                      {
                                        "name": "id",
                                        "value": "4"
                                      }
                                    ],
                                    "children": [
                                      {
                                        "tag": "a"
                                      },
                                      {
                                        "tag": "div",
                                        "attrs": [
                                          {
                                            "name": "id",
                                            "value": "5"
                                          }
                                        ],
                                        "children": [
                                          {
                                            "tag": "a"
                                          },
                                          {
                                            "tag": "div",
                                            "attrs": [
                                              {
                                                "name": "id",
                                                "value": "6"
                                              }
                                            ],
                                            "children": [
                                              {
                                                "tag": "a"
                                              },
                                              {
                                                "tag": "div",
                                                "attrs": [
                                                  {
                                                    "name": "id",
                                                    "value": "7"
                                                  }
                                                ],
                                                "children": [
                                                  {
                                                    "tag": "a"
                                                  },
                                                  {
                                                    "tag": "div",
                                                    "attrs": [
                                                      {
                                                        "name": "id",
                                                        "value": "8"
                                                      }
                                                    ],
                                                    "children": [
                                                      {
                                                        "tag": "a",
                                                        "children": [
                                                          {
                                                            "tag": "div",
                                                            "attrs": [
                                                              {
                                                                "name": "id",
                                                                "value": "9"
                                                              }
                                                            ],
                                                            "children": [
                                                              {
                                                                "tag": "div",
                                                                "attrs": [
                                                                  {
                                                                    "name": "id",
                                                                    "value": "10"
                                                                  }
                                                                ],
                                                                "children": [
                                                                  {
                                                                    "text": "A"
                                                                  }
                                                                ]
                                                              }
                                                            ]
                                                          }
                                                        ]
                                                      }
                                                    ]
                                                  }
                                                ]
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a><b></b></a><b><div id=\"1\"><a></a><div id=\"2\"><a></a><div id=\"3\"><a></a><div id=\"4\"><a></a><div id=\"5\"><a></a><div id=\"6\"><a></a><div id=\"7\"><a></a><div id=\"8\"><a><div id=\"9\"><div id=\"10\">A</div></div></a></div></div></div></div></div></div></div></div></b></body></html>",
        "noQuirksBodyHtml": "<a><b></b></a><b><div id=\"1\"><a></a><div id=\"2\"><a></a><div id=\"3\"><a></a><div id=\"4\"><a></a><div id=\"5\"><a></a><div id=\"6\"><a></a><div id=\"7\"><a></a><div id=\"8\"><a><div id=\"9\"><div id=\"10\">A</div></div></a></div></div></div></div></div></div></div></div></b>"
      }
    },
    {
      "data": "<cite><b><cite><i><cite><i><cite><i><div>X</b>TEST",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,46): adoption-agency-1.3",
        "(1,50): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "cite": true,
            "b": true,
            "i": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "cite",
                    "children": [
                      {
                        "tag": "b",
                        "children": [
                          {
                            "tag": "cite",
                            "children": [
                              {
                                "tag": "i",
                                "children": [
                                  {
                                    "tag": "cite",
                                    "children": [
                                      {
                                        "tag": "i",
                                        "children": [
                                          {
                                            "tag": "cite",
                                            "children": [
                                              {
                                                "tag": "i"
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "i",
                        "children": [
                          {
                            "tag": "i",
                            "children": [
                              {
                                "tag": "div",
                                "children": [
                                  {
                                    "tag": "b",
                                    "children": [
                                      {
                                        "text": "X"
                                      }
                                    ]
                                  },
                                  {
                                    "text": "TEST"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><cite><b><cite><i><cite><i><cite><i></i></cite></i></cite></i></cite></b><i><i><div><b>X</b>TEST</div></i></i></cite></body></html>",
        "noQuirksBodyHtml": "<cite><b><cite><i><cite><i><cite><i></i></cite></i></cite></i></cite></b><i><i><div><b>X</b>TEST</div></i></i></cite>"
      }
    }
  ],
  "tests23.dat": [
    {
      "data": "<p><font size=4><font color=red><font size=4><font size=4><font size=4><font size=4><font size=4><font color=red><p>X",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,116): unexpected-end-tag",
        "(1,117): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "font": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "font",
                        "attrs": [
                          {
                            "name": "size",
                            "value": "4"
                          }
                        ],
                        "children": [
                          {
                            "tag": "font",
                            "attrs": [
                              {
                                "name": "color",
                                "value": "red"
                              }
                            ],
                            "children": [
                              {
                                "tag": "font",
                                "attrs": [
                                  {
                                    "name": "size",
                                    "value": "4"
                                  }
                                ],
                                "children": [
                                  {
                                    "tag": "font",
                                    "attrs": [
                                      {
                                        "name": "size",
                                        "value": "4"
                                      }
                                    ],
                                    "children": [
                                      {
                                        "tag": "font",
                                        "attrs": [
                                          {
                                            "name": "size",
                                            "value": "4"
                                          }
                                        ],
                                        "children": [
                                          {
                                            "tag": "font",
                                            "attrs": [
                                              {
                                                "name": "size",
                                                "value": "4"
                                              }
                                            ],
                                            "children": [
                                              {
                                                "tag": "font",
                                                "attrs": [
                                                  {
                                                    "name": "size",
                                                    "value": "4"
                                                  }
                                                ],
                                                "children": [
                                                  {
                                                    "tag": "font",
                                                    "attrs": [
                                                      {
                                                        "name": "color",
                                                        "value": "red"
                                                      }
                                                    ]
                                                  }
                                                ]
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "font",
                        "attrs": [
                          {
                            "name": "color",
                            "value": "red"
                          }
                        ],
                        "children": [
                          {
                            "tag": "font",
                            "attrs": [
                              {
                                "name": "size",
                                "value": "4"
                              }
                            ],
                            "children": [
                              {
                                "tag": "font",
                                "attrs": [
                                  {
                                    "name": "size",
                                    "value": "4"
                                  }
                                ],
                                "children": [
                                  {
                                    "tag": "font",
                                    "attrs": [
                                      {
                                        "name": "size",
                                        "value": "4"
                                      }
                                    ],
                                    "children": [
                                      {
                                        "tag": "font",
                                        "attrs": [
                                          {
                                            "name": "color",
                                            "value": "red"
                                          }
                                        ],
                                        "children": [
                                          {
                                            "text": "X"
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><p><font size=\"4\"><font color=\"red\"><font size=\"4\"><font size=\"4\"><font size=\"4\"><font size=\"4\"><font size=\"4\"><font color=\"red\"></font></font></font></font></font></font></font></font></p><p><font color=\"red\"><font size=\"4\"><font size=\"4\"><font size=\"4\"><font color=\"red\">X</font></font></font></font></font></p></body></html>",
        "noQuirksBodyHtml": "<p><font size=\"4\"><font color=\"red\"><font size=\"4\"><font size=\"4\"><font size=\"4\"><font size=\"4\"><font size=\"4\"><font color=\"red\"></font></font></font></font></font></font></font></font></p><p><font color=\"red\"><font size=\"4\"><font size=\"4\"><font size=\"4\"><font color=\"red\">X</font></font></font></font></font></p>"
      }
    },
    {
      "data": "<p><font size=4><font size=4><font size=4><font size=4><p>X",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,58): unexpected-end-tag",
        "(1,59): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "font": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "font",
                        "attrs": [
                          {
                            "name": "size",
                            "value": "4"
                          }
                        ],
                        "children": [
                          {
                            "tag": "font",
                            "attrs": [
                              {
                                "name": "size",
                                "value": "4"
                              }
                            ],
                            "children": [
                              {
                                "tag": "font",
                                "attrs": [
                                  {
                                    "name": "size",
                                    "value": "4"
                                  }
                                ],
                                "children": [
                                  {
                                    "tag": "font",
                                    "attrs": [
                                      {
                                        "name": "size",
                                        "value": "4"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "font",
                        "attrs": [
                          {
                            "name": "size",
                            "value": "4"
                          }
                        ],
                        "children": [
                          {
                            "tag": "font",
                            "attrs": [
                              {
                                "name": "size",
                                "value": "4"
                              }
                            ],
                            "children": [
                              {
                                "tag": "font",
                                "attrs": [
                                  {
                                    "name": "size",
                                    "value": "4"
                                  }
                                ],
                                "children": [
                                  {
                                    "text": "X"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><p><font size=\"4\"><font size=\"4\"><font size=\"4\"><font size=\"4\"></font></font></font></font></p><p><font size=\"4\"><font size=\"4\"><font size=\"4\">X</font></font></font></p></body></html>",
        "noQuirksBodyHtml": "<p><font size=\"4\"><font size=\"4\"><font size=\"4\"><font size=\"4\"></font></font></font></font></p><p><font size=\"4\"><font size=\"4\"><font size=\"4\">X</font></font></font></p>"
      }
    },
    {
      "data": "<p><font size=4><font size=4><font size=4><font size=\"5\"><font size=4><p>X",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,73): unexpected-end-tag",
        "(1,74): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "font": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "font",
                        "attrs": [
                          {
                            "name": "size",
                            "value": "4"
                          }
                        ],
                        "children": [
                          {
                            "tag": "font",
                            "attrs": [
                              {
                                "name": "size",
                                "value": "4"
                              }
                            ],
                            "children": [
                              {
                                "tag": "font",
                                "attrs": [
                                  {
                                    "name": "size",
                                    "value": "4"
                                  }
                                ],
                                "children": [
                                  {
                                    "tag": "font",
                                    "attrs": [
                                      {
                                        "name": "size",
                                        "value": "5"
                                      }
                                    ],
                                    "children": [
                                      {
                                        "tag": "font",
                                        "attrs": [
                                          {
                                            "name": "size",
                                            "value": "4"
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "font",
                        "attrs": [
                          {
                            "name": "size",
                            "value": "4"
                          }
                        ],
                        "children": [
                          {
                            "tag": "font",
                            "attrs": [
                              {
                                "name": "size",
                                "value": "4"
                              }
                            ],
                            "children": [
                              {
                                "tag": "font",
                                "attrs": [
                                  {
                                    "name": "size",
                                    "value": "5"
                                  }
                                ],
                                "children": [
                                  {
                                    "tag": "font",
                                    "attrs": [
                                      {
                                        "name": "size",
                                        "value": "4"
                                      }
                                    ],
                                    "children": [
                                      {
                                        "text": "X"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><p><font size=\"4\"><font size=\"4\"><font size=\"4\"><font size=\"5\"><font size=\"4\"></font></font></font></font></font></p><p><font size=\"4\"><font size=\"4\"><font size=\"5\"><font size=\"4\">X</font></font></font></font></p></body></html>",
        "noQuirksBodyHtml": "<p><font size=\"4\"><font size=\"4\"><font size=\"4\"><font size=\"5\"><font size=\"4\"></font></font></font></font></font></p><p><font size=\"4\"><font size=\"4\"><font size=\"5\"><font size=\"4\">X</font></font></font></font></p>"
      }
    },
    {
      "data": "<p><font size=4 id=a><font size=4 id=b><font size=4><font size=4><p>X",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,68): unexpected-end-tag",
        "(1,69): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "font": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "font",
                        "attrs": [
                          {
                            "name": "id",
                            "value": "a"
                          },
                          {
                            "name": "size",
                            "value": "4"
                          }
                        ],
                        "children": [
                          {
                            "tag": "font",
                            "attrs": [
                              {
                                "name": "id",
                                "value": "b"
                              },
                              {
                                "name": "size",
                                "value": "4"
                              }
                            ],
                            "children": [
                              {
                                "tag": "font",
                                "attrs": [
                                  {
                                    "name": "size",
                                    "value": "4"
                                  }
                                ],
                                "children": [
                                  {
                                    "tag": "font",
                                    "attrs": [
                                      {
                                        "name": "size",
                                        "value": "4"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "font",
                        "attrs": [
                          {
                            "name": "id",
                            "value": "a"
                          },
                          {
                            "name": "size",
                            "value": "4"
                          }
                        ],
                        "children": [
                          {
                            "tag": "font",
                            "attrs": [
                              {
                                "name": "id",
                                "value": "b"
                              },
                              {
                                "name": "size",
                                "value": "4"
                              }
                            ],
                            "children": [
                              {
                                "tag": "font",
                                "attrs": [
                                  {
                                    "name": "size",
                                    "value": "4"
                                  }
                                ],
                                "children": [
                                  {
                                    "tag": "font",
                                    "attrs": [
                                      {
                                        "name": "size",
                                        "value": "4"
                                      }
                                    ],
                                    "children": [
                                      {
                                        "text": "X"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><p><font size=\"4\" id=\"a\"><font size=\"4\" id=\"b\"><font size=\"4\"><font size=\"4\"></font></font></font></font></p><p><font size=\"4\" id=\"a\"><font size=\"4\" id=\"b\"><font size=\"4\"><font size=\"4\">X</font></font></font></font></p></body></html>",
        "noQuirksBodyHtml": "<p><font size=\"4\" id=\"a\"><font size=\"4\" id=\"b\"><font size=\"4\"><font size=\"4\"></font></font></font></font></p><p><font size=\"4\" id=\"a\"><font size=\"4\" id=\"b\"><font size=\"4\"><font size=\"4\">X</font></font></font></font></p>"
      }
    },
    {
      "data": "<p><b id=a><b id=a><b id=a><b><object><b id=a><b id=a>X</object><p>Y",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,64): end-tag-too-early",
        "(1,67): unexpected-end-tag",
        "(1,68): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "b": true,
            "object": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "b",
                        "attrs": [
                          {
                            "name": "id",
                            "value": "a"
                          }
                        ],
                        "children": [
                          {
                            "tag": "b",
                            "attrs": [
                              {
                                "name": "id",
                                "value": "a"
                              }
                            ],
                            "children": [
                              {
                                "tag": "b",
                                "attrs": [
                                  {
                                    "name": "id",
                                    "value": "a"
                                  }
                                ],
                                "children": [
                                  {
                                    "tag": "b",
                                    "children": [
                                      {
                                        "tag": "object",
                                        "children": [
                                          {
                                            "tag": "b",
                                            "attrs": [
                                              {
                                                "name": "id",
                                                "value": "a"
                                              }
                                            ],
                                            "children": [
                                              {
                                                "tag": "b",
                                                "attrs": [
                                                  {
                                                    "name": "id",
                                                    "value": "a"
                                                  }
                                                ],
                                                "children": [
                                                  {
                                                    "text": "X"
                                                  }
                                                ]
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "b",
                        "attrs": [
                          {
                            "name": "id",
                            "value": "a"
                          }
                        ],
                        "children": [
                          {
                            "tag": "b",
                            "attrs": [
                              {
                                "name": "id",
                                "value": "a"
                              }
                            ],
                            "children": [
                              {
                                "tag": "b",
                                "attrs": [
                                  {
                                    "name": "id",
                                    "value": "a"
                                  }
                                ],
                                "children": [
                                  {
                                    "tag": "b",
                                    "children": [
                                      {
                                        "text": "Y"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><p><b id=\"a\"><b id=\"a\"><b id=\"a\"><b><object><b id=\"a\"><b id=\"a\">X</b></b></object></b></b></b></b></p><p><b id=\"a\"><b id=\"a\"><b id=\"a\"><b>Y</b></b></b></b></p></body></html>",
        "noQuirksBodyHtml": "<p><b id=\"a\"><b id=\"a\"><b id=\"a\"><b><object><b id=\"a\"><b id=\"a\">X</b></b></object></b></b></b></b></p><p><b id=\"a\"><b id=\"a\"><b id=\"a\"><b>Y</b></b></b></b></p>"
      }
    }
  ],
  "tests24.dat": [
    {
      "data": "<!DOCTYPE html>&NotEqualTilde;",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "≂̸"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>≂̸</body></html>",
        "noQuirksBodyHtml": "≂̸"
      }
    },
    {
      "data": "<!DOCTYPE html>&NotEqualTilde;A",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "≂̸A"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>≂̸A</body></html>",
        "noQuirksBodyHtml": "≂̸A"
      }
    },
    {
      "data": "<!DOCTYPE html>&ThickSpace;",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "  "
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>  </body></html>",
        "noQuirksBodyHtml": "  "
      }
    },
    {
      "data": "<!DOCTYPE html>&ThickSpace;A",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "  A"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>  A</body></html>",
        "noQuirksBodyHtml": "  A"
      }
    },
    {
      "data": "<!DOCTYPE html>&NotSubset;",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "⊂⃒"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>⊂⃒</body></html>",
        "noQuirksBodyHtml": "⊂⃒"
      }
    },
    {
      "data": "<!DOCTYPE html>&NotSubset;A",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "⊂⃒A"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>⊂⃒A</body></html>",
        "noQuirksBodyHtml": "⊂⃒A"
      }
    },
    {
      "data": "<!DOCTYPE html>&Gopf;",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "𝔾"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>𝔾</body></html>",
        "noQuirksBodyHtml": "𝔾"
      }
    },
    {
      "data": "<!DOCTYPE html>&Gopf;A",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "𝔾A"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>𝔾A</body></html>",
        "noQuirksBodyHtml": "𝔾A"
      }
    }
  ],
  "tests25.dat": [
    {
      "data": "<!DOCTYPE html><body><foo>A",
      "errors": [
        "(1,27): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "foo": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "foo",
                    "children": [
                      {
                        "text": "A"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><foo>A</foo></body></html>",
        "noQuirksBodyHtml": "<foo>A</foo>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><area>A",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "area": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "area"
                  },
                  {
                    "text": "A"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><area>A</body></html>",
        "noQuirksBodyHtml": "<area>A"
      }
    },
    {
      "data": "<!DOCTYPE html><body><base>A",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "base": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "base"
                  },
                  {
                    "text": "A"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><base>A</body></html>",
        "noQuirksBodyHtml": "<base>A"
      }
    },
    {
      "data": "<!DOCTYPE html><body><basefont>A",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "basefont": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "basefont"
                  },
                  {
                    "text": "A"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><basefont>A</body></html>",
        "noQuirksBodyHtml": "<basefont>A"
      }
    },
    {
      "data": "<!DOCTYPE html><body><bgsound>A",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "bgsound": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "bgsound"
                  },
                  {
                    "text": "A"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><bgsound>A</body></html>",
        "noQuirksBodyHtml": "<bgsound>A"
      }
    },
    {
      "data": "<!DOCTYPE html><body><br>A",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "br": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "br"
                  },
                  {
                    "text": "A"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><br>A</body></html>",
        "noQuirksBodyHtml": "<br>A"
      }
    },
    {
      "data": "<!DOCTYPE html><body><col>A",
      "errors": [
        "(1,26): unexpected-start-tag-ignored"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "A"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>A</body></html>",
        "noQuirksBodyHtml": "A"
      }
    },
    {
      "data": "<!DOCTYPE html><body><command>A",
      "errors": [
        "eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "command": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "command",
                    "children": [
                      {
                        "text": "A"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><command>A</command></body></html>",
        "noQuirksBodyHtml": "<command>A</command>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><embed>A",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "embed": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "embed"
                  },
                  {
                    "text": "A"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><embed>A</body></html>",
        "noQuirksBodyHtml": "<embed>A"
      }
    },
    {
      "data": "<!DOCTYPE html><body><frame>A",
      "errors": [
        "(1,28): unexpected-start-tag-ignored"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "A"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>A</body></html>",
        "noQuirksBodyHtml": "A"
      }
    },
    {
      "data": "<!DOCTYPE html><body><hr>A",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "hr": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "hr"
                  },
                  {
                    "text": "A"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><hr>A</body></html>",
        "noQuirksBodyHtml": "<hr>A"
      }
    },
    {
      "data": "<!DOCTYPE html><body><img>A",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "img": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "img"
                  },
                  {
                    "text": "A"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><img>A</body></html>",
        "noQuirksBodyHtml": "<img>A"
      }
    },
    {
      "data": "<!DOCTYPE html><body><input>A",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "input": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "input"
                  },
                  {
                    "text": "A"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><input>A</body></html>",
        "noQuirksBodyHtml": "<input>A"
      }
    },
    {
      "data": "<!DOCTYPE html><body><keygen>A",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "keygen": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "keygen"
                  },
                  {
                    "text": "A"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><keygen>A</body></html>",
        "noQuirksBodyHtml": "<keygen>A"
      }
    },
    {
      "data": "<!DOCTYPE html><body><link>A",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "link": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "link"
                  },
                  {
                    "text": "A"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><link>A</body></html>",
        "noQuirksBodyHtml": "<link>A"
      }
    },
    {
      "data": "<!DOCTYPE html><body><meta>A",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "meta": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "meta"
                  },
                  {
                    "text": "A"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><meta>A</body></html>",
        "noQuirksBodyHtml": "<meta>A"
      }
    },
    {
      "data": "<!DOCTYPE html><body><param>A",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "param": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "param"
                  },
                  {
                    "text": "A"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><param>A</body></html>",
        "noQuirksBodyHtml": "<param>A"
      }
    },
    {
      "data": "<!DOCTYPE html><body><source>A",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "source": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "source"
                  },
                  {
                    "text": "A"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><source>A</body></html>",
        "noQuirksBodyHtml": "<source>A"
      }
    },
    {
      "data": "<!DOCTYPE html><body><track>A",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "track": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "track"
                  },
                  {
                    "text": "A"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><track>A</body></html>",
        "noQuirksBodyHtml": "<track>A"
      }
    },
    {
      "data": "<!DOCTYPE html><body><wbr>A",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "wbr": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "wbr"
                  },
                  {
                    "text": "A"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><wbr>A</body></html>",
        "noQuirksBodyHtml": "<wbr>A"
      }
    }
  ],
  "tests26.dat": [
    {
      "data": "<!DOCTYPE html><body><a href='#1'><nobr>1<nobr></a><br><a href='#2'><nobr>2<nobr></a><br><a href='#3'><nobr>3<nobr></a>",
      "errors": [
        "(1,47): unexpected-start-tag-implies-end-tag",
        "(1,51): adoption-agency-1.3",
        "(1,74): unexpected-start-tag-implies-end-tag",
        "(1,74): adoption-agency-1.3",
        "(1,81): unexpected-start-tag-implies-end-tag",
        "(1,85): adoption-agency-1.3",
        "(1,108): unexpected-start-tag-implies-end-tag",
        "(1,108): adoption-agency-1.3",
        "(1,115): unexpected-start-tag-implies-end-tag",
        "(1,119): adoption-agency-1.3"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "nobr": true,
            "br": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "attrs": [
                      {
                        "name": "href",
                        "value": "#1"
                      }
                    ],
                    "children": [
                      {
                        "tag": "nobr",
                        "children": [
                          {
                            "text": "1"
                          }
                        ]
                      },
                      {
                        "tag": "nobr"
                      }
                    ]
                  },
                  {
                    "tag": "nobr",
                    "children": [
                      {
                        "tag": "br"
                      },
                      {
                        "tag": "a",
                        "attrs": [
                          {
                            "name": "href",
                            "value": "#2"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "a",
                    "attrs": [
                      {
                        "name": "href",
                        "value": "#2"
                      }
                    ],
                    "children": [
                      {
                        "tag": "nobr",
                        "children": [
                          {
                            "text": "2"
                          }
                        ]
                      },
                      {
                        "tag": "nobr"
                      }
                    ]
                  },
                  {
                    "tag": "nobr",
                    "children": [
                      {
                        "tag": "br"
                      },
                      {
                        "tag": "a",
                        "attrs": [
                          {
                            "name": "href",
                            "value": "#3"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "a",
                    "attrs": [
                      {
                        "name": "href",
                        "value": "#3"
                      }
                    ],
                    "children": [
                      {
                        "tag": "nobr",
                        "children": [
                          {
                            "text": "3"
                          }
                        ]
                      },
                      {
                        "tag": "nobr"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><a href=\"#1\"><nobr>1</nobr><nobr></nobr></a><nobr><br><a href=\"#2\"></a></nobr><a href=\"#2\"><nobr>2</nobr><nobr></nobr></a><nobr><br><a href=\"#3\"></a></nobr><a href=\"#3\"><nobr>3</nobr><nobr></nobr></a></body></html>",
        "noQuirksBodyHtml": "<a href=\"#1\"><nobr>1</nobr><nobr></nobr></a><nobr><br><a href=\"#2\"></a></nobr><a href=\"#2\"><nobr>2</nobr><nobr></nobr></a><nobr><br><a href=\"#3\"></a></nobr><a href=\"#3\"><nobr>3</nobr><nobr></nobr></a>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><b><nobr>1<nobr></b><i><nobr>2<nobr></i>3",
      "errors": [
        "(1,37): unexpected-start-tag-implies-end-tag",
        "(1,41): adoption-agency-1.3",
        "(1,50): unexpected-start-tag-implies-end-tag",
        "(1,50): adoption-agency-1.3",
        "(1,57): unexpected-start-tag-implies-end-tag",
        "(1,61): adoption-agency-1.3",
        "(1,62): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "nobr": true,
            "i": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "nobr",
                        "children": [
                          {
                            "text": "1"
                          }
                        ]
                      },
                      {
                        "tag": "nobr"
                      }
                    ]
                  },
                  {
                    "tag": "nobr",
                    "children": [
                      {
                        "tag": "i"
                      }
                    ]
                  },
                  {
                    "tag": "i",
                    "children": [
                      {
                        "tag": "nobr",
                        "children": [
                          {
                            "text": "2"
                          }
                        ]
                      },
                      {
                        "tag": "nobr"
                      }
                    ]
                  },
                  {
                    "tag": "nobr",
                    "children": [
                      {
                        "text": "3"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><b><nobr>1</nobr><nobr></nobr></b><nobr><i></i></nobr><i><nobr>2</nobr><nobr></nobr></i><nobr>3</nobr></body></html>",
        "noQuirksBodyHtml": "<b><nobr>1</nobr><nobr></nobr></b><nobr><i></i></nobr><i><nobr>2</nobr><nobr></nobr></i><nobr>3</nobr>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><b><nobr>1<table><nobr></b><i><nobr>2<nobr></i>3",
      "errors": [
        "(1,44): foster-parenting-start-tag",
        "(1,48): foster-parenting-end-tag",
        "(1,48): adoption-agency-1.3",
        "(1,51): foster-parenting-start-tag",
        "(1,57): foster-parenting-start-tag",
        "(1,57): nobr-already-in-scope",
        "(1,57): adoption-agency-1.2",
        "(1,58): foster-parenting-character",
        "(1,64): foster-parenting-start-tag",
        "(1,64): nobr-already-in-scope",
        "(1,68): foster-parenting-end-tag",
        "(1,68): adoption-agency-1.2",
        "(1,69): foster-parenting-character",
        "(1,69): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "nobr": true,
            "i": true,
            "table": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "nobr",
                        "children": [
                          {
                            "text": "1"
                          },
                          {
                            "tag": "nobr",
                            "children": [
                              {
                                "tag": "i"
                              }
                            ]
                          },
                          {
                            "tag": "i",
                            "children": [
                              {
                                "tag": "nobr",
                                "children": [
                                  {
                                    "text": "2"
                                  }
                                ]
                              },
                              {
                                "tag": "nobr"
                              }
                            ]
                          },
                          {
                            "tag": "nobr",
                            "children": [
                              {
                                "text": "3"
                              }
                            ]
                          },
                          {
                            "tag": "table"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><b><nobr>1<nobr><i></i></nobr><i><nobr>2</nobr><nobr></nobr></i><nobr>3</nobr><table></table></nobr></b></body></html>",
        "noQuirksBodyHtml": "<b><nobr>1<nobr><i></i></nobr><i><nobr>2</nobr><nobr></nobr></i><nobr>3</nobr><table></table></nobr></b>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><b><nobr>1<table><tr><td><nobr></b><i><nobr>2<nobr></i>3",
      "errors": [
        "(1,56): unexpected-end-tag",
        "(1,65): unexpected-start-tag-implies-end-tag",
        "(1,65): adoption-agency-1.3",
        "(1,72): unexpected-start-tag-implies-end-tag",
        "(1,76): adoption-agency-1.3",
        "(1,77): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "nobr": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "i": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "nobr",
                        "children": [
                          {
                            "text": "1"
                          },
                          {
                            "tag": "table",
                            "children": [
                              {
                                "tag": "tbody",
                                "children": [
                                  {
                                    "tag": "tr",
                                    "children": [
                                      {
                                        "tag": "td",
                                        "children": [
                                          {
                                            "tag": "nobr",
                                            "children": [
                                              {
                                                "tag": "i"
                                              }
                                            ]
                                          },
                                          {
                                            "tag": "i",
                                            "children": [
                                              {
                                                "tag": "nobr",
                                                "children": [
                                                  {
                                                    "text": "2"
                                                  }
                                                ]
                                              },
                                              {
                                                "tag": "nobr"
                                              }
                                            ]
                                          },
                                          {
                                            "tag": "nobr",
                                            "children": [
                                              {
                                                "text": "3"
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><b><nobr>1<table><tbody><tr><td><nobr><i></i></nobr><i><nobr>2</nobr><nobr></nobr></i><nobr>3</nobr></td></tr></tbody></table></nobr></b></body></html>",
        "noQuirksBodyHtml": "<b><nobr>1<table><tbody><tr><td><nobr><i></i></nobr><i><nobr>2</nobr><nobr></nobr></i><nobr>3</nobr></td></tr></tbody></table></nobr></b>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><b><nobr>1<div><nobr></b><i><nobr>2<nobr></i>3",
      "errors": [
        "(1,42): unexpected-start-tag-implies-end-tag",
        "(1,42): adoption-agency-1.3",
        "(1,46): adoption-agency-1.3",
        "(1,46): adoption-agency-1.3",
        "(1,55): unexpected-start-tag-implies-end-tag",
        "(1,55): adoption-agency-1.3",
        "(1,62): unexpected-start-tag-implies-end-tag",
        "(1,66): adoption-agency-1.3",
        "(1,67): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "nobr": true,
            "div": true,
            "i": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "nobr",
                        "children": [
                          {
                            "text": "1"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "b",
                        "children": [
                          {
                            "tag": "nobr"
                          },
                          {
                            "tag": "nobr"
                          }
                        ]
                      },
                      {
                        "tag": "nobr",
                        "children": [
                          {
                            "tag": "i"
                          }
                        ]
                      },
                      {
                        "tag": "i",
                        "children": [
                          {
                            "tag": "nobr",
                            "children": [
                              {
                                "text": "2"
                              }
                            ]
                          },
                          {
                            "tag": "nobr"
                          }
                        ]
                      },
                      {
                        "tag": "nobr",
                        "children": [
                          {
                            "text": "3"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><b><nobr>1</nobr></b><div><b><nobr></nobr><nobr></nobr></b><nobr><i></i></nobr><i><nobr>2</nobr><nobr></nobr></i><nobr>3</nobr></div></body></html>",
        "noQuirksBodyHtml": "<b><nobr>1</nobr></b><div><b><nobr></nobr><nobr></nobr></b><nobr><i></i></nobr><i><nobr>2</nobr><nobr></nobr></i><nobr>3</nobr></div>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><b><nobr>1<nobr></b><div><i><nobr>2<nobr></i>3",
      "errors": [
        "(1,37): unexpected-start-tag-implies-end-tag",
        "(1,41): adoption-agency-1.3",
        "(1,55): unexpected-start-tag-implies-end-tag",
        "(1,55): adoption-agency-1.3",
        "(1,62): unexpected-start-tag-implies-end-tag",
        "(1,66): adoption-agency-1.3",
        "(1,67): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "nobr": true,
            "div": true,
            "i": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "nobr",
                        "children": [
                          {
                            "text": "1"
                          }
                        ]
                      },
                      {
                        "tag": "nobr"
                      }
                    ]
                  },
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "nobr",
                        "children": [
                          {
                            "tag": "i"
                          }
                        ]
                      },
                      {
                        "tag": "i",
                        "children": [
                          {
                            "tag": "nobr",
                            "children": [
                              {
                                "text": "2"
                              }
                            ]
                          },
                          {
                            "tag": "nobr"
                          }
                        ]
                      },
                      {
                        "tag": "nobr",
                        "children": [
                          {
                            "text": "3"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><b><nobr>1</nobr><nobr></nobr></b><div><nobr><i></i></nobr><i><nobr>2</nobr><nobr></nobr></i><nobr>3</nobr></div></body></html>",
        "noQuirksBodyHtml": "<b><nobr>1</nobr><nobr></nobr></b><div><nobr><i></i></nobr><i><nobr>2</nobr><nobr></nobr></i><nobr>3</nobr></div>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><b><nobr>1<nobr><ins></b><i><nobr>",
      "errors": [
        "(1,37): unexpected-start-tag-implies-end-tag",
        "(1,46): adoption-agency-1.3",
        "(1,55): unexpected-start-tag-implies-end-tag",
        "(1,55): adoption-agency-1.3",
        "(1,55): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "nobr": true,
            "ins": true,
            "i": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "nobr",
                        "children": [
                          {
                            "text": "1"
                          }
                        ]
                      },
                      {
                        "tag": "nobr",
                        "children": [
                          {
                            "tag": "ins"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "nobr",
                    "children": [
                      {
                        "tag": "i"
                      }
                    ]
                  },
                  {
                    "tag": "i",
                    "children": [
                      {
                        "tag": "nobr"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><b><nobr>1</nobr><nobr><ins></ins></nobr></b><nobr><i></i></nobr><i><nobr></nobr></i></body></html>",
        "noQuirksBodyHtml": "<b><nobr>1</nobr><nobr><ins></ins></nobr></b><nobr><i></i></nobr><i><nobr></nobr></i>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><b><nobr>1<ins><nobr></b><i>2",
      "errors": [
        "(1,42): unexpected-start-tag-implies-end-tag",
        "(1,42): adoption-agency-1.3",
        "(1,46): adoption-agency-1.3",
        "(1,50): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "nobr": true,
            "ins": true,
            "i": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "nobr",
                        "children": [
                          {
                            "text": "1"
                          },
                          {
                            "tag": "ins"
                          }
                        ]
                      },
                      {
                        "tag": "nobr"
                      }
                    ]
                  },
                  {
                    "tag": "nobr",
                    "children": [
                      {
                        "tag": "i",
                        "children": [
                          {
                            "text": "2"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><b><nobr>1<ins></ins></nobr><nobr></nobr></b><nobr><i>2</i></nobr></body></html>",
        "noQuirksBodyHtml": "<b><nobr>1<ins></ins></nobr><nobr></nobr></b><nobr><i>2</i></nobr>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><b>1<nobr></b><i><nobr>2</i>",
      "errors": [
        "(1,35): adoption-agency-1.3",
        "(1,44): unexpected-start-tag-implies-end-tag",
        "(1,44): adoption-agency-1.3",
        "(1,49): adoption-agency-1.3"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "nobr": true,
            "i": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "text": "1"
                      },
                      {
                        "tag": "nobr"
                      }
                    ]
                  },
                  {
                    "tag": "nobr",
                    "children": [
                      {
                        "tag": "i"
                      }
                    ]
                  },
                  {
                    "tag": "i",
                    "children": [
                      {
                        "tag": "nobr",
                        "children": [
                          {
                            "text": "2"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><b>1<nobr></nobr></b><nobr><i></i></nobr><i><nobr>2</nobr></i></body></html>",
        "noQuirksBodyHtml": "<b>1<nobr></nobr></b><nobr><i></i></nobr><i><nobr>2</nobr></i>"
      }
    },
    {
      "data": "<p><code x</code></p>\n",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,11): invalid-character-in-attribute-name",
        "(1,12): unexpected-character-after-solidus-in-tag",
        "(1,21): unexpected-end-tag",
        "(2,0): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "code": true
          },
          "attrWithFunnyChar": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "code",
                        "attrs": [
                          {
                            "name": "code",
                            "value": ""
                          },
                          {
                            "name": "x<",
                            "value": ""
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "code",
                    "attrs": [
                      {
                        "name": "code",
                        "value": ""
                      },
                      {
                        "name": "x<",
                        "value": ""
                      }
                    ],
                    "children": [
                      {
                        "text": "\n"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><p><code x<=\"\" code=\"\"></code></p><code x<=\"\" code=\"\">\n</code></body></html>",
        "noQuirksBodyHtml": "<p><code x<=\"\" code=\"\"></code></p><code x<=\"\" code=\"\">\n</code>"
      }
    },
    {
      "data": "<!DOCTYPE html><svg><foreignObject><p><i></p>a",
      "errors": [
        "(1,45): unexpected-end-tag",
        "(1,46): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg foreignObject": true,
            "p": true,
            "i": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "foreignObject",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "tag": "p",
                            "children": [
                              {
                                "tag": "i"
                              }
                            ]
                          },
                          {
                            "tag": "i",
                            "children": [
                              {
                                "text": "a"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><svg><foreignObject><p><i></i></p><i>a</i></foreignObject></svg></body></html>",
        "noQuirksBodyHtml": "<svg><foreignObject><p><i></i></p><i>a</i></foreignObject></svg>"
      }
    },
    {
      "data": "<!DOCTYPE html><table><tr><td><svg><foreignObject><p><i></p>a",
      "errors": [
        "(1,60): unexpected-end-tag",
        "(1,61): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "svg svg": true,
            "svg foreignObject": true,
            "p": true,
            "i": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "svg",
                                    "ns": "http://www.w3.org/2000/svg",
                                    "children": [
                                      {
                                        "tag": "foreignObject",
                                        "ns": "http://www.w3.org/2000/svg",
                                        "children": [
                                          {
                                            "tag": "p",
                                            "children": [
                                              {
                                                "tag": "i"
                                              }
                                            ]
                                          },
                                          {
                                            "tag": "i",
                                            "children": [
                                              {
                                                "text": "a"
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><svg><foreignObject><p><i></i></p><i>a</i></foreignObject></svg></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td><svg><foreignObject><p><i></i></p><i>a</i></foreignObject></svg></td></tr></tbody></table>"
      }
    },
    {
      "data": "<!DOCTYPE html><math><mtext><p><i></p>a",
      "errors": [
        "(1,38): unexpected-end-tag",
        "(1,39): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mtext": true,
            "p": true,
            "i": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mtext",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "p",
                            "children": [
                              {
                                "tag": "i"
                              }
                            ]
                          },
                          {
                            "tag": "i",
                            "children": [
                              {
                                "text": "a"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><math><mtext><p><i></i></p><i>a</i></mtext></math></body></html>",
        "noQuirksBodyHtml": "<math><mtext><p><i></i></p><i>a</i></mtext></math>"
      }
    },
    {
      "data": "<!DOCTYPE html><table><tr><td><math><mtext><p><i></p>a",
      "errors": [
        "(1,53): unexpected-end-tag",
        "(1,54): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "math math": true,
            "math mtext": true,
            "p": true,
            "i": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "math",
                                    "ns": "http://www.w3.org/1998/Math/MathML",
                                    "children": [
                                      {
                                        "tag": "mtext",
                                        "ns": "http://www.w3.org/1998/Math/MathML",
                                        "children": [
                                          {
                                            "tag": "p",
                                            "children": [
                                              {
                                                "tag": "i"
                                              }
                                            ]
                                          },
                                          {
                                            "tag": "i",
                                            "children": [
                                              {
                                                "text": "a"
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><math><mtext><p><i></i></p><i>a</i></mtext></math></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td><math><mtext><p><i></i></p><i>a</i></mtext></math></td></tr></tbody></table>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><div><!/div>a",
      "errors": [
        "(1,28): expected-dashes-or-doctype",
        "(1,34): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          },
          "doctype": true,
          "comment": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "comment": "/div"
                      },
                      {
                        "text": "a"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><div><!--/div-->a</div></body></html>",
        "noQuirksBodyHtml": "<div><!--/div-->a</div>"
      }
    },
    {
      "data": "<button><p><button>",
      "errors": [
        "Line 1 Col 8 Unexpected start tag (button). Expected DOCTYPE.",
        "Line 1 Col 19 Unexpected start tag (button) implies end tag (button).",
        "Line 1 Col 19 Expected closing tag. Unexpected end of file."
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "button": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "button",
                    "children": [
                      {
                        "tag": "p"
                      }
                    ]
                  },
                  {
                    "tag": "button"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><button><p></p></button><button></button></body></html>",
        "noQuirksBodyHtml": "<button><p></p></button><button></button>"
      }
    }
  ],
  "tests3.dat": [
    {
      "data": "<head></head><style></style>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,20): unexpected-start-tag-out-of-my-head"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style"
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><style></style></head><body></body></html>",
        "noQuirksBodyHtml": "<style></style>"
      }
    },
    {
      "data": "<head></head><script></script>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,21): unexpected-start-tag-out-of-my-head"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script"
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><script></script></head><body></body></html>",
        "noQuirksBodyHtml": "<script></script>"
      }
    },
    {
      "data": "<head></head><!-- --><style></style><!-- --><script></script>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,28): unexpected-start-tag-out-of-my-head",
        "(1,52): unexpected-start-tag-out-of-my-head"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "script": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style"
                  },
                  {
                    "tag": "script"
                  }
                ]
              },
              {
                "comment": " "
              },
              {
                "comment": " "
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><style></style><script></script></head><!-- --><!-- --><body></body></html>",
        "noQuirksBodyHtml": "<!-- --><style></style><!-- --><script></script>"
      }
    },
    {
      "data": "<head></head><!-- -->x<style></style><!-- --><script></script>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "style": true,
            "script": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "comment": " "
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "x"
                  },
                  {
                    "tag": "style"
                  },
                  {
                    "comment": " "
                  },
                  {
                    "tag": "script"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><!-- --><body>x<style></style><!-- --><script></script></body></html>",
        "noQuirksBodyHtml": "<!-- -->x<style></style><!-- --><script></script>"
      }
    },
    {
      "data": "<!DOCTYPE html><html><head></head><body><pre>\n</pre></body></html>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "pre": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "pre"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><pre></pre></body></html>",
        "noQuirksBodyHtml": "<pre></pre>"
      }
    },
    {
      "data": "<!DOCTYPE html><html><head></head><body><pre>\nfoo</pre></body></html>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "pre": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "pre",
                    "children": [
                      {
                        "text": "foo"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><pre>foo</pre></body></html>",
        "noQuirksBodyHtml": "<pre>foo</pre>"
      }
    },
    {
      "data": "<!DOCTYPE html><html><head></head><body><pre>\n\nfoo</pre></body></html>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "pre": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "pre",
                    "children": [
                      {
                        "text": "\nfoo"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><pre>\nfoo</pre></body></html>",
        "noQuirksBodyHtml": "<pre>\nfoo</pre>"
      }
    },
    {
      "data": "<!DOCTYPE html><html><head></head><body><pre>\nfoo\n</pre></body></html>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "pre": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "pre",
                    "children": [
                      {
                        "text": "foo\n"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><pre>foo\n</pre></body></html>",
        "noQuirksBodyHtml": "<pre>foo\n</pre>"
      }
    },
    {
      "data": "<!DOCTYPE html><html><head></head><body><pre>x</pre><span>\n</span></body></html>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "pre": true,
            "span": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "pre",
                    "children": [
                      {
                        "text": "x"
                      }
                    ]
                  },
                  {
                    "tag": "span",
                    "children": [
                      {
                        "text": "\n"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><pre>x</pre><span>\n</span></body></html>",
        "noQuirksBodyHtml": "<pre>x</pre><span>\n</span>"
      }
    },
    {
      "data": "<!DOCTYPE html><html><head></head><body><pre>x\ny</pre></body></html>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "pre": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "pre",
                    "children": [
                      {
                        "text": "x\ny"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><pre>x\ny</pre></body></html>",
        "noQuirksBodyHtml": "<pre>x\ny</pre>"
      }
    },
    {
      "data": "<!DOCTYPE html><html><head></head><body><pre>x<div>\ny</pre></body></html>",
      "errors": [
        "(2,7): end-tag-too-early"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "pre": true,
            "div": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "pre",
                    "children": [
                      {
                        "text": "x"
                      },
                      {
                        "tag": "div",
                        "children": [
                          {
                            "text": "\ny"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><pre>x<div>\ny</div></pre></body></html>",
        "noQuirksBodyHtml": "<pre>x<div>\ny</div></pre>"
      }
    },
    {
      "data": "<!DOCTYPE html><pre>&#x0a;&#x0a;A</pre>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "pre": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "pre",
                    "children": [
                      {
                        "text": "\nA"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><pre>\nA</pre></body></html>",
        "noQuirksBodyHtml": "<pre>\nA</pre>"
      }
    },
    {
      "data": "<!DOCTYPE html><HTML><META><HEAD></HEAD></HTML>",
      "errors": [
        "(1,33): two-heads-are-not-better-than-one"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "meta": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "meta"
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><meta></head><body></body></html>",
        "noQuirksBodyHtml": "<meta>"
      }
    },
    {
      "data": "<!DOCTYPE html><HTML><HEAD><head></HEAD></HTML>",
      "errors": [
        "(1,33): two-heads-are-not-better-than-one"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<textarea>foo<span>bar</span><i>baz",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag",
        "(1,35): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "textarea": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "textarea",
                    "children": [
                      {
                        "text": "foo<span>bar</span><i>baz",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><textarea>foo&lt;span&gt;bar&lt;/span&gt;&lt;i&gt;baz</textarea></body></html>",
        "noQuirksBodyHtml": "<textarea>foo&lt;span&gt;bar&lt;/span&gt;&lt;i&gt;baz</textarea>"
      }
    },
    {
      "data": "<title>foo<span>bar</em><i>baz",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,30): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "title": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "foo<span>bar</em><i>baz",
                        "escaped": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><title>foo&lt;span&gt;bar&lt;/em&gt;&lt;i&gt;baz</title></head><body></body></html>",
        "noQuirksBodyHtml": "<title>foo&lt;span&gt;bar&lt;/em&gt;&lt;i&gt;baz</title>"
      }
    },
    {
      "data": "<!DOCTYPE html><textarea>\n</textarea>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "textarea": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "textarea"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><textarea></textarea></body></html>",
        "noQuirksBodyHtml": "<textarea></textarea>"
      }
    },
    {
      "data": "<!DOCTYPE html><textarea>\nfoo</textarea>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "textarea": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "textarea",
                    "children": [
                      {
                        "text": "foo"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><textarea>foo</textarea></body></html>",
        "noQuirksBodyHtml": "<textarea>foo</textarea>"
      }
    },
    {
      "data": "<!DOCTYPE html><textarea>\n\nfoo</textarea>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "textarea": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "textarea",
                    "children": [
                      {
                        "text": "\nfoo"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><textarea>\nfoo</textarea></body></html>",
        "noQuirksBodyHtml": "<textarea>\nfoo</textarea>"
      }
    },
    {
      "data": "<!DOCTYPE html><html><head></head><body><ul><li><div><p><li></ul></body></html>",
      "errors": [
        "(1,60): end-tag-too-early"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ul": true,
            "li": true,
            "div": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ul",
                    "children": [
                      {
                        "tag": "li",
                        "children": [
                          {
                            "tag": "div",
                            "children": [
                              {
                                "tag": "p"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "li"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><ul><li><div><p></p></div></li><li></li></ul></body></html>",
        "noQuirksBodyHtml": "<ul><li><div><p></p></div></li><li></li></ul>"
      }
    },
    {
      "data": "<!doctype html><nobr><nobr><nobr>",
      "errors": [
        "(1,27): unexpected-start-tag-implies-end-tag",
        "(1,33): unexpected-start-tag-implies-end-tag",
        "(1,33): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "nobr": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "nobr"
                  },
                  {
                    "tag": "nobr"
                  },
                  {
                    "tag": "nobr"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><nobr></nobr><nobr></nobr><nobr></nobr></body></html>",
        "noQuirksBodyHtml": "<nobr></nobr><nobr></nobr><nobr></nobr>"
      }
    },
    {
      "data": "<!doctype html><nobr><nobr></nobr><nobr>",
      "errors": [
        "(1,27): unexpected-start-tag-implies-end-tag",
        "(1,40): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "nobr": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "nobr"
                  },
                  {
                    "tag": "nobr"
                  },
                  {
                    "tag": "nobr"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><nobr></nobr><nobr></nobr><nobr></nobr></body></html>",
        "noQuirksBodyHtml": "<nobr></nobr><nobr></nobr><nobr></nobr>"
      }
    },
    {
      "data": "<!doctype html><html><body><p><table></table></body></html>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "table": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p"
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p></p><table></table></body></html>",
        "noQuirksBodyHtml": "<p></p><table></table>"
      }
    },
    {
      "data": "<p><table></table>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "table": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "table"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><p><table></table></p></body></html>",
        "noQuirksBodyHtml": "<p></p><table></table>"
      }
    }
  ],
  "tests4.dat": [
    {
      "data": "direct div content",
      "errors": [],
      "fragment": {
        "name": "div"
      },
      "document": {
        "props": {
          "tags": {}
        },
        "tree": [
          {
            "text": "direct div content"
          }
        ],
        "html": "direct div content",
        "noQuirksBodyHtml": "direct div content"
      }
    },
    {
      "data": "direct textarea content",
      "errors": [],
      "fragment": {
        "name": "textarea"
      },
      "document": {
        "props": {
          "tags": {}
        },
        "tree": [
          {
            "text": "direct textarea content"
          }
        ],
        "html": "direct textarea content",
        "noQuirksBodyHtml": "direct textarea content"
      }
    },
    {
      "data": "textarea content with <em>pseudo</em> <foo>markup",
      "errors": [],
      "fragment": {
        "name": "textarea"
      },
      "document": {
        "props": {
          "tags": {},
          "escaped": true
        },
        "tree": [
          {
            "text": "textarea content with <em>pseudo</em> <foo>markup",
            "escaped": true
          }
        ],
        "html": "textarea content with &lt;em&gt;pseudo&lt;/em&gt; &lt;foo&gt;markup",
        "noQuirksBodyHtml": "textarea content with <em>pseudo</em> <foo>markup</foo>"
      }
    },
    {
      "data": "this is &#x0043;DATA inside a <style> element",
      "errors": [],
      "fragment": {
        "name": "style"
      },
      "document": {
        "props": {
          "tags": {},
          "no_escape": true
        },
        "tree": [
          {
            "text": "this is &#x0043;DATA inside a <style> element",
            "no_escape": true
          }
        ],
        "html": "this is &#x0043;DATA inside a <style> element",
        "noQuirksBodyHtml": "this is CDATA inside a <style> element</style>"
      }
    },
    {
      "data": "</plaintext>",
      "errors": [],
      "fragment": {
        "name": "plaintext"
      },
      "document": {
        "props": {
          "tags": {},
          "no_escape": true
        },
        "tree": [
          {
            "text": "</plaintext>",
            "no_escape": true
          }
        ],
        "html": "</plaintext>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "setting html's innerHTML",
      "errors": [],
      "fragment": {
        "name": "html"
      },
      "document": {
        "props": {
          "tags": {
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "head"
          },
          {
            "tag": "body",
            "children": [
              {
                "text": "setting html's innerHTML"
              }
            ]
          }
        ],
        "html": "<head></head><body>setting html's innerHTML</body>",
        "noQuirksBodyHtml": "setting html's innerHTML"
      }
    },
    {
      "data": "<title>setting head's innerHTML</title>",
      "errors": [],
      "fragment": {
        "name": "head"
      },
      "document": {
        "props": {
          "tags": {
            "title": true
          }
        },
        "tree": [
          {
            "tag": "title",
            "children": [
              {
                "text": "setting head's innerHTML"
              }
            ]
          }
        ],
        "html": "<title>setting head's innerHTML</title>",
        "noQuirksBodyHtml": "<title>setting head's innerHTML</title>"
      }
    }
  ],
  "tests5.dat": [
    {
      "data": "<style> <!-- </style>x",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": " <!-- ",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "x"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><style> <!-- </style></head><body>x</body></html>",
        "noQuirksBodyHtml": "<style> <!-- </style>x"
      }
    },
    {
      "data": "<style> <!-- </style> --> </style>x",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,34): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          },
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": " <!-- ",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": " "
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "--> x",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><style> <!-- </style> </head><body>--&gt; x</body></html>",
        "noQuirksBodyHtml": "<style> <!-- </style> --&gt; x"
      }
    },
    {
      "data": "<style> <!--> </style>x",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": " <!--> ",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "x"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><style> <!--> </style></head><body>x</body></html>",
        "noQuirksBodyHtml": "<style> <!--> </style>x"
      }
    },
    {
      "data": "<style> <!---> </style>x",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": " <!---> ",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "x"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><style> <!---> </style></head><body>x</body></html>",
        "noQuirksBodyHtml": "<style> <!---> </style>x"
      }
    },
    {
      "data": "<iframe> <!---> </iframe>x",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "iframe": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "iframe",
                    "children": [
                      {
                        "text": " <!---> ",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "x"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><iframe> <!---> </iframe>x</body></html>",
        "noQuirksBodyHtml": "<iframe> <!---> </iframe>x"
      }
    },
    {
      "data": "<iframe> <!--- </iframe>->x</iframe> --> </iframe>x",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,36): unexpected-end-tag",
        "(1,50): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "iframe": true
          },
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "iframe",
                    "children": [
                      {
                        "text": " <!--- ",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "->x --> x",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><iframe> <!--- </iframe>-&gt;x --&gt; x</body></html>",
        "noQuirksBodyHtml": "<iframe> <!--- </iframe>-&gt;x --&gt; x"
      }
    },
    {
      "data": "<script> <!-- </script> --> </script>x",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,37): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "script": true,
            "body": true
          },
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": " <!-- ",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": " "
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "--> x",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><script> <!-- </script> </head><body>--&gt; x</body></html>",
        "noQuirksBodyHtml": "<script> <!-- </script> --&gt; x"
      }
    },
    {
      "data": "<title> <!-- </title> --> </title>x",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,34): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "title": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": " <!-- ",
                        "escaped": true
                      }
                    ]
                  },
                  {
                    "text": " "
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "--> x",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><title> &lt;!-- </title> </head><body>--&gt; x</body></html>",
        "noQuirksBodyHtml": "<title> &lt;!-- </title> --&gt; x"
      }
    },
    {
      "data": "<textarea> <!--- </textarea>->x</textarea> --> </textarea>x",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag",
        "(1,42): unexpected-end-tag",
        "(1,58): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "textarea": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "textarea",
                    "children": [
                      {
                        "text": " <!--- ",
                        "escaped": true
                      }
                    ]
                  },
                  {
                    "text": "->x --> x",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><textarea> &lt;!--- </textarea>-&gt;x --&gt; x</body></html>",
        "noQuirksBodyHtml": "<textarea> &lt;!--- </textarea>-&gt;x --&gt; x"
      }
    },
    {
      "data": "<style> <!</-- </style>x",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style",
                    "children": [
                      {
                        "text": " <!</-- ",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "x"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><style> <!</-- </style></head><body>x</body></html>",
        "noQuirksBodyHtml": "<style> <!</-- </style>x"
      }
    },
    {
      "data": "<p><xmp></xmp>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "xmp": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p"
                  },
                  {
                    "tag": "xmp"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><p></p><xmp></xmp></body></html>",
        "noQuirksBodyHtml": "<p></p><xmp></xmp>"
      }
    },
    {
      "data": "<xmp> <!-- > --> </xmp>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "xmp": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "xmp",
                    "children": [
                      {
                        "text": " <!-- > --> ",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><xmp> <!-- > --> </xmp></body></html>",
        "noQuirksBodyHtml": "<xmp> <!-- > --> </xmp>"
      }
    },
    {
      "data": "<title>&amp;</title>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "title": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "&",
                        "escaped": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><title>&amp;</title></head><body></body></html>",
        "noQuirksBodyHtml": "<title>&amp;</title>"
      }
    },
    {
      "data": "<title><!--&amp;--></title>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "title": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "<!--&-->",
                        "escaped": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><title>&lt;!--&amp;--&gt;</title></head><body></body></html>",
        "noQuirksBodyHtml": "<title>&lt;!--&amp;--&gt;</title>"
      }
    },
    {
      "data": "<title><!--</title>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "title": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "<!--",
                        "escaped": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><title>&lt;!--</title></head><body></body></html>",
        "noQuirksBodyHtml": "<title>&lt;!--</title>"
      }
    },
    {
      "data": "<noscript><!--</noscript>--></noscript>",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag",
        "(1,39): unexpected-end-tag"
      ],
      "script": "on",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true
          },
          "no_escape": true,
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "text": "<!--",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "-->",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><noscript><!--</noscript></head><body>--&gt;</body></html>",
        "noQuirksBodyHtml": "<noscript><!--</noscript>--></noscript>"
      }
    },
    {
      "data": "<noscript><!--</noscript>--></noscript>",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag"
      ],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "noscript": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "noscript",
                    "children": [
                      {
                        "comment": "</noscript>"
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head><noscript><!--</noscript>--></noscript></head><body></body></html>",
        "noQuirksBodyHtml": "<noscript><!--</noscript>--></noscript>"
      }
    }
  ],
  "tests6.dat": [
    {
      "data": "<!doctype html></head> <head>",
      "errors": [
        "(1,29): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "text": " "
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head> <body></body></html>",
        "noQuirksBodyHtml": " "
      }
    },
    {
      "data": "<!doctype html><form><div></form><div>",
      "errors": [
        "(1,33): end-tag-too-early-ignored",
        "(1,38): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "form": true,
            "div": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "form",
                    "children": [
                      {
                        "tag": "div",
                        "children": [
                          {
                            "tag": "div"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><form><div><div></div></div></form></body></html>",
        "noQuirksBodyHtml": "<form><div><div></div></div></form>"
      }
    },
    {
      "data": "<!doctype html><title>&amp;</title>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "title": true,
            "body": true
          },
          "doctype": true,
          "escaped": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "&",
                        "escaped": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><title>&amp;</title></head><body></body></html>",
        "noQuirksBodyHtml": "<title>&amp;</title>"
      }
    },
    {
      "data": "<!doctype html><title><!--&amp;--></title>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "title": true,
            "body": true
          },
          "doctype": true,
          "escaped": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "<!--&-->",
                        "escaped": true
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><title>&lt;!--&amp;--&gt;</title></head><body></body></html>",
        "noQuirksBodyHtml": "<title>&lt;!--&amp;--&gt;</title>"
      }
    },
    {
      "data": "<!doctype>",
      "errors": [
        "(1,9): need-space-after-doctype",
        "(1,10): expected-doctype-name-but-got-right-bracket",
        "(1,10): unknown-doctype"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": ""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE ><html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!---x",
      "errors": [
        "(1,6): eof-in-comment",
        "(1,6): expected-doctype-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "comment": "-x"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!---x--><html><head></head><body></body></html>",
        "noQuirksBodyHtml": "<!---x-->"
      }
    },
    {
      "data": "<body>\n<div>",
      "errors": [
        "(1,6): unexpected-start-tag",
        "(2,5): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "div"
      },
      "document": {
        "props": {
          "tags": {
            "div": true
          }
        },
        "tree": [
          {
            "text": "\n"
          },
          {
            "tag": "div"
          }
        ],
        "html": "\n<div></div>",
        "noQuirksBodyHtml": "\n<div></div>"
      }
    },
    {
      "data": "<frameset></frameset>\nfoo",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag",
        "(2,1): unexpected-char-after-frameset",
        "(2,2): unexpected-char-after-frameset",
        "(2,3): unexpected-char-after-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              },
              {
                "text": "\n"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset>\n</html>",
        "noQuirksBodyHtml": "\nfoo"
      }
    },
    {
      "data": "<frameset></frameset>\n<noframes>",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag",
        "(2,10): expected-named-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true,
            "noframes": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              },
              {
                "text": "\n"
              },
              {
                "tag": "noframes"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset>\n<noframes></noframes></html>",
        "noQuirksBodyHtml": "\n<noframes></noframes>"
      }
    },
    {
      "data": "<frameset></frameset>\n<div>",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag",
        "(2,5): unexpected-start-tag-after-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              },
              {
                "text": "\n"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset>\n</html>",
        "noQuirksBodyHtml": "\n<div></div>"
      }
    },
    {
      "data": "<frameset></frameset>\n</html>",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              },
              {
                "text": "\n"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset>\n</html>",
        "noQuirksBodyHtml": "\n"
      }
    },
    {
      "data": "<frameset></frameset>\n</div>",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag",
        "(2,6): unexpected-end-tag-after-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              },
              {
                "text": "\n"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset>\n</html>",
        "noQuirksBodyHtml": "\n"
      }
    },
    {
      "data": "<form><form>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,12): unexpected-start-tag",
        "(1,12): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "form": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "form"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><form></form></body></html>",
        "noQuirksBodyHtml": "<form></form>"
      }
    },
    {
      "data": "<button><button>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,16): unexpected-start-tag-implies-end-tag",
        "(1,16): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "button": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "button"
                  },
                  {
                    "tag": "button"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><button></button><button></button></body></html>",
        "noQuirksBodyHtml": "<button></button><button></button>"
      }
    },
    {
      "data": "<table><tr><td></th>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,20): unexpected-end-tag",
        "(1,20): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><tr><td></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td></td></tr></tbody></table>"
      }
    },
    {
      "data": "<table><caption><td>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,20): unexpected-cell-in-table-body",
        "(1,20): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "caption": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "caption"
                      },
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><caption></caption><tbody><tr><td></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><caption></caption><tbody><tr><td></td></tr></tbody></table>"
      }
    },
    {
      "data": "<table><caption><div>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,21): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "caption": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "caption",
                        "children": [
                          {
                            "tag": "div"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><caption><div></div></caption></table></body></html>",
        "noQuirksBodyHtml": "<table><caption><div></div></caption></table>"
      }
    },
    {
      "data": "</caption><div>",
      "errors": [
        "(1,10): XXX-undefined-error",
        "(1,15): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "caption"
      },
      "document": {
        "props": {
          "tags": {
            "div": true
          }
        },
        "tree": [
          {
            "tag": "div"
          }
        ],
        "html": "<div></div>",
        "noQuirksBodyHtml": "<div></div>"
      }
    },
    {
      "data": "<table><caption><div></caption>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,31): expected-one-end-tag-but-got-another",
        "(1,31): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "caption": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "caption",
                        "children": [
                          {
                            "tag": "div"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><caption><div></div></caption></table></body></html>",
        "noQuirksBodyHtml": "<table><caption><div></div></caption></table>"
      }
    },
    {
      "data": "<table><caption></table>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "caption": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "caption"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><caption></caption></table></body></html>",
        "noQuirksBodyHtml": "<table><caption></caption></table>"
      }
    },
    {
      "data": "</table><div>",
      "errors": [
        "(1,8): unexpected-end-tag",
        "(1,13): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "caption"
      },
      "document": {
        "props": {
          "tags": {
            "div": true
          }
        },
        "tree": [
          {
            "tag": "div"
          }
        ],
        "html": "<div></div>",
        "noQuirksBodyHtml": "<div></div>"
      }
    },
    {
      "data": "<table><caption></body></col></colgroup></html></tbody></td></tfoot></th></thead></tr>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,23): unexpected-end-tag",
        "(1,29): unexpected-end-tag",
        "(1,40): unexpected-end-tag",
        "(1,47): unexpected-end-tag",
        "(1,55): unexpected-end-tag",
        "(1,60): unexpected-end-tag",
        "(1,68): unexpected-end-tag",
        "(1,73): unexpected-end-tag",
        "(1,81): unexpected-end-tag",
        "(1,86): unexpected-end-tag",
        "(1,86): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "caption": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "caption"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><caption></caption></table></body></html>",
        "noQuirksBodyHtml": "<table><caption></caption></table>"
      }
    },
    {
      "data": "<table><caption><div></div>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,27): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "caption": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "caption",
                        "children": [
                          {
                            "tag": "div"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><caption><div></div></caption></table></body></html>",
        "noQuirksBodyHtml": "<table><caption><div></div></caption></table>"
      }
    },
    {
      "data": "<table><tr><td></body></caption></col></colgroup></html>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,22): unexpected-end-tag",
        "(1,32): unexpected-end-tag",
        "(1,38): unexpected-end-tag",
        "(1,49): unexpected-end-tag",
        "(1,56): unexpected-end-tag",
        "(1,56): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><tr><td></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td></td></tr></tbody></table>"
      }
    },
    {
      "data": "</table></tbody></tfoot></thead></tr><div>",
      "errors": [
        "(1,8): unexpected-end-tag",
        "(1,16): unexpected-end-tag",
        "(1,24): unexpected-end-tag",
        "(1,32): unexpected-end-tag",
        "(1,37): unexpected-end-tag",
        "(1,42): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "td"
      },
      "document": {
        "props": {
          "tags": {
            "div": true
          }
        },
        "tree": [
          {
            "tag": "div"
          }
        ],
        "html": "<div></div>",
        "noQuirksBodyHtml": "<div></div>"
      }
    },
    {
      "data": "<table><colgroup>foo",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,18): foster-parenting-character-in-table",
        "(1,19): foster-parenting-character-in-table",
        "(1,20): foster-parenting-character-in-table",
        "(1,20): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "colgroup": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "foo"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "colgroup"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>foo<table><colgroup></colgroup></table></body></html>",
        "noQuirksBodyHtml": "foo<table><colgroup></colgroup></table>"
      }
    },
    {
      "data": "foo<col>",
      "errors": [
        "(1,1): unexpected-character-in-colgroup",
        "(1,2): unexpected-character-in-colgroup",
        "(1,3): unexpected-character-in-colgroup"
      ],
      "fragment": {
        "name": "colgroup"
      },
      "document": {
        "props": {
          "tags": {
            "col": true
          }
        },
        "tree": [
          {
            "tag": "col"
          }
        ],
        "html": "<col>",
        "noQuirksBodyHtml": "foo"
      }
    },
    {
      "data": "<table><colgroup></col>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,23): no-end-tag",
        "(1,23): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "colgroup": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "colgroup"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><colgroup></colgroup></table></body></html>",
        "noQuirksBodyHtml": "<table><colgroup></colgroup></table>"
      }
    },
    {
      "data": "<frameset><div>",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag",
        "(1,15): unexpected-start-tag-in-frameset",
        "(1,15): eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": "<div></div>"
      }
    },
    {
      "data": "</frameset><frame>",
      "errors": [
        "(1,11): unexpected-frameset-in-frameset-innerhtml"
      ],
      "fragment": {
        "name": "frameset"
      },
      "document": {
        "props": {
          "tags": {
            "frame": true
          }
        },
        "tree": [
          {
            "tag": "frame"
          }
        ],
        "html": "<frame>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<frameset></div>",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag",
        "(1,16): unexpected-end-tag-in-frameset",
        "(1,16): eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "</body><div>",
      "errors": [
        "(1,7): unexpected-close-tag",
        "(1,12): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "body"
      },
      "document": {
        "props": {
          "tags": {
            "div": true
          }
        },
        "tree": [
          {
            "tag": "div"
          }
        ],
        "html": "<div></div>",
        "noQuirksBodyHtml": "<div></div>"
      }
    },
    {
      "data": "<table><tr><div>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,16): unexpected-start-tag-implies-table-voodoo",
        "(1,16): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "table": true,
            "tbody": true,
            "tr": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div></div><table><tbody><tr></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<div></div><table><tbody><tr></tr></tbody></table>"
      }
    },
    {
      "data": "</tr><td>",
      "errors": [
        "(1,5): unexpected-end-tag"
      ],
      "fragment": {
        "name": "tr"
      },
      "document": {
        "props": {
          "tags": {
            "td": true
          }
        },
        "tree": [
          {
            "tag": "td"
          }
        ],
        "html": "<td></td>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "</tbody></tfoot></thead><td>",
      "errors": [
        "(1,8): unexpected-end-tag",
        "(1,16): unexpected-end-tag",
        "(1,24): unexpected-end-tag"
      ],
      "fragment": {
        "name": "tr"
      },
      "document": {
        "props": {
          "tags": {
            "td": true
          }
        },
        "tree": [
          {
            "tag": "td"
          }
        ],
        "html": "<td></td>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<table><tr><div><td>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,16): foster-parenting-start-tag",
        "(1,20): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div></div><table><tbody><tr><td></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<div></div><table><tbody><tr><td></td></tr></tbody></table>"
      }
    },
    {
      "data": "<caption><col><colgroup><tbody><tfoot><thead><tr>",
      "errors": [
        "(1,9): unexpected-start-tag",
        "(1,14): unexpected-start-tag",
        "(1,24): unexpected-start-tag",
        "(1,31): unexpected-start-tag",
        "(1,38): unexpected-start-tag",
        "(1,45): unexpected-start-tag"
      ],
      "fragment": {
        "name": "tbody"
      },
      "document": {
        "props": {
          "tags": {
            "tr": true
          }
        },
        "tree": [
          {
            "tag": "tr"
          }
        ],
        "html": "<tr></tr>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<table><tbody></thead>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,22): unexpected-end-tag-in-table-body",
        "(1,22): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody></tbody></table>"
      }
    },
    {
      "data": "</table><tr>",
      "errors": [
        "(1,8): unexpected-end-tag"
      ],
      "fragment": {
        "name": "tbody"
      },
      "document": {
        "props": {
          "tags": {
            "tr": true
          }
        },
        "tree": [
          {
            "tag": "tr"
          }
        ],
        "html": "<tr></tr>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<table><tbody></body></caption></col></colgroup></html></td></th></tr>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,21): unexpected-end-tag-in-table-body",
        "(1,31): unexpected-end-tag-in-table-body",
        "(1,37): unexpected-end-tag-in-table-body",
        "(1,48): unexpected-end-tag-in-table-body",
        "(1,55): unexpected-end-tag-in-table-body",
        "(1,60): unexpected-end-tag-in-table-body",
        "(1,65): unexpected-end-tag-in-table-body",
        "(1,70): unexpected-end-tag-in-table-body",
        "(1,70): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody></tbody></table>"
      }
    },
    {
      "data": "<table><tbody></div>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,20): unexpected-end-tag-implies-table-voodoo",
        "(1,20): end-tag-too-early",
        "(1,20): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody></tbody></table>"
      }
    },
    {
      "data": "<table><table>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,14): unexpected-start-tag-implies-end-tag",
        "(1,14): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table"
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table></table><table></table></body></html>",
        "noQuirksBodyHtml": "<table></table><table></table>"
      }
    },
    {
      "data": "<table></body></caption></col></colgroup></html></tbody></td></tfoot></th></thead></tr>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,14): unexpected-end-tag",
        "(1,24): unexpected-end-tag",
        "(1,30): unexpected-end-tag",
        "(1,41): unexpected-end-tag",
        "(1,48): unexpected-end-tag",
        "(1,56): unexpected-end-tag",
        "(1,61): unexpected-end-tag",
        "(1,69): unexpected-end-tag",
        "(1,74): unexpected-end-tag",
        "(1,82): unexpected-end-tag",
        "(1,87): unexpected-end-tag",
        "(1,87): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table></table></body></html>",
        "noQuirksBodyHtml": "<table></table>"
      }
    },
    {
      "data": "</table><tr>",
      "errors": [
        "(1,8): unexpected-end-tag"
      ],
      "fragment": {
        "name": "table"
      },
      "document": {
        "props": {
          "tags": {
            "tbody": true,
            "tr": true
          }
        },
        "tree": [
          {
            "tag": "tbody",
            "children": [
              {
                "tag": "tr"
              }
            ]
          }
        ],
        "html": "<tbody><tr></tr></tbody>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<body></body></html>",
      "errors": [
        "(1,20): unexpected-end-tag-after-body-innerhtml"
      ],
      "fragment": {
        "name": "html"
      },
      "document": {
        "props": {
          "tags": {
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "head"
          },
          {
            "tag": "body"
          }
        ],
        "html": "<head></head><body></body>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<html><frameset></frameset></html> ",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              },
              {
                "text": " "
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset> </html>",
        "noQuirksBodyHtml": " "
      }
    },
    {
      "data": "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01//EN\"><html></html>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html \"-//W3C//DTD HTML 4.01//EN\" \"\""
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<param><frameset></frameset>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,17): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": "<param>"
      }
    },
    {
      "data": "<source><frameset></frameset>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,18): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": "<source>"
      }
    },
    {
      "data": "<track><frameset></frameset>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,17): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": "<track>"
      }
    },
    {
      "data": "</html><frameset></frameset>",
      "errors": [
        "(1,7): expected-doctype-but-got-end-tag",
        "(1,17): expected-eof-but-got-start-tag",
        "(1,17): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "</body><frameset></frameset>",
      "errors": [
        "(1,7): expected-doctype-but-got-end-tag",
        "(1,17): unexpected-start-tag-after-body",
        "(1,17): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": ""
      }
    }
  ],
  "tests7.dat": [
    {
      "data": "<!doctype html><body><title>X</title>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "title": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "X"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><title>X</title></body></html>",
        "noQuirksBodyHtml": "<title>X</title>"
      }
    },
    {
      "data": "<!doctype html><table><title>X</title></table>",
      "errors": [
        "(1,29): unexpected-start-tag-implies-table-voodoo"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "title": true,
            "table": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "X"
                      }
                    ]
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><title>X</title><table></table></body></html>",
        "noQuirksBodyHtml": "<title>X</title><table></table>"
      }
    },
    {
      "data": "<!doctype html><head></head><title>X</title>",
      "errors": [
        "(1,35): unexpected-start-tag-out-of-my-head"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "title": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "X"
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><title>X</title></head><body></body></html>",
        "noQuirksBodyHtml": "<title>X</title>"
      }
    },
    {
      "data": "<!doctype html></head><title>X</title>",
      "errors": [
        "(1,29): unexpected-start-tag-out-of-my-head"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "title": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "title",
                    "children": [
                      {
                        "text": "X"
                      }
                    ]
                  }
                ]
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head><title>X</title></head><body></body></html>",
        "noQuirksBodyHtml": "<title>X</title>"
      }
    },
    {
      "data": "<!doctype html><table><meta></table>",
      "errors": [
        "(1,28): unexpected-start-tag-implies-table-voodoo"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "meta": true,
            "table": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "meta"
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><meta><table></table></body></html>",
        "noQuirksBodyHtml": "<meta><table></table>"
      }
    },
    {
      "data": "<!doctype html><table>X<tr><td><table> <meta></table></table>",
      "errors": [
        "unexpected text in table",
        "(1,45): unexpected-start-tag-implies-table-voodoo"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "meta": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "X"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "meta"
                                  },
                                  {
                                    "tag": "table",
                                    "children": [
                                      {
                                        "text": " "
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>X<table><tbody><tr><td><meta><table> </table></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "X<table><tbody><tr><td><meta><table> </table></td></tr></tbody></table>"
      }
    },
    {
      "data": "<!doctype html><html> <head>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body></body></html>",
        "noQuirksBodyHtml": " "
      }
    },
    {
      "data": "<!doctype html> <head>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body></body></html>",
        "noQuirksBodyHtml": " "
      }
    },
    {
      "data": "<!doctype html><table><style> <tr>x </style> </table>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "style": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "style",
                        "children": [
                          {
                            "text": " <tr>x ",
                            "no_escape": true
                          }
                        ]
                      },
                      {
                        "text": " "
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><style> <tr>x </style> </table></body></html>",
        "noQuirksBodyHtml": "<table><style> <tr>x </style> </table>"
      }
    },
    {
      "data": "<!doctype html><table><TBODY><script> <tr>x </script> </table>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "script": true
          },
          "doctype": true,
          "no_escape": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "script",
                            "children": [
                              {
                                "text": " <tr>x ",
                                "no_escape": true
                              }
                            ]
                          },
                          {
                            "text": " "
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><tbody><script> <tr>x </script> </tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><script> <tr>x </script> </tbody></table>"
      }
    },
    {
      "data": "<!doctype html><p><applet><p>X</p></applet>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "applet": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "applet",
                        "children": [
                          {
                            "tag": "p",
                            "children": [
                              {
                                "text": "X"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><applet><p>X</p></applet></p></body></html>",
        "noQuirksBodyHtml": "<p><applet><p>X</p></applet></p>"
      }
    },
    {
      "data": "<!doctype html><p><object type=\"application/x-non-existant-plugin\"><p>X</p></object>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "object": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "object",
                        "attrs": [
                          {
                            "name": "type",
                            "value": "application/x-non-existant-plugin"
                          }
                        ],
                        "children": [
                          {
                            "tag": "p",
                            "children": [
                              {
                                "text": "X"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><p><object type=\"application/x-non-existant-plugin\"><p>X</p></object></p></body></html>",
        "noQuirksBodyHtml": "<p><object type=\"application/x-non-existant-plugin\"><p>X</p></object></p>"
      }
    },
    {
      "data": "<!doctype html><listing>\nX</listing>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "listing": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "listing",
                    "children": [
                      {
                        "text": "X"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><listing>X</listing></body></html>",
        "noQuirksBodyHtml": "<listing>X</listing>"
      }
    },
    {
      "data": "<!doctype html><select><input>X",
      "errors": [
        "(1,30): unexpected-input-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "input": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select"
                  },
                  {
                    "tag": "input"
                  },
                  {
                    "text": "X"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select></select><input>X</body></html>",
        "noQuirksBodyHtml": "<select></select><input>X"
      }
    },
    {
      "data": "<!doctype html><select><select>X",
      "errors": [
        "(1,31): unexpected-select-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select"
                  },
                  {
                    "text": "X"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select></select>X</body></html>",
        "noQuirksBodyHtml": "<select></select>X"
      }
    },
    {
      "data": "<!doctype html><table><input type=hidDEN></table>",
      "errors": [
        "(1,41): unexpected-hidden-input-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "input": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "input",
                        "attrs": [
                          {
                            "name": "type",
                            "value": "hidDEN"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><input type=\"hidDEN\"></table></body></html>",
        "noQuirksBodyHtml": "<table><input type=\"hidDEN\"></table>"
      }
    },
    {
      "data": "<!doctype html><table>X<input type=hidDEN></table>",
      "errors": [
        "(1,23): foster-parenting-character",
        "(1,42): unexpected-hidden-input-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "input": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "X"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "input",
                        "attrs": [
                          {
                            "name": "type",
                            "value": "hidDEN"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body>X<table><input type=\"hidDEN\"></table></body></html>",
        "noQuirksBodyHtml": "X<table><input type=\"hidDEN\"></table>"
      }
    },
    {
      "data": "<!doctype html><table>  <input type=hidDEN></table>",
      "errors": [
        "(1,43): unexpected-hidden-input-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "input": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "text": "  "
                      },
                      {
                        "tag": "input",
                        "attrs": [
                          {
                            "name": "type",
                            "value": "hidDEN"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table>  <input type=\"hidDEN\"></table></body></html>",
        "noQuirksBodyHtml": "<table>  <input type=\"hidDEN\"></table>"
      }
    },
    {
      "data": "<!doctype html><table>  <input type='hidDEN'></table>",
      "errors": [
        "(1,45): unexpected-hidden-input-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "input": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "text": "  "
                      },
                      {
                        "tag": "input",
                        "attrs": [
                          {
                            "name": "type",
                            "value": "hidDEN"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table>  <input type=\"hidDEN\"></table></body></html>",
        "noQuirksBodyHtml": "<table>  <input type=\"hidDEN\"></table>"
      }
    },
    {
      "data": "<!doctype html><table><input type=\" hidden\"><input type=hidDEN></table>",
      "errors": [
        "(1,44): unexpected-start-tag-implies-table-voodoo",
        "(1,63): unexpected-hidden-input-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "input": true,
            "table": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "input",
                    "attrs": [
                      {
                        "name": "type",
                        "value": " hidden"
                      }
                    ]
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "input",
                        "attrs": [
                          {
                            "name": "type",
                            "value": "hidDEN"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><input type=\" hidden\"><table><input type=\"hidDEN\"></table></body></html>",
        "noQuirksBodyHtml": "<input type=\" hidden\"><table><input type=\"hidDEN\"></table>"
      }
    },
    {
      "data": "<!doctype html><table><select>X<tr>",
      "errors": [
        "(1,30): unexpected-start-tag-implies-table-voodoo",
        "(1,35): unexpected-table-element-start-tag-in-select-in-table",
        "(1,35): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "table": true,
            "tbody": true,
            "tr": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "text": "X"
                      }
                    ]
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select>X</select><table><tbody><tr></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<select>X</select><table><tbody><tr></tr></tbody></table>"
      }
    },
    {
      "data": "<!doctype html><select>X</select>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "text": "X"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select>X</select></body></html>",
        "noQuirksBodyHtml": "<select>X</select>"
      }
    },
    {
      "data": "<!DOCTYPE hTmL><html></html>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<!DOCTYPE HTML><html></html>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<body>X</body></body>",
      "errors": [
        "(1,21): unexpected-end-tag-after-body"
      ],
      "fragment": {
        "name": "html"
      },
      "document": {
        "props": {
          "tags": {
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "head"
          },
          {
            "tag": "body",
            "children": [
              {
                "text": "X"
              }
            ]
          }
        ],
        "html": "<head></head><body>X</body>",
        "noQuirksBodyHtml": "X"
      }
    },
    {
      "data": "<div><p>a</x> b",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,13): unexpected-end-tag",
        "(1,15): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "p",
                        "children": [
                          {
                            "text": "a b"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div><p>a b</p></div></body></html>",
        "noQuirksBodyHtml": "<div><p>a b</p></div>"
      }
    },
    {
      "data": "<table><tr><td><code></code> </table>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "code": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "code"
                                  },
                                  {
                                    "text": " "
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><tr><td><code></code> </td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td><code></code> </td></tr></tbody></table>"
      }
    },
    {
      "data": "<table><b><tr><td>aaa</td></tr>bbb</table>ccc",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,10): foster-parenting-start-tag",
        "(1,32): foster-parenting-character",
        "(1,33): foster-parenting-character",
        "(1,34): foster-parenting-character",
        "(1,45): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b"
                  },
                  {
                    "tag": "b",
                    "children": [
                      {
                        "text": "bbb"
                      }
                    ]
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "text": "aaa"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "b",
                    "children": [
                      {
                        "text": "ccc"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><b></b><b>bbb</b><table><tbody><tr><td>aaa</td></tr></tbody></table><b>ccc</b></body></html>",
        "noQuirksBodyHtml": "<b></b><b>bbb</b><table><tbody><tr><td>aaa</td></tr></tbody></table><b>ccc</b>"
      }
    },
    {
      "data": "A<table><tr> B</tr> B</table>",
      "errors": [
        "(1,1): expected-doctype-but-got-chars",
        "(1,13): foster-parenting-character",
        "(1,14): foster-parenting-character",
        "(1,20): foster-parenting-character",
        "(1,21): foster-parenting-character"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "A B B"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>A B B<table><tbody><tr></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "A B B<table><tbody><tr></tr></tbody></table>"
      }
    },
    {
      "data": "A<table><tr> B</tr> </em>C</table>",
      "errors": [
        "(1,1): expected-doctype-but-got-chars",
        "(1,13): foster-parenting-character",
        "(1,14): foster-parenting-character",
        "(1,20): foster-parenting-character",
        "(1,25): unexpected-end-tag",
        "(1,25): unexpected-end-tag-in-special-element",
        "(1,26): foster-parenting-character"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "A BC"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr"
                          },
                          {
                            "text": " "
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>A BC<table><tbody><tr></tr> </tbody></table></body></html>",
        "noQuirksBodyHtml": "A BC<table><tbody><tr></tr> </tbody></table>"
      }
    },
    {
      "data": "<select><keygen>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,16): unexpected-input-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "keygen": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select"
                  },
                  {
                    "tag": "keygen"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><select></select><keygen></body></html>",
        "noQuirksBodyHtml": "<select></select><keygen>"
      }
    }
  ],
  "tests8.dat": [
    {
      "data": "<div>\n<div></div>\n</span>x",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(3,7): unexpected-end-tag",
        "(3,8): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": "\n"
                      },
                      {
                        "tag": "div"
                      },
                      {
                        "text": "\nx"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div>\n<div></div>\nx</div></body></html>",
        "noQuirksBodyHtml": "<div>\n<div></div>\nx</div>"
      }
    },
    {
      "data": "<div>x<div></div>\n</span>x",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(2,7): unexpected-end-tag",
        "(2,8): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": "x"
                      },
                      {
                        "tag": "div"
                      },
                      {
                        "text": "\nx"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div>x<div></div>\nx</div></body></html>",
        "noQuirksBodyHtml": "<div>x<div></div>\nx</div>"
      }
    },
    {
      "data": "<div>x<div></div>x</span>x",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,25): unexpected-end-tag",
        "(1,26): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": "x"
                      },
                      {
                        "tag": "div"
                      },
                      {
                        "text": "xx"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div>x<div></div>xx</div></body></html>",
        "noQuirksBodyHtml": "<div>x<div></div>xx</div>"
      }
    },
    {
      "data": "<div>x<div></div>y</span>z",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,25): unexpected-end-tag",
        "(1,26): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": "x"
                      },
                      {
                        "tag": "div"
                      },
                      {
                        "text": "yz"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div>x<div></div>yz</div></body></html>",
        "noQuirksBodyHtml": "<div>x<div></div>yz</div>"
      }
    },
    {
      "data": "<table><div>x<div></div>x</span>x",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,12): foster-parenting-start-tag",
        "(1,13): foster-parenting-character",
        "(1,18): foster-parenting-start-tag",
        "(1,24): foster-parenting-end-tag",
        "(1,25): foster-parenting-start-tag",
        "(1,32): foster-parenting-end-tag",
        "(1,32): unexpected-end-tag",
        "(1,33): foster-parenting-character",
        "(1,33): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "table": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": "x"
                      },
                      {
                        "tag": "div"
                      },
                      {
                        "text": "xx"
                      }
                    ]
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div>x<div></div>xx</div><table></table></body></html>",
        "noQuirksBodyHtml": "<div>x<div></div>xx</div><table></table>"
      }
    },
    {
      "data": "x<table>x",
      "errors": [
        "(1,1): expected-doctype-but-got-chars",
        "(1,9): foster-parenting-character",
        "(1,9): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "xx"
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>xx<table></table></body></html>",
        "noQuirksBodyHtml": "xx<table></table>"
      }
    },
    {
      "data": "x<table><table>x",
      "errors": [
        "(1,1): expected-doctype-but-got-chars",
        "(1,15): unexpected-start-tag-implies-end-tag",
        "(1,16): foster-parenting-character",
        "(1,16): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "x"
                  },
                  {
                    "tag": "table"
                  },
                  {
                    "text": "x"
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>x<table></table>x<table></table></body></html>",
        "noQuirksBodyHtml": "x<table></table>x<table></table>"
      }
    },
    {
      "data": "<b>a<div></div><div></b>y",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,24): adoption-agency-1.3",
        "(1,25): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "text": "a"
                      },
                      {
                        "tag": "div"
                      }
                    ]
                  },
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "b"
                      },
                      {
                        "text": "y"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><b>a<div></div></b><div><b></b>y</div></body></html>",
        "noQuirksBodyHtml": "<b>a<div></div></b><div><b></b>y</div>"
      }
    },
    {
      "data": "<a><div><p></a>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,15): adoption-agency-1.3",
        "(1,15): adoption-agency-1.3",
        "(1,15): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "div": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a"
                  },
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "a"
                      },
                      {
                        "tag": "p",
                        "children": [
                          {
                            "tag": "a"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a></a><div><a></a><p><a></a></p></div></body></html>",
        "noQuirksBodyHtml": "<a></a><div><a></a><p><a></a></p></div>"
      }
    }
  ],
  "tests9.dat": [
    {
      "data": "<!DOCTYPE html><math></math>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><math></math></body></html>",
        "noQuirksBodyHtml": "<math></math>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><math></math>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><math></math></body></html>",
        "noQuirksBodyHtml": "<math></math>"
      }
    },
    {
      "data": "<!DOCTYPE html><math><mi>",
      "errors": [
        "(1,25) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mi": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><math><mi></mi></math></body></html>",
        "noQuirksBodyHtml": "<math><mi></mi></math>"
      }
    },
    {
      "data": "<!DOCTYPE html><math><annotation-xml><svg><u>",
      "errors": [
        "(1,45) unexpected-html-element-in-foreign-content",
        "(1,45) expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math annotation-xml": true,
            "svg svg": true,
            "u": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "annotation-xml",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "svg",
                            "ns": "http://www.w3.org/2000/svg"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "u"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><math><annotation-xml><svg></svg></annotation-xml></math><u></u></body></html>",
        "noQuirksBodyHtml": "<math><annotation-xml><svg><u></u></svg></annotation-xml></math>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><select><math></math></select>",
      "errors": [
        "(1,35) unexpected-start-tag-in-select",
        "(1,42) unexpected-end-tag-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select></select></body></html>",
        "noQuirksBodyHtml": "<select></select>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><select><option><math></math></option></select>",
      "errors": [
        "(1,43) unexpected-start-tag-in-select",
        "(1,50) unexpected-end-tag-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "option": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "tag": "option"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select><option></option></select></body></html>",
        "noQuirksBodyHtml": "<select><option></option></select>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><math></math></table>",
      "errors": [
        "(1,34) unexpected-start-tag-implies-table-voodoo"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "table": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML"
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><math></math><table></table></body></html>",
        "noQuirksBodyHtml": "<math></math><table></table>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><math><mi>foo</mi></math></table>",
      "errors": [
        "(1,34) foster-parenting-start-token",
        "(1,39) foster-parenting-character",
        "(1,40) foster-parenting-character",
        "(1,41) foster-parenting-character"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mi": true,
            "table": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "text": "foo"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><math><mi>foo</mi></math><table></table></body></html>",
        "noQuirksBodyHtml": "<math><mi>foo</mi></math><table></table>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><math><mi>foo</mi><mi>bar</mi></math></table>",
      "errors": [
        "(1,34) foster-parenting-start-tag",
        "(1,39) foster-parenting-character",
        "(1,40) foster-parenting-character",
        "(1,41) foster-parenting-character",
        "(1,51) foster-parenting-character",
        "(1,52) foster-parenting-character",
        "(1,53) foster-parenting-character"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mi": true,
            "table": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "text": "foo"
                          }
                        ]
                      },
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "text": "bar"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><math><mi>foo</mi><mi>bar</mi></math><table></table></body></html>",
        "noQuirksBodyHtml": "<math><mi>foo</mi><mi>bar</mi></math><table></table>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><tbody><math><mi>foo</mi><mi>bar</mi></math></tbody></table>",
      "errors": [
        "(1,41) foster-parenting-start-tag",
        "(1,46) foster-parenting-character",
        "(1,47) foster-parenting-character",
        "(1,48) foster-parenting-character",
        "(1,58) foster-parenting-character",
        "(1,59) foster-parenting-character",
        "(1,60) foster-parenting-character"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mi": true,
            "table": true,
            "tbody": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "text": "foo"
                          }
                        ]
                      },
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "text": "bar"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><math><mi>foo</mi><mi>bar</mi></math><table><tbody></tbody></table></body></html>",
        "noQuirksBodyHtml": "<math><mi>foo</mi><mi>bar</mi></math><table><tbody></tbody></table>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><tbody><tr><math><mi>foo</mi><mi>bar</mi></math></tr></tbody></table>",
      "errors": [
        "(1,45) foster-parenting-start-tag",
        "(1,50) foster-parenting-character",
        "(1,51) foster-parenting-character",
        "(1,52) foster-parenting-character",
        "(1,62) foster-parenting-character",
        "(1,63) foster-parenting-character",
        "(1,64) foster-parenting-character"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mi": true,
            "table": true,
            "tbody": true,
            "tr": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "text": "foo"
                          }
                        ]
                      },
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "text": "bar"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><math><mi>foo</mi><mi>bar</mi></math><table><tbody><tr></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<math><mi>foo</mi><mi>bar</mi></math><table><tbody><tr></tr></tbody></table>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><tbody><tr><td><math><mi>foo</mi><mi>bar</mi></math></td></tr></tbody></table>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "math math": true,
            "math mi": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "math",
                                    "ns": "http://www.w3.org/1998/Math/MathML",
                                    "children": [
                                      {
                                        "tag": "mi",
                                        "ns": "http://www.w3.org/1998/Math/MathML",
                                        "children": [
                                          {
                                            "text": "foo"
                                          }
                                        ]
                                      },
                                      {
                                        "tag": "mi",
                                        "ns": "http://www.w3.org/1998/Math/MathML",
                                        "children": [
                                          {
                                            "text": "bar"
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><math><mi>foo</mi><mi>bar</mi></math></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td><math><mi>foo</mi><mi>bar</mi></math></td></tr></tbody></table>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><tbody><tr><td><math><mi>foo</mi><mi>bar</mi></math><p>baz</td></tr></tbody></table>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "math math": true,
            "math mi": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "math",
                                    "ns": "http://www.w3.org/1998/Math/MathML",
                                    "children": [
                                      {
                                        "tag": "mi",
                                        "ns": "http://www.w3.org/1998/Math/MathML",
                                        "children": [
                                          {
                                            "text": "foo"
                                          }
                                        ]
                                      },
                                      {
                                        "tag": "mi",
                                        "ns": "http://www.w3.org/1998/Math/MathML",
                                        "children": [
                                          {
                                            "text": "bar"
                                          }
                                        ]
                                      }
                                    ]
                                  },
                                  {
                                    "tag": "p",
                                    "children": [
                                      {
                                        "text": "baz"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><math><mi>foo</mi><mi>bar</mi></math><p>baz</p></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td><math><mi>foo</mi><mi>bar</mi></math><p>baz</p></td></tr></tbody></table>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><caption><math><mi>foo</mi><mi>bar</mi></math><p>baz</caption></table>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "caption": true,
            "math math": true,
            "math mi": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "caption",
                        "children": [
                          {
                            "tag": "math",
                            "ns": "http://www.w3.org/1998/Math/MathML",
                            "children": [
                              {
                                "tag": "mi",
                                "ns": "http://www.w3.org/1998/Math/MathML",
                                "children": [
                                  {
                                    "text": "foo"
                                  }
                                ]
                              },
                              {
                                "tag": "mi",
                                "ns": "http://www.w3.org/1998/Math/MathML",
                                "children": [
                                  {
                                    "text": "bar"
                                  }
                                ]
                              }
                            ]
                          },
                          {
                            "tag": "p",
                            "children": [
                              {
                                "text": "baz"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><caption><math><mi>foo</mi><mi>bar</mi></math><p>baz</p></caption></table></body></html>",
        "noQuirksBodyHtml": "<table><caption><math><mi>foo</mi><mi>bar</mi></math><p>baz</p></caption></table>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><caption><math><mi>foo</mi><mi>bar</mi><p>baz</table><p>quux",
      "errors": [
        "(1,70) unexpected-html-element-in-foreign-content"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "caption": true,
            "math math": true,
            "math mi": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "caption",
                        "children": [
                          {
                            "tag": "math",
                            "ns": "http://www.w3.org/1998/Math/MathML",
                            "children": [
                              {
                                "tag": "mi",
                                "ns": "http://www.w3.org/1998/Math/MathML",
                                "children": [
                                  {
                                    "text": "foo"
                                  }
                                ]
                              },
                              {
                                "tag": "mi",
                                "ns": "http://www.w3.org/1998/Math/MathML",
                                "children": [
                                  {
                                    "text": "bar"
                                  }
                                ]
                              }
                            ]
                          },
                          {
                            "tag": "p",
                            "children": [
                              {
                                "text": "baz"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "quux"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><caption><math><mi>foo</mi><mi>bar</mi></math><p>baz</p></caption></table><p>quux</p></body></html>",
        "noQuirksBodyHtml": "<table><caption><math><mi>foo</mi><mi>bar</mi><p>baz</p></math></caption></table><p>quux</p>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><caption><math><mi>foo</mi><mi>bar</mi>baz</table><p>quux",
      "errors": [
        "(1,78) unexpected-end-tag",
        "(1,78) expected-one-end-tag-but-got-another"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "caption": true,
            "math math": true,
            "math mi": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "caption",
                        "children": [
                          {
                            "tag": "math",
                            "ns": "http://www.w3.org/1998/Math/MathML",
                            "children": [
                              {
                                "tag": "mi",
                                "ns": "http://www.w3.org/1998/Math/MathML",
                                "children": [
                                  {
                                    "text": "foo"
                                  }
                                ]
                              },
                              {
                                "tag": "mi",
                                "ns": "http://www.w3.org/1998/Math/MathML",
                                "children": [
                                  {
                                    "text": "bar"
                                  }
                                ]
                              },
                              {
                                "text": "baz"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "quux"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><caption><math><mi>foo</mi><mi>bar</mi>baz</math></caption></table><p>quux</p></body></html>",
        "noQuirksBodyHtml": "<table><caption><math><mi>foo</mi><mi>bar</mi>baz</math></caption></table><p>quux</p>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><colgroup><math><mi>foo</mi><mi>bar</mi><p>baz</table><p>quux",
      "errors": [
        "(1,44) foster-parenting-start-tag",
        "(1,49) foster-parenting-character",
        "(1,50) foster-parenting-character",
        "(1,51) foster-parenting-character",
        "(1,61) foster-parenting-character",
        "(1,62) foster-parenting-character",
        "(1,63) foster-parenting-character",
        "(1,71) unexpected-html-element-in-foreign-content",
        "(1,71) foster-parenting-start-tag",
        "(1,63) foster-parenting-character",
        "(1,63) foster-parenting-character",
        "(1,63) foster-parenting-character"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mi": true,
            "p": true,
            "table": true,
            "colgroup": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "text": "foo"
                          }
                        ]
                      },
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "text": "bar"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "baz"
                      }
                    ]
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "colgroup"
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "quux"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><math><mi>foo</mi><mi>bar</mi></math><p>baz</p><table><colgroup></colgroup></table><p>quux</p></body></html>",
        "noQuirksBodyHtml": "<math><mi>foo</mi><mi>bar</mi><p>baz</p></math><table><colgroup></colgroup></table><p>quux</p>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><tr><td><select><math><mi>foo</mi><mi>bar</mi><p>baz</table><p>quux",
      "errors": [
        "(1,50) unexpected-start-tag-in-select",
        "(1,54) unexpected-start-tag-in-select",
        "(1,62) unexpected-end-tag-in-select",
        "(1,66) unexpected-start-tag-in-select",
        "(1,74) unexpected-end-tag-in-select",
        "(1,77) unexpected-start-tag-in-select",
        "(1,88) unexpected-table-element-end-tag-in-select-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "select": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "select",
                                    "children": [
                                      {
                                        "text": "foobarbaz"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "quux"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><table><tbody><tr><td><select>foobarbaz</select></td></tr></tbody></table><p>quux</p></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td><select>foobarbaz</select></td></tr></tbody></table><p>quux</p>"
      }
    },
    {
      "data": "<!DOCTYPE html><body><table><select><math><mi>foo</mi><mi>bar</mi><p>baz</table><p>quux",
      "errors": [
        "(1,36) unexpected-start-tag-implies-table-voodoo",
        "(1,42) unexpected-start-tag-in-select",
        "(1,46) unexpected-start-tag-in-select",
        "(1,54) unexpected-end-tag-in-select",
        "(1,58) unexpected-start-tag-in-select",
        "(1,66) unexpected-end-tag-in-select",
        "(1,69) unexpected-start-tag-in-select",
        "(1,80) unexpected-table-element-end-tag-in-select-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "table": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "text": "foobarbaz"
                      }
                    ]
                  },
                  {
                    "tag": "table"
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "quux"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><select>foobarbaz</select><table></table><p>quux</p></body></html>",
        "noQuirksBodyHtml": "<select>foobarbaz</select><table></table><p>quux</p>"
      }
    },
    {
      "data": "<!DOCTYPE html><body></body></html><math><mi>foo</mi><mi>bar</mi><p>baz",
      "errors": [
        "(1,41) expected-eof-but-got-start-tag",
        "(1,68) unexpected-html-element-in-foreign-content"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mi": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "text": "foo"
                          }
                        ]
                      },
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "text": "bar"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "baz"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><math><mi>foo</mi><mi>bar</mi></math><p>baz</p></body></html>",
        "noQuirksBodyHtml": "<math><mi>foo</mi><mi>bar</mi><p>baz</p></math>"
      }
    },
    {
      "data": "<!DOCTYPE html><body></body><math><mi>foo</mi><mi>bar</mi><p>baz",
      "errors": [
        "(1,34) unexpected-start-tag-after-body",
        "(1,61) unexpected-html-element-in-foreign-content"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mi": true,
            "p": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "text": "foo"
                          }
                        ]
                      },
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "text": "bar"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "baz"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><math><mi>foo</mi><mi>bar</mi></math><p>baz</p></body></html>",
        "noQuirksBodyHtml": "<math><mi>foo</mi><mi>bar</mi><p>baz</p></math>"
      }
    },
    {
      "data": "<!DOCTYPE html><frameset><math><mi></mi><mi></mi><p><span>",
      "errors": [
        "(1,31) unexpected-start-tag-in-frameset",
        "(1,35) unexpected-start-tag-in-frameset",
        "(1,40) unexpected-end-tag-in-frameset",
        "(1,44) unexpected-start-tag-in-frameset",
        "(1,49) unexpected-end-tag-in-frameset",
        "(1,52) unexpected-start-tag-in-frameset",
        "(1,58) unexpected-start-tag-in-frameset",
        "(1,58) eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": "<math><mi></mi><mi></mi><p><span></span></p></math>"
      }
    },
    {
      "data": "<!DOCTYPE html><frameset></frameset><math><mi></mi><mi></mi><p><span>",
      "errors": [
        "(1,42) unexpected-start-tag-after-frameset",
        "(1,46) unexpected-start-tag-after-frameset",
        "(1,51) unexpected-end-tag-after-frameset",
        "(1,55) unexpected-start-tag-after-frameset",
        "(1,60) unexpected-end-tag-after-frameset",
        "(1,63) unexpected-start-tag-after-frameset",
        "(1,69) unexpected-start-tag-after-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": "<math><mi></mi><mi></mi><p><span></span></p></math>"
      }
    },
    {
      "data": "<!DOCTYPE html><body xlink:href=foo><math xlink:href=foo></math>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "attrs": [
                  {
                    "name": "xlink:href",
                    "value": "foo"
                  }
                ],
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "attrs": [
                      {
                        "name": "href",
                        "ns": "http://www.w3.org/1999/xlink",
                        "value": "foo"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body xlink:href=\"foo\"><math xlink:href=\"foo\"></math></body></html>",
        "noQuirksBodyHtml": "<math xlink:href=\"foo\"></math>"
      }
    },
    {
      "data": "<!DOCTYPE html><body xlink:href=foo xml:lang=en><math><mi xml:lang=en xlink:href=foo></mi></math>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mi": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "attrs": [
                  {
                    "name": "xlink:href",
                    "value": "foo"
                  },
                  {
                    "name": "xml:lang",
                    "value": "en"
                  }
                ],
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "attrs": [
                          {
                            "name": "href",
                            "ns": "http://www.w3.org/1999/xlink",
                            "value": "foo"
                          },
                          {
                            "name": "lang",
                            "ns": "http://www.w3.org/XML/1998/namespace",
                            "value": "en"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body xlink:href=\"foo\" xml:lang=\"en\"><math><mi xml:lang=\"en\" xlink:href=\"foo\"></mi></math></body></html>",
        "noQuirksBodyHtml": "<math><mi xml:lang=\"en\" xlink:href=\"foo\"></mi></math>"
      }
    },
    {
      "data": "<!DOCTYPE html><body xlink:href=foo xml:lang=en><math><mi xml:lang=en xlink:href=foo /></math>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mi": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "attrs": [
                  {
                    "name": "xlink:href",
                    "value": "foo"
                  },
                  {
                    "name": "xml:lang",
                    "value": "en"
                  }
                ],
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "attrs": [
                          {
                            "name": "href",
                            "ns": "http://www.w3.org/1999/xlink",
                            "value": "foo"
                          },
                          {
                            "name": "lang",
                            "ns": "http://www.w3.org/XML/1998/namespace",
                            "value": "en"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body xlink:href=\"foo\" xml:lang=\"en\"><math><mi xml:lang=\"en\" xlink:href=\"foo\"></mi></math></body></html>",
        "noQuirksBodyHtml": "<math><mi xml:lang=\"en\" xlink:href=\"foo\"></mi></math>"
      }
    },
    {
      "data": "<!DOCTYPE html><body xlink:href=foo xml:lang=en><math><mi xml:lang=en xlink:href=foo />bar</math>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mi": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "attrs": [
                  {
                    "name": "xlink:href",
                    "value": "foo"
                  },
                  {
                    "name": "xml:lang",
                    "value": "en"
                  }
                ],
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mi",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "attrs": [
                          {
                            "name": "href",
                            "ns": "http://www.w3.org/1999/xlink",
                            "value": "foo"
                          },
                          {
                            "name": "lang",
                            "ns": "http://www.w3.org/XML/1998/namespace",
                            "value": "en"
                          }
                        ]
                      },
                      {
                        "text": "bar"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body xlink:href=\"foo\" xml:lang=\"en\"><math><mi xml:lang=\"en\" xlink:href=\"foo\"></mi>bar</math></body></html>",
        "noQuirksBodyHtml": "<math><mi xml:lang=\"en\" xlink:href=\"foo\"></mi>bar</math>"
      }
    }
  ],
  "tests_innerHTML_1.dat": [
    {
      "data": "<body><span>",
      "errors": [
        "(1,6): unexpected-start-tag",
        "(1,12): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "body"
      },
      "document": {
        "props": {
          "tags": {
            "span": true
          }
        },
        "tree": [
          {
            "tag": "span"
          }
        ],
        "html": "<span></span>",
        "noQuirksBodyHtml": "<span></span>"
      }
    },
    {
      "data": "<span><body>",
      "errors": [
        "(1,12): unexpected-start-tag",
        "(1,12): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "body"
      },
      "document": {
        "props": {
          "tags": {
            "span": true
          }
        },
        "tree": [
          {
            "tag": "span"
          }
        ],
        "html": "<span></span>",
        "noQuirksBodyHtml": "<span></span>"
      }
    },
    {
      "data": "<span><body>",
      "errors": [
        "(1,12): unexpected-start-tag",
        "(1,12): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "div"
      },
      "document": {
        "props": {
          "tags": {
            "span": true
          }
        },
        "tree": [
          {
            "tag": "span"
          }
        ],
        "html": "<span></span>",
        "noQuirksBodyHtml": "<span></span>"
      }
    },
    {
      "data": "<body><span>",
      "errors": [
        "(1,12): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "html"
      },
      "document": {
        "props": {
          "tags": {
            "head": true,
            "body": true,
            "span": true
          }
        },
        "tree": [
          {
            "tag": "head"
          },
          {
            "tag": "body",
            "children": [
              {
                "tag": "span"
              }
            ]
          }
        ],
        "html": "<head></head><body><span></span></body>",
        "noQuirksBodyHtml": "<span></span>"
      }
    },
    {
      "data": "<frameset><span>",
      "errors": [
        "(1,10): unexpected-start-tag",
        "(1,16): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "body"
      },
      "document": {
        "props": {
          "tags": {
            "span": true
          }
        },
        "tree": [
          {
            "tag": "span"
          }
        ],
        "html": "<span></span>",
        "noQuirksBodyHtml": "<span></span>"
      }
    },
    {
      "data": "<span><frameset>",
      "errors": [
        "(1,16): unexpected-start-tag",
        "(1,16): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "body"
      },
      "document": {
        "props": {
          "tags": {
            "span": true
          }
        },
        "tree": [
          {
            "tag": "span"
          }
        ],
        "html": "<span></span>",
        "noQuirksBodyHtml": "<span></span>"
      }
    },
    {
      "data": "<span><frameset>",
      "errors": [
        "(1,16): unexpected-start-tag",
        "(1,16): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "div"
      },
      "document": {
        "props": {
          "tags": {
            "span": true
          }
        },
        "tree": [
          {
            "tag": "span"
          }
        ],
        "html": "<span></span>",
        "noQuirksBodyHtml": "<span></span>"
      }
    },
    {
      "data": "<frameset><span>",
      "errors": [
        "(1,16): unexpected-start-tag-in-frameset",
        "(1,16): eof-in-frameset"
      ],
      "fragment": {
        "name": "html"
      },
      "document": {
        "props": {
          "tags": {
            "head": true,
            "frameset": true
          }
        },
        "tree": [
          {
            "tag": "head"
          },
          {
            "tag": "frameset"
          }
        ],
        "html": "<head></head><frameset></frameset>",
        "noQuirksBodyHtml": "<span></span>"
      }
    },
    {
      "data": "<table><tr>",
      "errors": [
        "(1,7): unexpected-start-tag"
      ],
      "fragment": {
        "name": "table"
      },
      "document": {
        "props": {
          "tags": {
            "tbody": true,
            "tr": true
          }
        },
        "tree": [
          {
            "tag": "tbody",
            "children": [
              {
                "tag": "tr"
              }
            ]
          }
        ],
        "html": "<tbody><tr></tr></tbody>",
        "noQuirksBodyHtml": "<table><tbody><tr></tr></tbody></table>"
      }
    },
    {
      "data": "</table><tr>",
      "errors": [
        "(1,8): unexpected-end-tag"
      ],
      "fragment": {
        "name": "table"
      },
      "document": {
        "props": {
          "tags": {
            "tbody": true,
            "tr": true
          }
        },
        "tree": [
          {
            "tag": "tbody",
            "children": [
              {
                "tag": "tr"
              }
            ]
          }
        ],
        "html": "<tbody><tr></tr></tbody>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<a>",
      "errors": [
        "(1,3): unexpected-start-tag-implies-table-voodoo",
        "(1,3): eof-in-table"
      ],
      "fragment": {
        "name": "table"
      },
      "document": {
        "props": {
          "tags": {
            "a": true
          }
        },
        "tree": [
          {
            "tag": "a"
          }
        ],
        "html": "<a></a>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<a>",
      "errors": [
        "(1,3): unexpected-start-tag-implies-table-voodoo",
        "(1,3): eof-in-table"
      ],
      "fragment": {
        "name": "table"
      },
      "document": {
        "props": {
          "tags": {
            "a": true
          }
        },
        "tree": [
          {
            "tag": "a"
          }
        ],
        "html": "<a></a>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<a><caption>a",
      "errors": [
        "(1,3): unexpected-start-tag-implies-table-voodoo",
        "(1,13): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "table"
      },
      "document": {
        "props": {
          "tags": {
            "a": true,
            "caption": true
          }
        },
        "tree": [
          {
            "tag": "a"
          },
          {
            "tag": "caption",
            "children": [
              {
                "text": "a"
              }
            ]
          }
        ],
        "html": "<a></a><caption>a</caption>",
        "noQuirksBodyHtml": "<a>a</a>"
      }
    },
    {
      "data": "<a><colgroup><col>",
      "errors": [
        "(1,3): foster-parenting-start-token",
        "(1,18): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "table"
      },
      "document": {
        "props": {
          "tags": {
            "a": true,
            "colgroup": true,
            "col": true
          }
        },
        "tree": [
          {
            "tag": "a"
          },
          {
            "tag": "colgroup",
            "children": [
              {
                "tag": "col"
              }
            ]
          }
        ],
        "html": "<a></a><colgroup><col></colgroup>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<a><tbody><tr>",
      "errors": [
        "(1,3): foster-parenting-start-tag"
      ],
      "fragment": {
        "name": "table"
      },
      "document": {
        "props": {
          "tags": {
            "a": true,
            "tbody": true,
            "tr": true
          }
        },
        "tree": [
          {
            "tag": "a"
          },
          {
            "tag": "tbody",
            "children": [
              {
                "tag": "tr"
              }
            ]
          }
        ],
        "html": "<a></a><tbody><tr></tr></tbody>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<a><tfoot><tr>",
      "errors": [
        "(1,3): foster-parenting-start-tag"
      ],
      "fragment": {
        "name": "table"
      },
      "document": {
        "props": {
          "tags": {
            "a": true,
            "tfoot": true,
            "tr": true
          }
        },
        "tree": [
          {
            "tag": "a"
          },
          {
            "tag": "tfoot",
            "children": [
              {
                "tag": "tr"
              }
            ]
          }
        ],
        "html": "<a></a><tfoot><tr></tr></tfoot>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<a><thead><tr>",
      "errors": [
        "(1,3): foster-parenting-start-tag"
      ],
      "fragment": {
        "name": "table"
      },
      "document": {
        "props": {
          "tags": {
            "a": true,
            "thead": true,
            "tr": true
          }
        },
        "tree": [
          {
            "tag": "a"
          },
          {
            "tag": "thead",
            "children": [
              {
                "tag": "tr"
              }
            ]
          }
        ],
        "html": "<a></a><thead><tr></tr></thead>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<a><tr>",
      "errors": [
        "(1,3): foster-parenting-start-tag"
      ],
      "fragment": {
        "name": "table"
      },
      "document": {
        "props": {
          "tags": {
            "a": true,
            "tbody": true,
            "tr": true
          }
        },
        "tree": [
          {
            "tag": "a"
          },
          {
            "tag": "tbody",
            "children": [
              {
                "tag": "tr"
              }
            ]
          }
        ],
        "html": "<a></a><tbody><tr></tr></tbody>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<a><th>",
      "errors": [
        "(1,3): unexpected-start-tag-implies-table-voodoo",
        "(1,7): unexpected-cell-in-table-body"
      ],
      "fragment": {
        "name": "table"
      },
      "document": {
        "props": {
          "tags": {
            "a": true,
            "tbody": true,
            "tr": true,
            "th": true
          }
        },
        "tree": [
          {
            "tag": "a"
          },
          {
            "tag": "tbody",
            "children": [
              {
                "tag": "tr",
                "children": [
                  {
                    "tag": "th"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<a></a><tbody><tr><th></th></tr></tbody>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<a><td>",
      "errors": [
        "(1,3): unexpected-start-tag-implies-table-voodoo",
        "(1,7): unexpected-cell-in-table-body"
      ],
      "fragment": {
        "name": "table"
      },
      "document": {
        "props": {
          "tags": {
            "a": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "a"
          },
          {
            "tag": "tbody",
            "children": [
              {
                "tag": "tr",
                "children": [
                  {
                    "tag": "td"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<a></a><tbody><tr><td></td></tr></tbody>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<table></table><tbody>",
      "errors": [
        "(1,22): unexpected-start-tag"
      ],
      "fragment": {
        "name": "caption"
      },
      "document": {
        "props": {
          "tags": {
            "table": true
          }
        },
        "tree": [
          {
            "tag": "table"
          }
        ],
        "html": "<table></table>",
        "noQuirksBodyHtml": "<table></table>"
      }
    },
    {
      "data": "</table><span>",
      "errors": [
        "(1,8): unexpected-end-tag",
        "(1,14): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "caption"
      },
      "document": {
        "props": {
          "tags": {
            "span": true
          }
        },
        "tree": [
          {
            "tag": "span"
          }
        ],
        "html": "<span></span>",
        "noQuirksBodyHtml": "<span></span>"
      }
    },
    {
      "data": "<span></table>",
      "errors": [
        "(1,14): unexpected-end-tag",
        "(1,14): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "caption"
      },
      "document": {
        "props": {
          "tags": {
            "span": true
          }
        },
        "tree": [
          {
            "tag": "span"
          }
        ],
        "html": "<span></span>",
        "noQuirksBodyHtml": "<span></span>"
      }
    },
    {
      "data": "</caption><span>",
      "errors": [
        "(1,10): XXX-undefined-error",
        "(1,16): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "caption"
      },
      "document": {
        "props": {
          "tags": {
            "span": true
          }
        },
        "tree": [
          {
            "tag": "span"
          }
        ],
        "html": "<span></span>",
        "noQuirksBodyHtml": "<span></span>"
      }
    },
    {
      "data": "<span></caption><span>",
      "errors": [
        "(1,16): XXX-undefined-error",
        "(1,22): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "caption"
      },
      "document": {
        "props": {
          "tags": {
            "span": true
          }
        },
        "tree": [
          {
            "tag": "span",
            "children": [
              {
                "tag": "span"
              }
            ]
          }
        ],
        "html": "<span><span></span></span>",
        "noQuirksBodyHtml": "<span><span></span></span>"
      }
    },
    {
      "data": "<span><caption><span>",
      "errors": [
        "(1,15): unexpected-start-tag",
        "(1,21): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "caption"
      },
      "document": {
        "props": {
          "tags": {
            "span": true
          }
        },
        "tree": [
          {
            "tag": "span",
            "children": [
              {
                "tag": "span"
              }
            ]
          }
        ],
        "html": "<span><span></span></span>",
        "noQuirksBodyHtml": "<span><span></span></span>"
      }
    },
    {
      "data": "<span><col><span>",
      "errors": [
        "(1,11): unexpected-start-tag",
        "(1,17): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "caption"
      },
      "document": {
        "props": {
          "tags": {
            "span": true
          }
        },
        "tree": [
          {
            "tag": "span",
            "children": [
              {
                "tag": "span"
              }
            ]
          }
        ],
        "html": "<span><span></span></span>",
        "noQuirksBodyHtml": "<span><span></span></span>"
      }
    },
    {
      "data": "<span><colgroup><span>",
      "errors": [
        "(1,16): unexpected-start-tag",
        "(1,22): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "caption"
      },
      "document": {
        "props": {
          "tags": {
            "span": true
          }
        },
        "tree": [
          {
            "tag": "span",
            "children": [
              {
                "tag": "span"
              }
            ]
          }
        ],
        "html": "<span><span></span></span>",
        "noQuirksBodyHtml": "<span><span></span></span>"
      }
    },
    {
      "data": "<span><html><span>",
      "errors": [
        "(1,12): non-html-root",
        "(1,18): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "caption"
      },
      "document": {
        "props": {
          "tags": {
            "span": true
          }
        },
        "tree": [
          {
            "tag": "span",
            "children": [
              {
                "tag": "span"
              }
            ]
          }
        ],
        "html": "<span><span></span></span>",
        "noQuirksBodyHtml": "<span><span></span></span>"
      }
    },
    {
      "data": "<span><tbody><span>",
      "errors": [
        "(1,13): unexpected-start-tag",
        "(1,19): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "caption"
      },
      "document": {
        "props": {
          "tags": {
            "span": true
          }
        },
        "tree": [
          {
            "tag": "span",
            "children": [
              {
                "tag": "span"
              }
            ]
          }
        ],
        "html": "<span><span></span></span>",
        "noQuirksBodyHtml": "<span><span></span></span>"
      }
    },
    {
      "data": "<span><td><span>",
      "errors": [
        "(1,10): unexpected-start-tag",
        "(1,16): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "caption"
      },
      "document": {
        "props": {
          "tags": {
            "span": true
          }
        },
        "tree": [
          {
            "tag": "span",
            "children": [
              {
                "tag": "span"
              }
            ]
          }
        ],
        "html": "<span><span></span></span>",
        "noQuirksBodyHtml": "<span><span></span></span>"
      }
    },
    {
      "data": "<span><tfoot><span>",
      "errors": [
        "(1,13): unexpected-start-tag",
        "(1,19): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "caption"
      },
      "document": {
        "props": {
          "tags": {
            "span": true
          }
        },
        "tree": [
          {
            "tag": "span",
            "children": [
              {
                "tag": "span"
              }
            ]
          }
        ],
        "html": "<span><span></span></span>",
        "noQuirksBodyHtml": "<span><span></span></span>"
      }
    },
    {
      "data": "<span><thead><span>",
      "errors": [
        "(1,13): unexpected-start-tag",
        "(1,19): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "caption"
      },
      "document": {
        "props": {
          "tags": {
            "span": true
          }
        },
        "tree": [
          {
            "tag": "span",
            "children": [
              {
                "tag": "span"
              }
            ]
          }
        ],
        "html": "<span><span></span></span>",
        "noQuirksBodyHtml": "<span><span></span></span>"
      }
    },
    {
      "data": "<span><th><span>",
      "errors": [
        "(1,10): unexpected-start-tag",
        "(1,16): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "caption"
      },
      "document": {
        "props": {
          "tags": {
            "span": true
          }
        },
        "tree": [
          {
            "tag": "span",
            "children": [
              {
                "tag": "span"
              }
            ]
          }
        ],
        "html": "<span><span></span></span>",
        "noQuirksBodyHtml": "<span><span></span></span>"
      }
    },
    {
      "data": "<span><tr><span>",
      "errors": [
        "(1,10): unexpected-start-tag",
        "(1,16): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "caption"
      },
      "document": {
        "props": {
          "tags": {
            "span": true
          }
        },
        "tree": [
          {
            "tag": "span",
            "children": [
              {
                "tag": "span"
              }
            ]
          }
        ],
        "html": "<span><span></span></span>",
        "noQuirksBodyHtml": "<span><span></span></span>"
      }
    },
    {
      "data": "<span></table><span>",
      "errors": [
        "(1,14): unexpected-end-tag",
        "(1,20): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "caption"
      },
      "document": {
        "props": {
          "tags": {
            "span": true
          }
        },
        "tree": [
          {
            "tag": "span",
            "children": [
              {
                "tag": "span"
              }
            ]
          }
        ],
        "html": "<span><span></span></span>",
        "noQuirksBodyHtml": "<span><span></span></span>"
      }
    },
    {
      "data": "</colgroup><col>",
      "errors": [
        "(1,11): XXX-undefined-error"
      ],
      "fragment": {
        "name": "colgroup"
      },
      "document": {
        "props": {
          "tags": {
            "col": true
          }
        },
        "tree": [
          {
            "tag": "col"
          }
        ],
        "html": "<col>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<a><col>",
      "errors": [
        "(1,3): XXX-undefined-error"
      ],
      "fragment": {
        "name": "colgroup"
      },
      "document": {
        "props": {
          "tags": {
            "col": true
          }
        },
        "tree": [
          {
            "tag": "col"
          }
        ],
        "html": "<col>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<caption><a>",
      "errors": [
        "(1,9): XXX-undefined-error",
        "(1,12): unexpected-start-tag-implies-table-voodoo",
        "(1,12): eof-in-table"
      ],
      "fragment": {
        "name": "tbody"
      },
      "document": {
        "props": {
          "tags": {
            "a": true
          }
        },
        "tree": [
          {
            "tag": "a"
          }
        ],
        "html": "<a></a>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<col><a>",
      "errors": [
        "(1,5): XXX-undefined-error",
        "(1,8): unexpected-start-tag-implies-table-voodoo",
        "(1,8): eof-in-table"
      ],
      "fragment": {
        "name": "tbody"
      },
      "document": {
        "props": {
          "tags": {
            "a": true
          }
        },
        "tree": [
          {
            "tag": "a"
          }
        ],
        "html": "<a></a>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<colgroup><a>",
      "errors": [
        "(1,10): XXX-undefined-error",
        "(1,13): unexpected-start-tag-implies-table-voodoo",
        "(1,13): eof-in-table"
      ],
      "fragment": {
        "name": "tbody"
      },
      "document": {
        "props": {
          "tags": {
            "a": true
          }
        },
        "tree": [
          {
            "tag": "a"
          }
        ],
        "html": "<a></a>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<tbody><a>",
      "errors": [
        "(1,7): XXX-undefined-error",
        "(1,10): unexpected-start-tag-implies-table-voodoo",
        "(1,10): eof-in-table"
      ],
      "fragment": {
        "name": "tbody"
      },
      "document": {
        "props": {
          "tags": {
            "a": true
          }
        },
        "tree": [
          {
            "tag": "a"
          }
        ],
        "html": "<a></a>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<tfoot><a>",
      "errors": [
        "(1,7): XXX-undefined-error",
        "(1,10): unexpected-start-tag-implies-table-voodoo",
        "(1,10): eof-in-table"
      ],
      "fragment": {
        "name": "tbody"
      },
      "document": {
        "props": {
          "tags": {
            "a": true
          }
        },
        "tree": [
          {
            "tag": "a"
          }
        ],
        "html": "<a></a>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<thead><a>",
      "errors": [
        "(1,7): XXX-undefined-error",
        "(1,10): unexpected-start-tag-implies-table-voodoo",
        "(1,10): eof-in-table"
      ],
      "fragment": {
        "name": "tbody"
      },
      "document": {
        "props": {
          "tags": {
            "a": true
          }
        },
        "tree": [
          {
            "tag": "a"
          }
        ],
        "html": "<a></a>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "</table><a>",
      "errors": [
        "(1,8): XXX-undefined-error",
        "(1,11): unexpected-start-tag-implies-table-voodoo",
        "(1,11): eof-in-table"
      ],
      "fragment": {
        "name": "tbody"
      },
      "document": {
        "props": {
          "tags": {
            "a": true
          }
        },
        "tree": [
          {
            "tag": "a"
          }
        ],
        "html": "<a></a>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<a><tr>",
      "errors": [
        "(1,3): unexpected-start-tag-implies-table-voodoo"
      ],
      "fragment": {
        "name": "tbody"
      },
      "document": {
        "props": {
          "tags": {
            "a": true,
            "tr": true
          }
        },
        "tree": [
          {
            "tag": "a"
          },
          {
            "tag": "tr"
          }
        ],
        "html": "<a></a><tr></tr>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<a><td>",
      "errors": [
        "(1,3): unexpected-start-tag-implies-table-voodoo",
        "(1,7): unexpected-cell-in-table-body"
      ],
      "fragment": {
        "name": "tbody"
      },
      "document": {
        "props": {
          "tags": {
            "a": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "a"
          },
          {
            "tag": "tr",
            "children": [
              {
                "tag": "td"
              }
            ]
          }
        ],
        "html": "<a></a><tr><td></td></tr>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<a><td>",
      "errors": [
        "(1,3): unexpected-start-tag-implies-table-voodoo",
        "(1,7): unexpected-cell-in-table-body"
      ],
      "fragment": {
        "name": "tbody"
      },
      "document": {
        "props": {
          "tags": {
            "a": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "a"
          },
          {
            "tag": "tr",
            "children": [
              {
                "tag": "td"
              }
            ]
          }
        ],
        "html": "<a></a><tr><td></td></tr>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<a><td>",
      "errors": [
        "(1,3): unexpected-start-tag-implies-table-voodoo",
        "(1,7): unexpected-cell-in-table-body"
      ],
      "fragment": {
        "name": "tbody"
      },
      "document": {
        "props": {
          "tags": {
            "a": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "a"
          },
          {
            "tag": "tr",
            "children": [
              {
                "tag": "td"
              }
            ]
          }
        ],
        "html": "<a></a><tr><td></td></tr>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<td><table><tbody><a><tr>",
      "errors": [
        "(1,4): unexpected-cell-in-table-body",
        "(1,21): unexpected-start-tag-implies-table-voodoo",
        "(1,25): eof-in-table"
      ],
      "fragment": {
        "name": "tbody"
      },
      "document": {
        "props": {
          "tags": {
            "tr": true,
            "td": true,
            "a": true,
            "table": true,
            "tbody": true
          }
        },
        "tree": [
          {
            "tag": "tr",
            "children": [
              {
                "tag": "td",
                "children": [
                  {
                    "tag": "a"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<tr><td><a></a><table><tbody><tr></tr></tbody></table></td></tr>",
        "noQuirksBodyHtml": "<a></a><table><tbody><tr></tr></tbody></table>"
      }
    },
    {
      "data": "</tr><td>",
      "errors": [
        "(1,5): XXX-undefined-error"
      ],
      "fragment": {
        "name": "tr"
      },
      "document": {
        "props": {
          "tags": {
            "td": true
          }
        },
        "tree": [
          {
            "tag": "td"
          }
        ],
        "html": "<td></td>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<td><table><a><tr></tr><tr>",
      "errors": [
        "(1,14): unexpected-start-tag-implies-table-voodoo",
        "(1,27): eof-in-table"
      ],
      "fragment": {
        "name": "tr"
      },
      "document": {
        "props": {
          "tags": {
            "td": true,
            "a": true,
            "table": true,
            "tbody": true,
            "tr": true
          }
        },
        "tree": [
          {
            "tag": "td",
            "children": [
              {
                "tag": "a"
              },
              {
                "tag": "table",
                "children": [
                  {
                    "tag": "tbody",
                    "children": [
                      {
                        "tag": "tr"
                      },
                      {
                        "tag": "tr"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<td><a></a><table><tbody><tr></tr><tr></tr></tbody></table></td>",
        "noQuirksBodyHtml": "<a></a><table><tbody><tr></tr><tr></tr></tbody></table>"
      }
    },
    {
      "data": "<caption><td>",
      "errors": [
        "(1,9): XXX-undefined-error"
      ],
      "fragment": {
        "name": "tr"
      },
      "document": {
        "props": {
          "tags": {
            "td": true
          }
        },
        "tree": [
          {
            "tag": "td"
          }
        ],
        "html": "<td></td>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<col><td>",
      "errors": [
        "(1,5): XXX-undefined-error"
      ],
      "fragment": {
        "name": "tr"
      },
      "document": {
        "props": {
          "tags": {
            "td": true
          }
        },
        "tree": [
          {
            "tag": "td"
          }
        ],
        "html": "<td></td>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<colgroup><td>",
      "errors": [
        "(1,10): XXX-undefined-error"
      ],
      "fragment": {
        "name": "tr"
      },
      "document": {
        "props": {
          "tags": {
            "td": true
          }
        },
        "tree": [
          {
            "tag": "td"
          }
        ],
        "html": "<td></td>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<tbody><td>",
      "errors": [
        "(1,7): XXX-undefined-error"
      ],
      "fragment": {
        "name": "tr"
      },
      "document": {
        "props": {
          "tags": {
            "td": true
          }
        },
        "tree": [
          {
            "tag": "td"
          }
        ],
        "html": "<td></td>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<tfoot><td>",
      "errors": [
        "(1,7): XXX-undefined-error"
      ],
      "fragment": {
        "name": "tr"
      },
      "document": {
        "props": {
          "tags": {
            "td": true
          }
        },
        "tree": [
          {
            "tag": "td"
          }
        ],
        "html": "<td></td>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<thead><td>",
      "errors": [
        "(1,7): XXX-undefined-error"
      ],
      "fragment": {
        "name": "tr"
      },
      "document": {
        "props": {
          "tags": {
            "td": true
          }
        },
        "tree": [
          {
            "tag": "td"
          }
        ],
        "html": "<td></td>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<tr><td>",
      "errors": [
        "(1,4): XXX-undefined-error"
      ],
      "fragment": {
        "name": "tr"
      },
      "document": {
        "props": {
          "tags": {
            "td": true
          }
        },
        "tree": [
          {
            "tag": "td"
          }
        ],
        "html": "<td></td>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "</table><td>",
      "errors": [
        "(1,8): XXX-undefined-error"
      ],
      "fragment": {
        "name": "tr"
      },
      "document": {
        "props": {
          "tags": {
            "td": true
          }
        },
        "tree": [
          {
            "tag": "td"
          }
        ],
        "html": "<td></td>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<td><table></table><td>",
      "errors": [],
      "fragment": {
        "name": "tr"
      },
      "document": {
        "props": {
          "tags": {
            "td": true,
            "table": true
          }
        },
        "tree": [
          {
            "tag": "td",
            "children": [
              {
                "tag": "table"
              }
            ]
          },
          {
            "tag": "td"
          }
        ],
        "html": "<td><table></table></td><td></td>",
        "noQuirksBodyHtml": "<table></table>"
      }
    },
    {
      "data": "<td><table></table><td>",
      "errors": [],
      "fragment": {
        "name": "tr"
      },
      "document": {
        "props": {
          "tags": {
            "td": true,
            "table": true
          }
        },
        "tree": [
          {
            "tag": "td",
            "children": [
              {
                "tag": "table"
              }
            ]
          },
          {
            "tag": "td"
          }
        ],
        "html": "<td><table></table></td><td></td>",
        "noQuirksBodyHtml": "<table></table>"
      }
    },
    {
      "data": "<caption><a>",
      "errors": [
        "(1,9): XXX-undefined-error",
        "(1,12): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "td"
      },
      "document": {
        "props": {
          "tags": {
            "a": true
          }
        },
        "tree": [
          {
            "tag": "a"
          }
        ],
        "html": "<a></a>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<col><a>",
      "errors": [
        "(1,5): XXX-undefined-error",
        "(1,8): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "td"
      },
      "document": {
        "props": {
          "tags": {
            "a": true
          }
        },
        "tree": [
          {
            "tag": "a"
          }
        ],
        "html": "<a></a>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<colgroup><a>",
      "errors": [
        "(1,10): XXX-undefined-error",
        "(1,13): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "td"
      },
      "document": {
        "props": {
          "tags": {
            "a": true
          }
        },
        "tree": [
          {
            "tag": "a"
          }
        ],
        "html": "<a></a>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<tbody><a>",
      "errors": [
        "(1,7): XXX-undefined-error",
        "(1,10): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "td"
      },
      "document": {
        "props": {
          "tags": {
            "a": true
          }
        },
        "tree": [
          {
            "tag": "a"
          }
        ],
        "html": "<a></a>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<tfoot><a>",
      "errors": [
        "(1,7): XXX-undefined-error",
        "(1,10): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "td"
      },
      "document": {
        "props": {
          "tags": {
            "a": true
          }
        },
        "tree": [
          {
            "tag": "a"
          }
        ],
        "html": "<a></a>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<th><a>",
      "errors": [
        "(1,4): XXX-undefined-error",
        "(1,7): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "td"
      },
      "document": {
        "props": {
          "tags": {
            "a": true
          }
        },
        "tree": [
          {
            "tag": "a"
          }
        ],
        "html": "<a></a>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<thead><a>",
      "errors": [
        "(1,7): XXX-undefined-error",
        "(1,10): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "td"
      },
      "document": {
        "props": {
          "tags": {
            "a": true
          }
        },
        "tree": [
          {
            "tag": "a"
          }
        ],
        "html": "<a></a>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<tr><a>",
      "errors": [
        "(1,4): XXX-undefined-error",
        "(1,7): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "td"
      },
      "document": {
        "props": {
          "tags": {
            "a": true
          }
        },
        "tree": [
          {
            "tag": "a"
          }
        ],
        "html": "<a></a>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "</table><a>",
      "errors": [
        "(1,8): XXX-undefined-error",
        "(1,11): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "td"
      },
      "document": {
        "props": {
          "tags": {
            "a": true
          }
        },
        "tree": [
          {
            "tag": "a"
          }
        ],
        "html": "<a></a>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "</tbody><a>",
      "errors": [
        "(1,8): XXX-undefined-error",
        "(1,11): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "td"
      },
      "document": {
        "props": {
          "tags": {
            "a": true
          }
        },
        "tree": [
          {
            "tag": "a"
          }
        ],
        "html": "<a></a>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "</td><a>",
      "errors": [
        "(1,5): unexpected-end-tag",
        "(1,8): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "td"
      },
      "document": {
        "props": {
          "tags": {
            "a": true
          }
        },
        "tree": [
          {
            "tag": "a"
          }
        ],
        "html": "<a></a>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "</tfoot><a>",
      "errors": [
        "(1,8): XXX-undefined-error",
        "(1,11): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "td"
      },
      "document": {
        "props": {
          "tags": {
            "a": true
          }
        },
        "tree": [
          {
            "tag": "a"
          }
        ],
        "html": "<a></a>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "</thead><a>",
      "errors": [
        "(1,8): XXX-undefined-error",
        "(1,11): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "td"
      },
      "document": {
        "props": {
          "tags": {
            "a": true
          }
        },
        "tree": [
          {
            "tag": "a"
          }
        ],
        "html": "<a></a>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "</th><a>",
      "errors": [
        "(1,5): unexpected-end-tag",
        "(1,8): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "td"
      },
      "document": {
        "props": {
          "tags": {
            "a": true
          }
        },
        "tree": [
          {
            "tag": "a"
          }
        ],
        "html": "<a></a>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "</tr><a>",
      "errors": [
        "(1,5): XXX-undefined-error",
        "(1,8): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "td"
      },
      "document": {
        "props": {
          "tags": {
            "a": true
          }
        },
        "tree": [
          {
            "tag": "a"
          }
        ],
        "html": "<a></a>",
        "noQuirksBodyHtml": "<a></a>"
      }
    },
    {
      "data": "<table><td><td>",
      "errors": [
        "(1,11): unexpected-cell-in-table-body",
        "(1,15): expected-closing-tag-but-got-eof"
      ],
      "fragment": {
        "name": "td"
      },
      "document": {
        "props": {
          "tags": {
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "table",
            "children": [
              {
                "tag": "tbody",
                "children": [
                  {
                    "tag": "tr",
                    "children": [
                      {
                        "tag": "td"
                      },
                      {
                        "tag": "td"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<table><tbody><tr><td></td><td></td></tr></tbody></table>",
        "noQuirksBodyHtml": "<table><tbody><tr><td></td><td></td></tr></tbody></table>"
      }
    },
    {
      "data": "</select><option>",
      "errors": [
        "(1,9): XXX-undefined-error"
      ],
      "fragment": {
        "name": "select"
      },
      "document": {
        "props": {
          "tags": {
            "option": true
          }
        },
        "tree": [
          {
            "tag": "option"
          }
        ],
        "html": "<option></option>",
        "noQuirksBodyHtml": "<option></option>"
      }
    },
    {
      "data": "<input><option>",
      "errors": [
        "(1,7): unexpected-input-in-select"
      ],
      "fragment": {
        "name": "select"
      },
      "document": {
        "props": {
          "tags": {
            "option": true
          }
        },
        "tree": [
          {
            "tag": "option"
          }
        ],
        "html": "<option></option>",
        "noQuirksBodyHtml": "<input><option></option>"
      }
    },
    {
      "data": "<keygen><option>",
      "errors": [
        "(1,8): unexpected-input-in-select"
      ],
      "fragment": {
        "name": "select"
      },
      "document": {
        "props": {
          "tags": {
            "option": true
          }
        },
        "tree": [
          {
            "tag": "option"
          }
        ],
        "html": "<option></option>",
        "noQuirksBodyHtml": "<keygen><option></option>"
      }
    },
    {
      "data": "<textarea><option>",
      "errors": [
        "(1,10): unexpected-input-in-select"
      ],
      "fragment": {
        "name": "select"
      },
      "document": {
        "props": {
          "tags": {
            "option": true
          }
        },
        "tree": [
          {
            "tag": "option"
          }
        ],
        "html": "<option></option>",
        "noQuirksBodyHtml": "<textarea>&lt;option&gt;</textarea>"
      }
    },
    {
      "data": "</html><!--abc-->",
      "errors": [
        "(1,7): unexpected-end-tag-after-body-innerhtml"
      ],
      "fragment": {
        "name": "html"
      },
      "document": {
        "props": {
          "tags": {
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "head"
          },
          {
            "tag": "body"
          },
          {
            "comment": "abc"
          }
        ],
        "html": "<head></head><body></body><!--abc-->",
        "noQuirksBodyHtml": "<!--abc-->"
      }
    },
    {
      "data": "</frameset><frame>",
      "errors": [
        "(1,11): unexpected-frameset-in-frameset-innerhtml"
      ],
      "fragment": {
        "name": "frameset"
      },
      "document": {
        "props": {
          "tags": {
            "frame": true
          }
        },
        "tree": [
          {
            "tag": "frame"
          }
        ],
        "html": "<frame>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "",
      "errors": [],
      "fragment": {
        "name": "html"
      },
      "document": {
        "props": {
          "tags": {
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "head"
          },
          {
            "tag": "body"
          }
        ],
        "html": "<head></head><body></body>",
        "noQuirksBodyHtml": ""
      }
    }
  ],
  "tricky01.dat": [
    {
      "data": "<b><p>Bold </b> Not bold</p>\nAlso not bold.",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,15): adoption-agency-1.3"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b"
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "b",
                        "children": [
                          {
                            "text": "Bold "
                          }
                        ]
                      },
                      {
                        "text": " Not bold"
                      }
                    ]
                  },
                  {
                    "text": "\nAlso not bold."
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><b></b><p><b>Bold </b> Not bold</p>\nAlso not bold.</body></html>",
        "noQuirksBodyHtml": "<b></b><p><b>Bold </b> Not bold</p>\nAlso not bold."
      }
    },
    {
      "data": "<html>\n<font color=red><i>Italic and Red<p>Italic and Red </font> Just italic.</p> Italic only.</i> Plain\n<p>I should not be red. <font color=red>Red. <i>Italic and red.</p>\n<p>Italic and red. </i> Red.</font> I should not be red.</p>\n<b>Bold <i>Bold and italic</b> Only Italic </i> Plain",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(2,58): adoption-agency-1.3",
        "(3,67): unexpected-end-tag",
        "(4,23): adoption-agency-1.3",
        "(4,35): adoption-agency-1.3",
        "(5,30): adoption-agency-1.3"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "font": true,
            "i": true,
            "p": true,
            "b": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "font",
                    "attrs": [
                      {
                        "name": "color",
                        "value": "red"
                      }
                    ],
                    "children": [
                      {
                        "tag": "i",
                        "children": [
                          {
                            "text": "Italic and Red"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "i",
                    "children": [
                      {
                        "tag": "p",
                        "children": [
                          {
                            "tag": "font",
                            "attrs": [
                              {
                                "name": "color",
                                "value": "red"
                              }
                            ],
                            "children": [
                              {
                                "text": "Italic and Red "
                              }
                            ]
                          },
                          {
                            "text": " Just italic."
                          }
                        ]
                      },
                      {
                        "text": " Italic only."
                      }
                    ]
                  },
                  {
                    "text": " Plain\n"
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "I should not be red. "
                      },
                      {
                        "tag": "font",
                        "attrs": [
                          {
                            "name": "color",
                            "value": "red"
                          }
                        ],
                        "children": [
                          {
                            "text": "Red. "
                          },
                          {
                            "tag": "i",
                            "children": [
                              {
                                "text": "Italic and red."
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "font",
                    "attrs": [
                      {
                        "name": "color",
                        "value": "red"
                      }
                    ],
                    "children": [
                      {
                        "tag": "i",
                        "children": [
                          {
                            "text": "\n"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "font",
                        "attrs": [
                          {
                            "name": "color",
                            "value": "red"
                          }
                        ],
                        "children": [
                          {
                            "tag": "i",
                            "children": [
                              {
                                "text": "Italic and red. "
                              }
                            ]
                          },
                          {
                            "text": " Red."
                          }
                        ]
                      },
                      {
                        "text": " I should not be red."
                      }
                    ]
                  },
                  {
                    "text": "\n"
                  },
                  {
                    "tag": "b",
                    "children": [
                      {
                        "text": "Bold "
                      },
                      {
                        "tag": "i",
                        "children": [
                          {
                            "text": "Bold and italic"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "i",
                    "children": [
                      {
                        "text": " Only Italic "
                      }
                    ]
                  },
                  {
                    "text": " Plain"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><font color=\"red\"><i>Italic and Red</i></font><i><p><font color=\"red\">Italic and Red </font> Just italic.</p> Italic only.</i> Plain\n<p>I should not be red. <font color=\"red\">Red. <i>Italic and red.</i></font></p><font color=\"red\"><i>\n</i></font><p><font color=\"red\"><i>Italic and red. </i> Red.</font> I should not be red.</p>\n<b>Bold <i>Bold and italic</i></b><i> Only Italic </i> Plain</body></html>",
        "noQuirksBodyHtml": "\n<font color=\"red\"><i>Italic and Red</i></font><i><p><font color=\"red\">Italic and Red </font> Just italic.</p> Italic only.</i> Plain\n<p>I should not be red. <font color=\"red\">Red. <i>Italic and red.</i></font></p><font color=\"red\"><i>\n</i></font><p><font color=\"red\"><i>Italic and red. </i> Red.</font> I should not be red.</p>\n<b>Bold <i>Bold and italic</i></b><i> Only Italic </i> Plain"
      }
    },
    {
      "data": "<html><body>\n<p><font size=\"7\">First paragraph.</p>\n<p>Second paragraph.</p></font>\n<b><p><i>Bold and Italic</b> Italic</p>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(2,38): unexpected-end-tag",
        "(4,28): adoption-agency-1.3",
        "(4,28): adoption-agency-1.3",
        "(4,39): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "font": true,
            "b": true,
            "i": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "\n"
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "font",
                        "attrs": [
                          {
                            "name": "size",
                            "value": "7"
                          }
                        ],
                        "children": [
                          {
                            "text": "First paragraph."
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "font",
                    "attrs": [
                      {
                        "name": "size",
                        "value": "7"
                      }
                    ],
                    "children": [
                      {
                        "text": "\n"
                      },
                      {
                        "tag": "p",
                        "children": [
                          {
                            "text": "Second paragraph."
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "text": "\n"
                  },
                  {
                    "tag": "b"
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "b",
                        "children": [
                          {
                            "tag": "i",
                            "children": [
                              {
                                "text": "Bold and Italic"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "i",
                        "children": [
                          {
                            "text": " Italic"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>\n<p><font size=\"7\">First paragraph.</font></p><font size=\"7\">\n<p>Second paragraph.</p></font>\n<b></b><p><b><i>Bold and Italic</i></b><i> Italic</i></p></body></html>",
        "noQuirksBodyHtml": "\n<p><font size=\"7\">First paragraph.</font></p><font size=\"7\">\n<p>Second paragraph.</p></font>\n<b></b><p><b><i>Bold and Italic</i></b><i> Italic</i></p>"
      }
    },
    {
      "data": "<html>\n<dl>\n<dt><b>Boo\n<dd>Goo?\n</dl>\n</html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(4,4): end-tag-too-early",
        "(5,5): end-tag-too-early",
        "(6,7): expected-one-end-tag-but-got-another"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "dl": true,
            "dt": true,
            "b": true,
            "dd": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "dl",
                    "children": [
                      {
                        "text": "\n"
                      },
                      {
                        "tag": "dt",
                        "children": [
                          {
                            "tag": "b",
                            "children": [
                              {
                                "text": "Boo\n"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "dd",
                        "children": [
                          {
                            "tag": "b",
                            "children": [
                              {
                                "text": "Goo?\n"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "b",
                    "children": [
                      {
                        "text": "\n"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><dl>\n<dt><b>Boo\n</b></dt><dd><b>Goo?\n</b></dd></dl><b>\n</b></body></html>",
        "noQuirksBodyHtml": "\n<dl>\n<dt><b>Boo\n</b></dt><dd><b>Goo?\n</b></dd></dl><b>\n</b>"
      }
    },
    {
      "data": "<html><body>\n<label><a><div>Hello<div>World</div></a></label>  \n</body></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(2,40): adoption-agency-1.3",
        "(2,48): unexpected-end-tag",
        "(3,7): expected-one-end-tag-but-got-another"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "label": true,
            "a": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "\n"
                  },
                  {
                    "tag": "label",
                    "children": [
                      {
                        "tag": "a"
                      },
                      {
                        "tag": "div",
                        "children": [
                          {
                            "tag": "a",
                            "children": [
                              {
                                "text": "Hello"
                              },
                              {
                                "tag": "div",
                                "children": [
                                  {
                                    "text": "World"
                                  }
                                ]
                              }
                            ]
                          },
                          {
                            "text": "  \n"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>\n<label><a></a><div><a>Hello<div>World</div></a>  \n</div></label></body></html>",
        "noQuirksBodyHtml": "\n<label><a></a><div><a>Hello<div>World</div></a>  \n</div></label>"
      }
    },
    {
      "data": "<table><center> <font>a</center> <img> <tr><td> </td> </tr> </table>",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,15): foster-parenting-start-tag",
        "(1,16): foster-parenting-character",
        "(1,22): foster-parenting-start-tag",
        "(1,23): foster-parenting-character",
        "(1,32): foster-parenting-end-tag",
        "(1,32): end-tag-too-early",
        "(1,33): foster-parenting-character",
        "(1,38): foster-parenting-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "center": true,
            "font": true,
            "img": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "center",
                    "children": [
                      {
                        "text": " "
                      },
                      {
                        "tag": "font",
                        "children": [
                          {
                            "text": "a"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "font",
                    "children": [
                      {
                        "tag": "img"
                      },
                      {
                        "text": " "
                      }
                    ]
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "text": " "
                      },
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "text": " "
                                  }
                                ]
                              },
                              {
                                "text": " "
                              }
                            ]
                          },
                          {
                            "text": " "
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><center> <font>a</font></center><font><img> </font><table> <tbody><tr><td> </td> </tr> </tbody></table></body></html>",
        "noQuirksBodyHtml": "<center> <font>a</font></center><font><img> </font><table> <tbody><tr><td> </td> </tr> </tbody></table>"
      }
    },
    {
      "data": "<table><tr><p><a><p>You should see this text.",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,14): unexpected-start-tag-implies-table-voodoo",
        "(1,17): unexpected-start-tag-implies-table-voodoo",
        "(1,20): unexpected-start-tag-implies-table-voodoo",
        "(1,20): closing-non-current-p-element",
        "(1,21): foster-parenting-character",
        "(1,22): foster-parenting-character",
        "(1,23): foster-parenting-character",
        "(1,24): foster-parenting-character",
        "(1,25): foster-parenting-character",
        "(1,26): foster-parenting-character",
        "(1,27): foster-parenting-character",
        "(1,28): foster-parenting-character",
        "(1,29): foster-parenting-character",
        "(1,30): foster-parenting-character",
        "(1,31): foster-parenting-character",
        "(1,32): foster-parenting-character",
        "(1,33): foster-parenting-character",
        "(1,34): foster-parenting-character",
        "(1,35): foster-parenting-character",
        "(1,36): foster-parenting-character",
        "(1,37): foster-parenting-character",
        "(1,38): foster-parenting-character",
        "(1,39): foster-parenting-character",
        "(1,40): foster-parenting-character",
        "(1,41): foster-parenting-character",
        "(1,42): foster-parenting-character",
        "(1,43): foster-parenting-character",
        "(1,44): foster-parenting-character",
        "(1,45): foster-parenting-character",
        "(1,45): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "a": true,
            "table": true,
            "tbody": true,
            "tr": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "a"
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "a",
                        "children": [
                          {
                            "text": "You should see this text."
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><p><a></a></p><p><a>You should see this text.</a></p><table><tbody><tr></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<p><a></a></p><p><a>You should see this text.</a></p><table><tbody><tr></tr></tbody></table>"
      }
    },
    {
      "data": "<TABLE>\n<TR>\n<CENTER><CENTER><TD></TD></TR><TR>\n<FONT>\n<TABLE><tr></tr></TABLE>\n</P>\n<a></font><font></a>\nThis page contains an insanely badly-nested tag sequence.",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(3,8): unexpected-start-tag-implies-table-voodoo",
        "(3,16): unexpected-start-tag-implies-table-voodoo",
        "(4,6): unexpected-start-tag-implies-table-voodoo",
        "(4,6): unexpected character token in table (the newline)",
        "(5,7): unexpected-start-tag-implies-end-tag",
        "(6,4): unexpected p end tag",
        "(7,10): adoption-agency-1.3",
        "(7,20): adoption-agency-1.3",
        "(8,57): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "center": true,
            "font": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "p": true,
            "a": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "center",
                    "children": [
                      {
                        "tag": "center"
                      }
                    ]
                  },
                  {
                    "tag": "font",
                    "children": [
                      {
                        "text": "\n"
                      }
                    ]
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "text": "\n"
                      },
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "text": "\n"
                              },
                              {
                                "tag": "td"
                              }
                            ]
                          },
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "text": "\n"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "font",
                    "children": [
                      {
                        "text": "\n"
                      },
                      {
                        "tag": "p"
                      },
                      {
                        "text": "\n"
                      },
                      {
                        "tag": "a"
                      }
                    ]
                  },
                  {
                    "tag": "a",
                    "children": [
                      {
                        "tag": "font"
                      }
                    ]
                  },
                  {
                    "tag": "font",
                    "children": [
                      {
                        "text": "\nThis page contains an insanely badly-nested tag sequence."
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><center><center></center></center><font>\n</font><table>\n<tbody><tr>\n<td></td></tr><tr>\n</tr></tbody></table><table><tbody><tr></tr></tbody></table><font>\n<p></p>\n<a></a></font><a><font></font></a><font>\nThis page contains an insanely badly-nested tag sequence.</font></body></html>",
        "noQuirksBodyHtml": "<center><center></center></center><font>\n</font><table>\n<tbody><tr>\n<td></td></tr><tr>\n</tr></tbody></table><table><tbody><tr></tr></tbody></table><font>\n<p></p>\n<a></a></font><a><font></font></a><font>\nThis page contains an insanely badly-nested tag sequence.</font>"
      }
    },
    {
      "data": "<html>\n<body>\n<b><nobr><div>This text is in a div inside a nobr</nobr>More text that should not be in the nobr, i.e., the\nnobr should have closed the div inside it implicitly. </b><pre>A pre tag outside everything else.</pre>\n</body>\n</html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(3,56): adoption-agency-1.3",
        "(4,58): adoption-agency-1.3",
        "(5,7): expected-one-end-tag-but-got-another"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "nobr": true,
            "div": true,
            "pre": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "\n"
                  },
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "nobr"
                      }
                    ]
                  },
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "b",
                        "children": [
                          {
                            "tag": "nobr",
                            "children": [
                              {
                                "text": "This text is in a div inside a nobr"
                              }
                            ]
                          },
                          {
                            "text": "More text that should not be in the nobr, i.e., the\nnobr should have closed the div inside it implicitly. "
                          }
                        ]
                      },
                      {
                        "tag": "pre",
                        "children": [
                          {
                            "text": "A pre tag outside everything else."
                          }
                        ]
                      },
                      {
                        "text": "\n\n"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>\n<b><nobr></nobr></b><div><b><nobr>This text is in a div inside a nobr</nobr>More text that should not be in the nobr, i.e., the\nnobr should have closed the div inside it implicitly. </b><pre>A pre tag outside everything else.</pre>\n\n</div></body></html>",
        "noQuirksBodyHtml": "\n\n<b><nobr></nobr></b><div><b><nobr>This text is in a div inside a nobr</nobr>More text that should not be in the nobr, i.e., the\nnobr should have closed the div inside it implicitly. </b><pre>A pre tag outside everything else.</pre>\n\n</div>"
      }
    }
  ],
  "webkit01.dat": [
    {
      "data": "Test",
      "errors": [
        "(1,4): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "Test"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>Test</body></html>",
        "noQuirksBodyHtml": "Test"
      }
    },
    {
      "data": "<div></div>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div></div></body></html>",
        "noQuirksBodyHtml": "<div></div>"
      }
    },
    {
      "data": "<div>Test</div>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": "Test"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div>Test</div></body></html>",
        "noQuirksBodyHtml": "<div>Test</div>"
      }
    },
    {
      "data": "<di",
      "errors": [
        "(1,3): eof-in-tag-name",
        "(1,3): expected-doctype-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<div>Hello</div>\n<script>\nconsole.log(\"PASS\");\n</script>\n<div>Bye</div>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "script": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": "Hello"
                      }
                    ]
                  },
                  {
                    "text": "\n"
                  },
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "\nconsole.log(\"PASS\");\n",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "\n"
                  },
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": "Bye"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div>Hello</div>\n<script>\nconsole.log(\"PASS\");\n</script>\n<div>Bye</div></body></html>",
        "noQuirksBodyHtml": "<div>Hello</div>\n<script>\nconsole.log(\"PASS\");\n</script>\n<div>Bye</div>"
      }
    },
    {
      "data": "<div foo=\"bar\">Hello</div>",
      "errors": [
        "(1,15): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "attrs": [
                      {
                        "name": "foo",
                        "value": "bar"
                      }
                    ],
                    "children": [
                      {
                        "text": "Hello"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div foo=\"bar\">Hello</div></body></html>",
        "noQuirksBodyHtml": "<div foo=\"bar\">Hello</div>"
      }
    },
    {
      "data": "<div>Hello</div>\n<script>\nconsole.log(\"FOO<span>BAR</span>BAZ\");\n</script>\n<div>Bye</div>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "script": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": "Hello"
                      }
                    ]
                  },
                  {
                    "text": "\n"
                  },
                  {
                    "tag": "script",
                    "children": [
                      {
                        "text": "\nconsole.log(\"FOO<span>BAR</span>BAZ\");\n",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "text": "\n"
                  },
                  {
                    "tag": "div",
                    "children": [
                      {
                        "text": "Bye"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div>Hello</div>\n<script>\nconsole.log(\"FOO<span>BAR</span>BAZ\");\n</script>\n<div>Bye</div></body></html>",
        "noQuirksBodyHtml": "<div>Hello</div>\n<script>\nconsole.log(\"FOO<span>BAR</span>BAZ\");\n</script>\n<div>Bye</div>"
      }
    },
    {
      "data": "<foo bar=\"baz\"></foo><potato quack=\"duck\"></potato>",
      "errors": [
        "(1,15): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "foo": true,
            "potato": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "foo",
                    "attrs": [
                      {
                        "name": "bar",
                        "value": "baz"
                      }
                    ]
                  },
                  {
                    "tag": "potato",
                    "attrs": [
                      {
                        "name": "quack",
                        "value": "duck"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><foo bar=\"baz\"></foo><potato quack=\"duck\"></potato></body></html>",
        "noQuirksBodyHtml": "<foo bar=\"baz\"></foo><potato quack=\"duck\"></potato>"
      }
    },
    {
      "data": "<foo bar=\"baz\"><potato quack=\"duck\"></potato></foo>",
      "errors": [
        "(1,15): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "foo": true,
            "potato": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "foo",
                    "attrs": [
                      {
                        "name": "bar",
                        "value": "baz"
                      }
                    ],
                    "children": [
                      {
                        "tag": "potato",
                        "attrs": [
                          {
                            "name": "quack",
                            "value": "duck"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><foo bar=\"baz\"><potato quack=\"duck\"></potato></foo></body></html>",
        "noQuirksBodyHtml": "<foo bar=\"baz\"><potato quack=\"duck\"></potato></foo>"
      }
    },
    {
      "data": "<foo></foo bar=\"baz\"><potato></potato quack=\"duck\">",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,21): attributes-in-end-tag",
        "(1,51): attributes-in-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "foo": true,
            "potato": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "foo"
                  },
                  {
                    "tag": "potato"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><foo></foo><potato></potato></body></html>",
        "noQuirksBodyHtml": "<foo></foo><potato></potato>"
      }
    },
    {
      "data": "</ tttt>",
      "errors": [
        "(1,2): expected-closing-tag-but-got-char",
        "(1,8): expected-doctype-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "comment": " tttt"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<!-- tttt--><html><head></head><body></body></html>",
        "noQuirksBodyHtml": "<!-- tttt-->"
      }
    },
    {
      "data": "<div FOO ><img><img></div>",
      "errors": [
        "(1,10): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "img": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "attrs": [
                      {
                        "name": "foo",
                        "value": ""
                      }
                    ],
                    "children": [
                      {
                        "tag": "img"
                      },
                      {
                        "tag": "img"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div foo=\"\"><img><img></div></body></html>",
        "noQuirksBodyHtml": "<div foo=\"\"><img><img></div>"
      }
    },
    {
      "data": "<p>Test</p<p>Test2</p>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,13): unexpected-end-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "children": [
                      {
                        "text": "TestTest2"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><p>TestTest2</p></body></html>",
        "noQuirksBodyHtml": "<p>TestTest2</p>"
      }
    },
    {
      "data": "<rdar://problem/6869687>",
      "errors": [
        "(1,7): unexpected-character-after-solidus-in-tag",
        "(1,8): unexpected-character-after-solidus-in-tag",
        "(1,16): unexpected-character-after-solidus-in-tag",
        "(1,24): expected-doctype-but-got-start-tag",
        "(1,24): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "rdar:": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "rdar:",
                    "attrs": [
                      {
                        "name": "6869687",
                        "value": ""
                      },
                      {
                        "name": "problem",
                        "value": ""
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><rdar: problem=\"\" 6869687=\"\"></rdar:></body></html>",
        "noQuirksBodyHtml": "<rdar: problem=\"\" 6869687=\"\"></rdar:>"
      }
    },
    {
      "data": "<A>test< /A>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,8): expected-tag-name",
        "(1,12): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a",
                    "children": [
                      {
                        "text": "test< /A>",
                        "escaped": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a>test&lt; /A&gt;</a></body></html>",
        "noQuirksBodyHtml": "<a>test&lt; /A&gt;</a>"
      }
    },
    {
      "data": "&lt;",
      "errors": [
        "(1,4): expected-doctype-but-got-chars"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "escaped": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "<",
                    "escaped": true
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>&lt;</body></html>",
        "noQuirksBodyHtml": "&lt;"
      }
    },
    {
      "data": "<body foo='bar'><body foo='baz' yo='mama'>",
      "errors": [
        "(1,16): expected-doctype-but-got-start-tag",
        "(1,42): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "attrs": [
                  {
                    "name": "foo",
                    "value": "bar"
                  },
                  {
                    "name": "yo",
                    "value": "mama"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body foo=\"bar\" yo=\"mama\"></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<body></br foo=\"bar\"></body>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,21): attributes-in-end-tag",
        "(1,21): unexpected-end-tag-treated-as"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "br": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "br"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><br></body></html>",
        "noQuirksBodyHtml": "<br>"
      }
    },
    {
      "data": "<bdy><br foo=\"bar\"></body>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,26): expected-one-end-tag-but-got-another"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "bdy": true,
            "br": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "bdy",
                    "children": [
                      {
                        "tag": "br",
                        "attrs": [
                          {
                            "name": "foo",
                            "value": "bar"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><bdy><br foo=\"bar\"></bdy></body></html>",
        "noQuirksBodyHtml": "<bdy><br foo=\"bar\"></bdy>"
      }
    },
    {
      "data": "<body></body></br foo=\"bar\">",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,28): attributes-in-end-tag",
        "(1,28): unexpected-end-tag-after-body",
        "(1,28): unexpected-end-tag-treated-as"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "br": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "br"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><br></body></html>",
        "noQuirksBodyHtml": "<br>"
      }
    },
    {
      "data": "<bdy></body><br foo=\"bar\">",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,12): expected-one-end-tag-but-got-another",
        "(1,26): unexpected-start-tag-after-body",
        "(1,26): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "bdy": true,
            "br": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "bdy",
                    "children": [
                      {
                        "tag": "br",
                        "attrs": [
                          {
                            "name": "foo",
                            "value": "bar"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><bdy><br foo=\"bar\"></bdy></body></html>",
        "noQuirksBodyHtml": "<bdy><br foo=\"bar\"></bdy>"
      }
    },
    {
      "data": "<html><body></body></html><!-- Hi there -->",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          },
          {
            "comment": " Hi there "
          }
        ],
        "html": "<html><head></head><body></body></html><!-- Hi there -->",
        "noQuirksBodyHtml": "<!-- Hi there -->"
      }
    },
    {
      "data": "<html><body></body></html>x<!-- Hi there -->",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,27): expected-eof-but-got-char"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "x"
                  },
                  {
                    "comment": " Hi there "
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>x<!-- Hi there --></body></html>",
        "noQuirksBodyHtml": "x<!-- Hi there -->"
      }
    },
    {
      "data": "<html><body></body></html>x<!-- Hi there --></html><!-- Again -->",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,27): expected-eof-but-got-char"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "x"
                  },
                  {
                    "comment": " Hi there "
                  }
                ]
              }
            ]
          },
          {
            "comment": " Again "
          }
        ],
        "html": "<html><head></head><body>x<!-- Hi there --></body></html><!-- Again -->",
        "noQuirksBodyHtml": "x<!-- Hi there --><!-- Again -->"
      }
    },
    {
      "data": "<html><body></body></html>x<!-- Hi there --></body></html><!-- Again -->",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,27): expected-eof-but-got-char"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          },
          "comment": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "x"
                  },
                  {
                    "comment": " Hi there "
                  }
                ]
              }
            ]
          },
          {
            "comment": " Again "
          }
        ],
        "html": "<html><head></head><body>x<!-- Hi there --></body></html><!-- Again -->",
        "noQuirksBodyHtml": "x<!-- Hi there --><!-- Again -->"
      }
    },
    {
      "data": "<html><body><ruby><div><rp>xx</rp></div></ruby></body></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,27): XXX-undefined-error"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "div": true,
            "rp": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "tag": "div",
                        "children": [
                          {
                            "tag": "rp",
                            "children": [
                              {
                                "text": "xx"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby><div><rp>xx</rp></div></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby><div><rp>xx</rp></div></ruby>"
      }
    },
    {
      "data": "<html><body><ruby><div><rt>xx</rt></div></ruby></body></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,27): XXX-undefined-error"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ruby": true,
            "div": true,
            "rt": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ruby",
                    "children": [
                      {
                        "tag": "div",
                        "children": [
                          {
                            "tag": "rt",
                            "children": [
                              {
                                "text": "xx"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ruby><div><rt>xx</rt></div></ruby></body></html>",
        "noQuirksBodyHtml": "<ruby><div><rt>xx</rt></div></ruby>"
      }
    },
    {
      "data": "<html><frameset><!--1--><noframes>A</noframes><!--2--></frameset><!--3--><noframes>B</noframes><!--4--></html><!--5--><noframes>C</noframes><!--6-->",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true,
            "noframes": true
          },
          "comment": true,
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset",
                "children": [
                  {
                    "comment": "1"
                  },
                  {
                    "tag": "noframes",
                    "children": [
                      {
                        "text": "A",
                        "no_escape": true
                      }
                    ]
                  },
                  {
                    "comment": "2"
                  }
                ]
              },
              {
                "comment": "3"
              },
              {
                "tag": "noframes",
                "children": [
                  {
                    "text": "B",
                    "no_escape": true
                  }
                ]
              },
              {
                "comment": "4"
              },
              {
                "tag": "noframes",
                "children": [
                  {
                    "text": "C",
                    "no_escape": true
                  }
                ]
              }
            ]
          },
          {
            "comment": "5"
          },
          {
            "comment": "6"
          }
        ],
        "html": "<html><head></head><frameset><!--1--><noframes>A</noframes><!--2--></frameset><!--3--><noframes>B</noframes><!--4--><noframes>C</noframes></html><!--5--><!--6-->",
        "noQuirksBodyHtml": "<!--1--><noframes>A</noframes><!--2--><!--3--><noframes>B</noframes><!--4--><!--5--><noframes>C</noframes><!--6-->"
      }
    },
    {
      "data": "<select><option>A<select><option>B<select><option>C<select><option>D<select><option>E<select><option>F<select><option>G<select>",
      "errors": [
        "(1,8): expected-doctype-but-got-start-tag",
        "(1,25): unexpected-select-in-select",
        "(1,59): unexpected-select-in-select",
        "(1,93): unexpected-select-in-select",
        "(1,127): unexpected-select-in-select"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "select": true,
            "option": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "select",
                    "children": [
                      {
                        "tag": "option",
                        "children": [
                          {
                            "text": "A"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "option",
                    "children": [
                      {
                        "text": "B"
                      },
                      {
                        "tag": "select",
                        "children": [
                          {
                            "tag": "option",
                            "children": [
                              {
                                "text": "C"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "option",
                    "children": [
                      {
                        "text": "D"
                      },
                      {
                        "tag": "select",
                        "children": [
                          {
                            "tag": "option",
                            "children": [
                              {
                                "text": "E"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "option",
                    "children": [
                      {
                        "text": "F"
                      },
                      {
                        "tag": "select",
                        "children": [
                          {
                            "tag": "option",
                            "children": [
                              {
                                "text": "G"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><select><option>A</option></select><option>B<select><option>C</option></select></option><option>D<select><option>E</option></select></option><option>F<select><option>G</option></select></option></body></html>",
        "noQuirksBodyHtml": "<select><option>A</option></select><option>B<select><option>C</option></select></option><option>D<select><option>E</option></select></option><option>F<select><option>G</option></select></option>"
      }
    },
    {
      "data": "<dd><dd><dt><dt><dd><li><li>",
      "errors": [
        "(1,4): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "dd": true,
            "dt": true,
            "li": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "dd"
                  },
                  {
                    "tag": "dd"
                  },
                  {
                    "tag": "dt"
                  },
                  {
                    "tag": "dt"
                  },
                  {
                    "tag": "dd",
                    "children": [
                      {
                        "tag": "li"
                      },
                      {
                        "tag": "li"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><dd></dd><dd></dd><dt></dt><dt></dt><dd><li></li><li></li></dd></body></html>",
        "noQuirksBodyHtml": "<dd></dd><dd></dd><dt></dt><dt></dt><dd><li></li><li></li></dd>"
      }
    },
    {
      "data": "<div><b></div><div><nobr>a<nobr>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,14): end-tag-too-early",
        "(1,32): unexpected-start-tag-implies-end-tag",
        "(1,32): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "b": true,
            "nobr": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "b"
                      }
                    ]
                  },
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "b",
                        "children": [
                          {
                            "tag": "nobr",
                            "children": [
                              {
                                "text": "a"
                              }
                            ]
                          },
                          {
                            "tag": "nobr"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div><b></b></div><div><b><nobr>a</nobr><nobr></nobr></b></div></body></html>",
        "noQuirksBodyHtml": "<div><b></b></div><div><b><nobr>a</nobr><nobr></nobr></b></div>"
      }
    },
    {
      "data": "<head></head>\n<body></body>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "text": "\n"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head>\n<body></body></html>",
        "noQuirksBodyHtml": "\n"
      }
    },
    {
      "data": "<head></head> <style></style>ddd",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,21): unexpected-start-tag-out-of-my-head"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "style": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head",
                "children": [
                  {
                    "tag": "style"
                  }
                ]
              },
              {
                "text": " "
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "ddd"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head><style></style></head> <body>ddd</body></html>",
        "noQuirksBodyHtml": " <style></style>ddd"
      }
    },
    {
      "data": "<kbd><table></kbd><col><select><tr>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,18): unexpected-end-tag-implies-table-voodoo",
        "(1,18): unexpected-end-tag",
        "(1,31): unexpected-start-tag-implies-table-voodoo",
        "(1,35): unexpected-table-element-start-tag-in-select-in-table",
        "(1,35): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "kbd": true,
            "select": true,
            "table": true,
            "colgroup": true,
            "col": true,
            "tbody": true,
            "tr": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "kbd",
                    "children": [
                      {
                        "tag": "select"
                      },
                      {
                        "tag": "table",
                        "children": [
                          {
                            "tag": "colgroup",
                            "children": [
                              {
                                "tag": "col"
                              }
                            ]
                          },
                          {
                            "tag": "tbody",
                            "children": [
                              {
                                "tag": "tr"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><kbd><select></select><table><colgroup><col></colgroup><tbody><tr></tr></tbody></table></kbd></body></html>",
        "noQuirksBodyHtml": "<kbd><select></select><table><colgroup><col></colgroup><tbody><tr></tr></tbody></table></kbd>"
      }
    },
    {
      "data": "<kbd><table></kbd><col><select><tr></table><div>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,18): unexpected-end-tag-implies-table-voodoo",
        "(1,18): unexpected-end-tag",
        "(1,31): unexpected-start-tag-implies-table-voodoo",
        "(1,35): unexpected-table-element-start-tag-in-select-in-table",
        "(1,48): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "kbd": true,
            "select": true,
            "table": true,
            "colgroup": true,
            "col": true,
            "tbody": true,
            "tr": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "kbd",
                    "children": [
                      {
                        "tag": "select"
                      },
                      {
                        "tag": "table",
                        "children": [
                          {
                            "tag": "colgroup",
                            "children": [
                              {
                                "tag": "col"
                              }
                            ]
                          },
                          {
                            "tag": "tbody",
                            "children": [
                              {
                                "tag": "tr"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "div"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><kbd><select></select><table><colgroup><col></colgroup><tbody><tr></tr></tbody></table><div></div></kbd></body></html>",
        "noQuirksBodyHtml": "<kbd><select></select><table><colgroup><col></colgroup><tbody><tr></tr></tbody></table><div></div></kbd>"
      }
    },
    {
      "data": "<a><li><style></style><title></title></a>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,41): adoption-agency-1.3"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "li": true,
            "style": true,
            "title": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a"
                  },
                  {
                    "tag": "li",
                    "children": [
                      {
                        "tag": "a",
                        "children": [
                          {
                            "tag": "style"
                          },
                          {
                            "tag": "title"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a></a><li><a><style></style><title></title></a></li></body></html>",
        "noQuirksBodyHtml": "<a></a><li><a><style></style><title></title></a></li>"
      }
    },
    {
      "data": "<font></p><p><meta><title></title></font>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,10): unexpected-end-tag",
        "(1,41): adoption-agency-1.3"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "font": true,
            "p": true,
            "meta": true,
            "title": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "font",
                    "children": [
                      {
                        "tag": "p"
                      }
                    ]
                  },
                  {
                    "tag": "p",
                    "children": [
                      {
                        "tag": "font",
                        "children": [
                          {
                            "tag": "meta"
                          },
                          {
                            "tag": "title"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><font><p></p></font><p><font><meta><title></title></font></p></body></html>",
        "noQuirksBodyHtml": "<font><p></p></font><p><font><meta><title></title></font></p>"
      }
    },
    {
      "data": "<a><center><title></title><a>",
      "errors": [
        "(1,3): expected-doctype-but-got-start-tag",
        "(1,29): unexpected-start-tag-implies-end-tag",
        "(1,29): adoption-agency-1.3",
        "(1,29): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "a": true,
            "center": true,
            "title": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "a"
                  },
                  {
                    "tag": "center",
                    "children": [
                      {
                        "tag": "a",
                        "children": [
                          {
                            "tag": "title"
                          }
                        ]
                      },
                      {
                        "tag": "a"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><a></a><center><a><title></title></a><a></a></center></body></html>",
        "noQuirksBodyHtml": "<a></a><center><a><title></title></a><a></a></center>"
      }
    },
    {
      "data": "<svg><title><div>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,17): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg title": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "title",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "tag": "div"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg><title><div></div></title></svg></body></html>",
        "noQuirksBodyHtml": "<svg><title><div></div></title></svg>"
      }
    },
    {
      "data": "<svg><title><rect><div>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,23): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg title": true,
            "rect": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "title",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "tag": "rect",
                            "children": [
                              {
                                "tag": "div"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg><title><rect><div></div></rect></title></svg></body></html>",
        "noQuirksBodyHtml": "<svg><title><rect><div></div></rect></title></svg>"
      }
    },
    {
      "data": "<svg><title><svg><div>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,22): unexpected-html-element-in-foreign-content",
        "(1,22): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg title": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "title",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "tag": "svg",
                            "ns": "http://www.w3.org/2000/svg"
                          },
                          {
                            "tag": "div"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg><title><svg></svg><div></div></title></svg></body></html>",
        "noQuirksBodyHtml": "<svg><title><svg><div></div></svg></title></svg>"
      }
    },
    {
      "data": "<img <=\"\" FAIL>",
      "errors": [
        "(1,6): invalid-character-in-attribute-name",
        "(1,15): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "img": true
          },
          "attrWithFunnyChar": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "img",
                    "attrs": [
                      {
                        "name": "<",
                        "value": ""
                      },
                      {
                        "name": "fail",
                        "value": ""
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><img <=\"\" fail=\"\"></body></html>",
        "noQuirksBodyHtml": "<img <=\"\" fail=\"\">"
      }
    },
    {
      "data": "<ul><li><div id='foo'/>A</li><li>B<div>C</div></li></ul>",
      "errors": [
        "(1,4): expected-doctype-but-got-start-tag",
        "(1,23): non-void-element-with-trailing-solidus",
        "(1,29): end-tag-too-early"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "ul": true,
            "li": true,
            "div": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "ul",
                    "children": [
                      {
                        "tag": "li",
                        "children": [
                          {
                            "tag": "div",
                            "attrs": [
                              {
                                "name": "id",
                                "value": "foo"
                              }
                            ],
                            "children": [
                              {
                                "text": "A"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "li",
                        "children": [
                          {
                            "text": "B"
                          },
                          {
                            "tag": "div",
                            "children": [
                              {
                                "text": "C"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><ul><li><div id=\"foo\">A</div></li><li>B<div>C</div></li></ul></body></html>",
        "noQuirksBodyHtml": "<ul><li><div id=\"foo\">A</div></li><li>B<div>C</div></li></ul>"
      }
    },
    {
      "data": "<svg><em><desc></em>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,9): unexpected-html-element-in-foreign-content",
        "(1,20): adoption-agency-1.3"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "em": true,
            "desc": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg"
                  },
                  {
                    "tag": "em",
                    "children": [
                      {
                        "tag": "desc"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg></svg><em><desc></desc></em></body></html>",
        "noQuirksBodyHtml": "<svg><em><desc></desc></em></svg>"
      }
    },
    {
      "data": "<table><tr><td><svg><desc><td></desc><circle>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true,
            "svg svg": true,
            "svg desc": true,
            "circle": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "svg",
                                    "ns": "http://www.w3.org/2000/svg",
                                    "children": [
                                      {
                                        "tag": "desc",
                                        "ns": "http://www.w3.org/2000/svg"
                                      }
                                    ]
                                  }
                                ]
                              },
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "tag": "circle"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><tr><td><svg><desc></desc></svg></td><td><circle></circle></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td><svg><desc></desc></svg></td><td><circle></circle></td></tr></tbody></table>"
      }
    },
    {
      "data": "<svg><tfoot></mi><td>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag",
        "(1,17): unexpected-end-tag",
        "(1,17): unexpected-end-tag",
        "(1,21): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg tfoot": true,
            "svg td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "tfoot",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "tag": "td",
                            "ns": "http://www.w3.org/2000/svg"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg><tfoot><td></td></tfoot></svg></body></html>",
        "noQuirksBodyHtml": "<svg><tfoot><td></td></tfoot></svg>"
      }
    },
    {
      "data": "<math><mrow><mrow><mn>1</mn></mrow><mi>a</mi></mrow></math>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "math math": true,
            "math mrow": true,
            "math mn": true,
            "math mi": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "math",
                    "ns": "http://www.w3.org/1998/Math/MathML",
                    "children": [
                      {
                        "tag": "mrow",
                        "ns": "http://www.w3.org/1998/Math/MathML",
                        "children": [
                          {
                            "tag": "mrow",
                            "ns": "http://www.w3.org/1998/Math/MathML",
                            "children": [
                              {
                                "tag": "mn",
                                "ns": "http://www.w3.org/1998/Math/MathML",
                                "children": [
                                  {
                                    "text": "1"
                                  }
                                ]
                              }
                            ]
                          },
                          {
                            "tag": "mi",
                            "ns": "http://www.w3.org/1998/Math/MathML",
                            "children": [
                              {
                                "text": "a"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><math><mrow><mrow><mn>1</mn></mrow><mi>a</mi></mrow></math></body></html>",
        "noQuirksBodyHtml": "<math><mrow><mrow><mn>1</mn></mrow><mi>a</mi></mrow></math>"
      }
    },
    {
      "data": "<!doctype html><input type=\"hidden\"><frameset>",
      "errors": [
        "(1,46): unexpected-start-tag",
        "(1,46): eof-in-frameset"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "frameset": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "frameset"
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><frameset></frameset></html>",
        "noQuirksBodyHtml": "<input type=\"hidden\">"
      }
    },
    {
      "data": "<!doctype html><input type=\"button\"><frameset>",
      "errors": [
        "(1,46): unexpected-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "input": true
          },
          "doctype": true
        },
        "tree": [
          {
            "doctype": "html"
          },
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "input",
                    "attrs": [
                      {
                        "name": "type",
                        "value": "button"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<!DOCTYPE html><html><head></head><body><input type=\"button\"></body></html>",
        "noQuirksBodyHtml": "<input type=\"button\">"
      }
    }
  ],
  "webkit02.dat": [
    {
      "data": "<foo bar=qux/>",
      "errors": [
        "(1,14): expected-doctype-but-got-start-tag",
        "(1,14): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "foo": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "foo",
                    "attrs": [
                      {
                        "name": "bar",
                        "value": "qux/"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><foo bar=\"qux/\"></foo></body></html>",
        "noQuirksBodyHtml": "<foo bar=\"qux/\"></foo>"
      }
    },
    {
      "data": "<p id=\"status\"><noscript><strong>A</strong></noscript><span>B</span></p>",
      "errors": [
        "(1,15): expected-doctype-but-got-start-tag"
      ],
      "script": "on",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "noscript": true,
            "span": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "attrs": [
                      {
                        "name": "id",
                        "value": "status"
                      }
                    ],
                    "children": [
                      {
                        "tag": "noscript",
                        "children": [
                          {
                            "text": "<strong>A</strong>",
                            "no_escape": true
                          }
                        ]
                      },
                      {
                        "tag": "span",
                        "children": [
                          {
                            "text": "B"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><p id=\"status\"><noscript><strong>A</strong></noscript><span>B</span></p></body></html>",
        "noQuirksBodyHtml": "<p id=\"status\"><noscript><strong>A</strong></noscript><span>B</span></p>"
      }
    },
    {
      "data": "<p id=\"status\"><noscript><strong>A</strong></noscript><span>B</span></p>",
      "errors": [
        "(1,15): expected-doctype-but-got-start-tag"
      ],
      "script": "off",
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "p": true,
            "noscript": true,
            "strong": true,
            "span": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "p",
                    "attrs": [
                      {
                        "name": "id",
                        "value": "status"
                      }
                    ],
                    "children": [
                      {
                        "tag": "noscript",
                        "children": [
                          {
                            "tag": "strong",
                            "children": [
                              {
                                "text": "A"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "tag": "span",
                        "children": [
                          {
                            "text": "B"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><p id=\"status\"><noscript><strong>A</strong></noscript><span>B</span></p></body></html>",
        "noQuirksBodyHtml": "<p id=\"status\"><noscript><strong>A</strong></noscript><span>B</span></p>"
      }
    },
    {
      "data": "<div><sarcasm><div></div></sarcasm></div>",
      "errors": [
        "(1,5): expected-doctype-but-got-start-tag"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "div": true,
            "sarcasm": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "div",
                    "children": [
                      {
                        "tag": "sarcasm",
                        "children": [
                          {
                            "tag": "div"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><div><sarcasm><div></div></sarcasm></div></body></html>",
        "noQuirksBodyHtml": "<div><sarcasm><div></div></sarcasm></div>"
      }
    },
    {
      "data": "<html><body><img src=\"\" border=\"0\" alt=\"><div>A</div></body></html>",
      "errors": [
        "(1,6): expected-doctype-but-got-start-tag",
        "(1,67): eof-in-attribute-value-double-quote"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body"
              }
            ]
          }
        ],
        "html": "<html><head></head><body></body></html>",
        "noQuirksBodyHtml": ""
      }
    },
    {
      "data": "<table><td></tbody>A",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,11): unexpected-cell-in-table-body",
        "(1,20): foster-parenting-character",
        "(1,20): eof-in-table"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "text": "A"
                  },
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body>A<table><tbody><tr><td></td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "A<table><tbody><tr><td></td></tr></tbody></table>"
      }
    },
    {
      "data": "<table><td></thead>A",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,11): unexpected-cell-in-table-body",
        "(1,19): XXX-undefined-error",
        "(1,20): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "text": "A"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><tr><td>A</td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td>A</td></tr></tbody></table>"
      }
    },
    {
      "data": "<table><td></tfoot>A",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,11): unexpected-cell-in-table-body",
        "(1,19): XXX-undefined-error",
        "(1,20): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "tbody": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "tbody",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "text": "A"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><tbody><tr><td>A</td></tr></tbody></table></body></html>",
        "noQuirksBodyHtml": "<table><tbody><tr><td>A</td></tr></tbody></table>"
      }
    },
    {
      "data": "<table><thead><td></tbody>A",
      "errors": [
        "(1,7): expected-doctype-but-got-start-tag",
        "(1,18): unexpected-cell-in-table-body",
        "(1,26): XXX-undefined-error",
        "(1,27): expected-closing-tag-but-got-eof"
      ],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "table": true,
            "thead": true,
            "tr": true,
            "td": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "table",
                    "children": [
                      {
                        "tag": "thead",
                        "children": [
                          {
                            "tag": "tr",
                            "children": [
                              {
                                "tag": "td",
                                "children": [
                                  {
                                    "text": "A"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><table><thead><tr><td>A</td></tr></thead></table></body></html>",
        "noQuirksBodyHtml": "<table><thead><tr><td>A</td></tr></thead></table>"
      }
    },
    {
      "data": "<legend>test</legend>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "legend": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "legend",
                    "children": [
                      {
                        "text": "test"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><legend>test</legend></body></html>",
        "noQuirksBodyHtml": "<legend>test</legend>"
      }
    },
    {
      "data": "<table><input>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "input": true,
            "table": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "input"
                  },
                  {
                    "tag": "table"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><input><table></table></body></html>",
        "noQuirksBodyHtml": "<input><table></table>"
      }
    },
    {
      "data": "<b><em><foo><foo><aside></b>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "em": true,
            "foo": true,
            "aside": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "em",
                        "children": [
                          {
                            "tag": "foo",
                            "children": [
                              {
                                "tag": "foo"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "em",
                    "children": [
                      {
                        "tag": "aside",
                        "children": [
                          {
                            "tag": "b"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><b><em><foo><foo></foo></foo></em></b><em><aside><b></b></aside></em></body></html>",
        "noQuirksBodyHtml": "<b><em><foo><foo></foo></foo></em></b><em><aside><b></b></aside></em>"
      }
    },
    {
      "data": "<b><em><foo><foo><aside></b></em>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "em": true,
            "foo": true,
            "aside": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "em",
                        "children": [
                          {
                            "tag": "foo",
                            "children": [
                              {
                                "tag": "foo"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "em"
                  },
                  {
                    "tag": "aside",
                    "children": [
                      {
                        "tag": "em",
                        "children": [
                          {
                            "tag": "b"
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><b><em><foo><foo></foo></foo></em></b><em></em><aside><em><b></b></em></aside></body></html>",
        "noQuirksBodyHtml": "<b><em><foo><foo></foo></foo></em></b><em></em><aside><em><b></b></em></aside>"
      }
    },
    {
      "data": "<b><em><foo><foo><foo><aside></b>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "em": true,
            "foo": true,
            "aside": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "em",
                        "children": [
                          {
                            "tag": "foo",
                            "children": [
                              {
                                "tag": "foo",
                                "children": [
                                  {
                                    "tag": "foo"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "aside",
                    "children": [
                      {
                        "tag": "b"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><b><em><foo><foo><foo></foo></foo></foo></em></b><aside><b></b></aside></body></html>",
        "noQuirksBodyHtml": "<b><em><foo><foo><foo></foo></foo></foo></em></b><aside><b></b></aside>"
      }
    },
    {
      "data": "<b><em><foo><foo><foo><aside></b></em>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "b": true,
            "em": true,
            "foo": true,
            "aside": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "b",
                    "children": [
                      {
                        "tag": "em",
                        "children": [
                          {
                            "tag": "foo",
                            "children": [
                              {
                                "tag": "foo",
                                "children": [
                                  {
                                    "tag": "foo"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "tag": "aside",
                    "children": [
                      {
                        "tag": "b"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><b><em><foo><foo><foo></foo></foo></foo></em></b><aside><b></b></aside></body></html>",
        "noQuirksBodyHtml": "<b><em><foo><foo><foo></foo></foo></foo></em></b><aside><b></b></aside>"
      }
    },
    {
      "data": "<b><em><foo><foo><foo><foo><foo><foo><foo><foo><foo><foo><aside></b></em>",
      "errors": [],
      "fragment": {
        "name": "div"
      },
      "document": {
        "props": {
          "tags": {
            "b": true,
            "em": true,
            "foo": true,
            "aside": true
          }
        },
        "tree": [
          {
            "tag": "b",
            "children": [
              {
                "tag": "em",
                "children": [
                  {
                    "tag": "foo",
                    "children": [
                      {
                        "tag": "foo",
                        "children": [
                          {
                            "tag": "foo",
                            "children": [
                              {
                                "tag": "foo",
                                "children": [
                                  {
                                    "tag": "foo",
                                    "children": [
                                      {
                                        "tag": "foo",
                                        "children": [
                                          {
                                            "tag": "foo",
                                            "children": [
                                              {
                                                "tag": "foo",
                                                "children": [
                                                  {
                                                    "tag": "foo",
                                                    "children": [
                                                      {
                                                        "tag": "foo"
                                                      }
                                                    ]
                                                  }
                                                ]
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          },
          {
            "tag": "aside",
            "children": [
              {
                "tag": "b"
              }
            ]
          }
        ],
        "html": "<b><em><foo><foo><foo><foo><foo><foo><foo><foo><foo><foo></foo></foo></foo></foo></foo></foo></foo></foo></foo></foo></em></b><aside><b></b></aside>",
        "noQuirksBodyHtml": "<b><em><foo><foo><foo><foo><foo><foo><foo><foo><foo><foo></foo></foo></foo></foo></foo></foo></foo></foo></foo></foo></em></b><aside><b></b></aside>"
      }
    },
    {
      "data": "<b><em><foo><foob><foob><foob><foob><fooc><fooc><fooc><fooc><food><aside></b></em>",
      "errors": [],
      "fragment": {
        "name": "div"
      },
      "document": {
        "props": {
          "tags": {
            "b": true,
            "em": true,
            "foo": true,
            "foob": true,
            "fooc": true,
            "food": true,
            "aside": true
          }
        },
        "tree": [
          {
            "tag": "b",
            "children": [
              {
                "tag": "em",
                "children": [
                  {
                    "tag": "foo",
                    "children": [
                      {
                        "tag": "foob",
                        "children": [
                          {
                            "tag": "foob",
                            "children": [
                              {
                                "tag": "foob",
                                "children": [
                                  {
                                    "tag": "foob",
                                    "children": [
                                      {
                                        "tag": "fooc",
                                        "children": [
                                          {
                                            "tag": "fooc",
                                            "children": [
                                              {
                                                "tag": "fooc",
                                                "children": [
                                                  {
                                                    "tag": "fooc",
                                                    "children": [
                                                      {
                                                        "tag": "food"
                                                      }
                                                    ]
                                                  }
                                                ]
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          },
          {
            "tag": "aside",
            "children": [
              {
                "tag": "b"
              }
            ]
          }
        ],
        "html": "<b><em><foo><foob><foob><foob><foob><fooc><fooc><fooc><fooc><food></food></fooc></fooc></fooc></fooc></foob></foob></foob></foob></foo></em></b><aside><b></b></aside>",
        "noQuirksBodyHtml": "<b><em><foo><foob><foob><foob><foob><fooc><fooc><fooc><fooc><food></food></fooc></fooc></fooc></fooc></foob></foob></foob></foob></foo></em></b><aside><b></b></aside>"
      }
    },
    {
      "data": "<option><XH<optgroup></optgroup>",
      "errors": [],
      "fragment": {
        "name": "select"
      },
      "document": {
        "props": {
          "tags": {
            "option": true
          }
        },
        "tree": [
          {
            "tag": "option"
          }
        ],
        "html": "<option></option>",
        "noQuirksBodyHtml": "<option><xh<optgroup></xh<optgroup></option>"
      }
    },
    {
      "data": "<svg><foreignObject><div>foo</div><plaintext></foreignObject></svg><div>bar</div>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg foreignObject": true,
            "div": true,
            "plaintext": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "foreignObject",
                        "ns": "http://www.w3.org/2000/svg",
                        "children": [
                          {
                            "tag": "div",
                            "children": [
                              {
                                "text": "foo"
                              }
                            ]
                          },
                          {
                            "tag": "plaintext",
                            "children": [
                              {
                                "text": "</foreignObject></svg><div>bar</div>",
                                "no_escape": true
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg><foreignObject><div>foo</div><plaintext></foreignObject></svg><div>bar</div></plaintext></foreignObject></svg></body></html>",
        "noQuirksBodyHtml": "<svg><foreignObject><div>foo</div><plaintext></foreignObject></svg><div>bar</div></plaintext></foreignObject></svg>"
      }
    },
    {
      "data": "<svg><foreignObject></foreignObject><title></svg>foo",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "svg svg": true,
            "svg foreignObject": true,
            "svg title": true
          }
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "svg",
                    "ns": "http://www.w3.org/2000/svg",
                    "children": [
                      {
                        "tag": "foreignObject",
                        "ns": "http://www.w3.org/2000/svg"
                      },
                      {
                        "tag": "title",
                        "ns": "http://www.w3.org/2000/svg"
                      }
                    ]
                  },
                  {
                    "text": "foo"
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><svg><foreignObject></foreignObject><title></title></svg>foo</body></html>",
        "noQuirksBodyHtml": "<svg><foreignObject></foreignObject><title></title></svg>foo"
      }
    },
    {
      "data": "</foreignObject><plaintext><div>foo</div>",
      "errors": [],
      "document": {
        "props": {
          "tags": {
            "html": true,
            "head": true,
            "body": true,
            "plaintext": true
          },
          "no_escape": true
        },
        "tree": [
          {
            "tag": "html",
            "children": [
              {
                "tag": "head"
              },
              {
                "tag": "body",
                "children": [
                  {
                    "tag": "plaintext",
                    "children": [
                      {
                        "text": "<div>foo</div>",
                        "no_escape": true
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "html": "<html><head></head><body><plaintext><div>foo</div></plaintext></body></html>",
        "noQuirksBodyHtml": "<plaintext><div>foo</div></plaintext>"
      }
    }
  ]
}

Zerion Mini Shell 1.0