{
    "tests": [
        {
            "fragmentContext": null,
            "description": "FOO<!-- BAR -->BAZ",
            "input": "FOO<!-- BAR -->BAZ",
            "output": [
                [
                    "Character",
                    "FOO"
                ],
                [
                    "Comment",
                    " BAR "
                ],
                [
                    "Character",
                    "BAZ"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO<!-- BAR --!>BAZ",
            "input": "FOO<!-- BAR --!>BAZ",
            "output": [
                [
                    "Character",
                    "FOO"
                ],
                [
                    "Comment",
                    " BAR "
                ],
                [
                    "Character",
                    "BAZ"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO<!-- BAR --! >BAZ",
            "input": "FOO<!-- BAR --! >BAZ",
            "output": [
                [
                    "Character",
                    "FOO"
                ],
                [
                    "Comment",
                    " BAR --! >BAZ"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO<!-- BAR --!\\n>BAZ",
            "input": "FOO<!-- BAR --!\n>BAZ",
            "output": [
                [
                    "Character",
                    "FOO"
                ],
                [
                    "Comment",
                    " BAR --!\n>BAZ"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO<!-- BAR --   >BAZ",
            "input": "FOO<!-- BAR --   >BAZ",
            "output": [
                [
                    "Character",
                    "FOO"
                ],
                [
                    "Comment",
                    " BAR --   >BAZ"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO<!-- BAR -- <QUX> -- MUX -->BAZ",
            "input": "FOO<!-- BAR -- <QUX> -- MUX -->BAZ",
            "output": [
                [
                    "Character",
                    "FOO"
                ],
                [
                    "Comment",
                    " BAR -- <QUX> -- MUX "
                ],
                [
                    "Character",
                    "BAZ"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO<!-- BAR -- <QUX> -- MUX --!>BAZ",
            "input": "FOO<!-- BAR -- <QUX> -- MUX --!>BAZ",
            "output": [
                [
                    "Character",
                    "FOO"
                ],
                [
                    "Comment",
                    " BAR -- <QUX> -- MUX "
                ],
                [
                    "Character",
                    "BAZ"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO<!-- BAR -- <QUX> -- MUX -- >BAZ",
            "input": "FOO<!-- BAR -- <QUX> -- MUX -- >BAZ",
            "output": [
                [
                    "Character",
                    "FOO"
                ],
                [
                    "Comment",
                    " BAR -- <QUX> -- MUX -- >BAZ"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO<!---->BAZ",
            "input": "FOO<!---->BAZ",
            "output": [
                [
                    "Character",
                    "FOO"
                ],
                [
                    "Comment",
                    ""
                ],
                [
                    "Character",
                    "BAZ"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO<!--->BAZ",
            "input": "FOO<!--->BAZ",
            "output": [
                [
                    "Character",
                    "FOO"
                ],
                [
                    "Comment",
                    ""
                ],
                [
                    "Character",
                    "BAZ"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO<!-->BAZ",
            "input": "FOO<!-->BAZ",
            "output": [
                [
                    "Character",
                    "FOO"
                ],
                [
                    "Comment",
                    ""
                ],
                [
                    "Character",
                    "BAZ"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<?xml version=\"1.0\">Hi",
            "input": "<?xml version=\"1.0\">Hi",
            "output": [
                [
                    "Comment",
                    "?xml version=\"1.0\""
                ],
                [
                    "Character",
                    "Hi"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<?xml version=\"1.0\">",
            "input": "<?xml version=\"1.0\">",
            "output": [
                [
                    "Comment",
                    "?xml version=\"1.0\""
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<?xml version",
            "input": "<?xml version",
            "output": [
                [
                    "Comment",
                    "?xml version"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "FOO<!----->BAZ",
            "input": "FOO<!----->BAZ",
            "output": [
                [
                    "Character",
                    "FOO"
                ],
                [
                    "Comment",
                    "-"
                ],
                [
                    "Character",
                    "BAZ"
                ]
            ]
        },
        {
            "fragmentContext": null,
            "description": "<html><!-- comment --><title>Comment before head</title>",
            "input": "<html><!-- comment --><title>Comment before head</title>",
            "output": [
                [
                    "StartTag",
                    "html",
                    {}
                ],
                [
                    "Comment",
                    " comment "
                ],
                [
                    "StartTag",
                    "title",
                    {}
                ],
                [
                    "Character",
                    "Comment before head"
                ],
                [
                    "EndTag",
                    "title"
                ]
            ]
        }
    ]
}