This tests calling setData with a HTML which looks like one generated by Microsoft Word. The HTML should be sanitized in another document

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS htmlReadInSameDocument is "<html xmlns:o=\"urn:schemas-microsoft-com:office:office\"\nxmlns:w=\"urn:schemas-microsoft-com:office:word\"\nxmlns:m=\"http://schemas.microsoft.com/office/2004/12/omml\"\nxmlns=\"http://www.w3.org/TR/REC-html40\">\n\n<head>\n<style>\n<!--\n /* Font Definitions */\n\n /* List Definitions */\n@list l0\n    {mso-list-id:1325861647;\n    mso-list-type:hybrid;\n    mso-list-template-ids:-1195895068 67698689 -655347914 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}\n\nol\n    {margin-bottom:0in;}\nul\n    {margin-bottom:0in;}\n-->\n</style>\n</head>\n\n<p class=MsoListParagraphCxSpFirst style='text-indent:-.25in;mso-list:l0 level1 lfo1'><span\nstyle='mso-bookmark:OLE_LINK1'><span style='mso-bookmark:OLE_LINK2'><![if !supportLists]><span\nstyle='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:\nSymbol'><span style='mso-list:Ignore'>Ã‚Â·<span style='font:7.0pt \"Times New Roman\"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n</span></span></span><![endif]>world<o:p></o:p></span></span></p>\n"
PASS JSON.stringify(typesInSameDocument) is "[\"text/html\"]"
PASS JSON.stringify(itemsInSameDocument) is "[{\"kind\":\"string\",\"type\":\"text/html\"}]"
PASS html = event.clipboardData.getData("text/html"); html.includes("/* List Definitions */") is false
PASS html.includes("[if !supportLists]") is false
PASS html.includes("[endif]") is false
PASS html.includes("mso-list:") is false
PASS successfullyParsed is true

TEST COMPLETE

