This test verify dragging an image in the page keeps its attributes. To test manually, drag the image and drop it in the rect with a blue border.

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




PASS target.getElementsByTagName("input").length is 1
PASS target.getElementsByTagName("input")[0].attributes.length is 6
PASS target.getElementsByTagName("input")[0].id is "source"
PASS target.getElementsByTagName("input")[0].type is "image"
PASS target.getElementsByTagName("input")[0].draggable is true
PASS target.getElementsByTagName("input")[0].attributes["itemprop"].value is "somedata"
PASS target.getElementsByTagName("input")[0].attributes["arbitrary"].value is "green"
PASS successfullyParsed is true

TEST COMPLETE

