This tests the basic functionality and properties of DataTransferItems for string data with drag and drop. This test requires DRT.

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

Dragging text in source1: Lorem ipsum
Verifying contents of DataTransferItems...
items.length: 1
items[0].kind: string
items[0].type: text/plain
PASS currentItem.getAsString() threw exception TypeError: Failed to execute 'getAsString' on 'DataTransferItem': 1 argument required, but only 0 present..
PASS currentItem.getAsString(null) did not throw exception.
PASS stringData is "Lorem ipsum"
Dragging text in source2: http://example.com
Verifying contents of DataTransferItems...
items.length: 1
items[0].kind: string
items[0].type: text/plain
PASS currentItem.getAsString() threw exception TypeError: Failed to execute 'getAsString' on 'DataTransferItem': 1 argument required, but only 0 present..
PASS currentItem.getAsString(null) did not throw exception.
PASS stringData is "http://example.com"
PASS successfullyParsed is true

TEST COMPLETE

Lorem ipsum 
Drop text here if you test this manually
