To manually test, drag 'Drag Me' to 'Drop Here' and drop. Several lines that say 'PASS' should appear below. Drag Me Drop Here Drag handler: Legacy DataTransferItemList Drop handler: Legacy DataTransferItemList Tests drag'n drop and well as DataTransferItemList On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". Running test with Legacy drag handler and Legacy drop handler PASS testDataTransfer.types.length is 4 PASS testDataTransfer.types.indexOf("text/plain") >= 0 is true PASS testDataTransfer.types.indexOf("text/uri-list") >= 0 is true PASS testDataTransfer.types.indexOf("text/html") >= 0 is true PASS testDataTransfer.types.indexOf("custom-data") >= 0 is true PASS testDataTransfer.getData("text") is "sample" PASS testDataTransfer.getData("url") is "http://www.google.com/" PASS testDataTransfer.getData("text/html") is "Markup" PASS testDataTransfer.getData("custom-data") is "hello world" Running test with Legacy drag handler and DataTransferItemList drop handler PASS testDataTransfer.items.length is 4 PASS testDataTransfer.items.add("test", "text/plain") is null PASS testDataTransfer.items.length is 4 PASS JSON.stringify(expectedTypes) is JSON.stringify(types) PASS testData is expectedTestData PASS testData is expectedTestData PASS testData is expectedTestData PASS testData is expectedTestData Running test with DataTransferItemList drag handler and Legacy drop handler PASS testDataTransfer.items.add() threw exception TypeError: Failed to execute 'add' on 'DataTransferItemList': 1 argument required, but only 0 present.. PASS testDataTransfer.items.add(undefined) threw exception TypeError: Failed to execute 'add' on 'DataTransferItemList': parameter 1 is not of type 'File'.. PASS testDataTransfer.items.add("sample") threw exception TypeError: Failed to execute 'add' on 'DataTransferItemList': parameter 1 is not of type 'File'.. PASS testDataTransfer.items.add(null) threw exception TypeError: Failed to execute 'add' on 'DataTransferItemList': parameter 1 is not of type 'File'.. PASS testItem.kind is "string" PASS testItem.type is "text/plain" PASS testItem.kind is "string" PASS testItem.type is "text/uri-list" PASS testItem.kind is "string" PASS testItem.type is "text/html" PASS testItem.kind is "string" PASS testItem.type is "custom-data" PASS testDataTransfer.types.length is 4 PASS testDataTransfer.types.indexOf("text/plain") >= 0 is true PASS testDataTransfer.types.indexOf("text/uri-list") >= 0 is true PASS testDataTransfer.types.indexOf("text/html") >= 0 is true PASS testDataTransfer.types.indexOf("custom-data") >= 0 is true PASS testDataTransfer.getData("text") is "sample" PASS testDataTransfer.getData("url") is "http://www.google.com/" PASS testDataTransfer.getData("text/html") is "Markup" PASS testDataTransfer.getData("custom-data") is "hello world" Running test with DataTransferItemList drag handler and DataTransferItemList drop handler PASS testDataTransfer.items.add() threw exception TypeError: Failed to execute 'add' on 'DataTransferItemList': 1 argument required, but only 0 present.. PASS testDataTransfer.items.add(undefined) threw exception TypeError: Failed to execute 'add' on 'DataTransferItemList': parameter 1 is not of type 'File'.. PASS testDataTransfer.items.add("sample") threw exception TypeError: Failed to execute 'add' on 'DataTransferItemList': parameter 1 is not of type 'File'.. PASS testDataTransfer.items.add(null) threw exception TypeError: Failed to execute 'add' on 'DataTransferItemList': parameter 1 is not of type 'File'.. PASS testItem.kind is "string" PASS testItem.type is "text/plain" PASS testItem.kind is "string" PASS testItem.type is "text/uri-list" PASS testItem.kind is "string" PASS testItem.type is "text/html" PASS testItem.kind is "string" PASS testItem.type is "custom-data" PASS testDataTransfer.items.length is 4 PASS testDataTransfer.items.add("test", "text/plain") is null PASS testDataTransfer.items.length is 4 PASS JSON.stringify(expectedTypes) is JSON.stringify(types) PASS testData is expectedTestData PASS testData is expectedTestData PASS testData is expectedTestData PASS testData is expectedTestData PASS successfullyParsed is true TEST COMPLETE