<?xml version="1.0" encoding="utf-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>dataTransfer.types during SVG image drag and drop</title>
<style type="text/css">
div
	{height:100px;
	width:100px;
	padding:20px;
	background-color:silver;}
</style>
<script type="application/ecmascript">
<![CDATA[
var dataTypes = ['text/uri-list', 'text/plain', 'application/xml', 'application/xhtml+xml', 'application/mathml+xml', 'image/svg+xml', 'text/html', 'text/x-example'],
data = ['data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20version%3D%221.1%22%20width%3D%22100px%22%20height%3D%22100px%22%20viewBox%3D%220%200%20100%20100%22%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2250%22%20fill%3D%22green%22/%3E%3C/svg%3E', 'PASS', '<result>PASS</result>', '<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Data store item</title></head><body><p>PASS</p></body></html>', '<math xmlns="http://www.w3.org/1998/Math/MathML"><mn>1</mn></math>', '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="100px" height="50px" viewBox="0 0 100 50"><text x="0" y="40" font-size="40" fill="green">PASS</text></svg>', '<!DOCTYPE html><html><head><title>Data store item</title></head><body><p>PASS</p></body></html>', 'PASS'],
e = 0, result = true;
function start(event)
	{event.dataTransfer.effectAllowed = 'copy';
	for(var i = event.dataTransfer.items.length; i != 0; i--)
		{delete event.dataTransfer.items[i-1]}
	for(var i = 0; i != dataTypes.length; i++)
		{event.dataTransfer.items.add(data[i],dataTypes[i])}
	if(event.dataTransfer.items.length != dataTypes.length)
			{say('items.length (ondragstart) : FAIL (items.length should be' + dataTypes.length + ')')}
	if(event.dataTransfer.types.length != dataTypes.length)
			{say('types.length (ondragstart) : FAIL (items.length should be' + dataTypes.length + ')')}
	for(var i = 0; i != dataTypes.length; i++)
		{if(event.dataTransfer.getData(dataTypes[i]) != data[i])
			{say('getData (ondragstart): FAIL (getData(' + dataTypes[i] + ') returns wrong data)')}
		if(event.dataTransfer.types[i] != dataTypes[i])
			{say('Types (ondragstart): FAIL (dataTransfer.types[' + i + '] returns wrong value)')}
		}
	for(var i = 0; i != event.dataTransfer.items.length; i++)
		{if(event.dataTransfer.items[i].kind != 'string')
			{say('Item kind (ondragstart): FAIL (items[' + i + '].kind should be string)')}
		if(event.dataTransfer.items[i].type != dataTypes[i])
			{say('Item type (ondragstart): FAIL (items[' + i + '].type should be' + dataTypes[i] + ')')}
		event.dataTransfer.items[i].getAsString(
			function ()
				{if(arguments[0] != data[e++])
					{say('getAsString : FAIL (items[' + i + '].getAsString should pass' + data[e] + ')')}
				}
			);
		}
	}
function dragElement(event)
	{event.dataTransfer.items.clear();
	if(event.dataTransfer.items.length != dataTypes.length)
		{say('items.length (ondrag) : FAIL (items.length should be' + dataTypes.length + ')')}
	if(event.dataTransfer.types.length != dataTypes.length)
			{say('types.length (ondrag) : FAIL (items.length should be' + dataTypes.length + ')')}
	for(var i = 0; i != dataTypes.length; i++)
		{if(event.dataTransfer.types[i] != dataTypes[i])
			{say('Types (ondrag): FAIL (dataTransfer.types[' + i + '] returns wrong value)')}
		}
	for(var i = 0; i != event.dataTransfer.items.length; i++)
		{if(event.dataTransfer.items[i].kind != 'string')
			{say('Item kind (ondrag): FAIL (items[' + i + '].kind should be string)')}
		if(event.dataTransfer.items[i].type != dataTypes[i])
			{say('Item type (ondrag): FAIL (items[' + i + '].type should be' + dataTypes[i] + ')')}
		event.dataTransfer.items[i].getAsString(
			function ()
				{if(arguments[0])
					{say('getAsString : FAIL (items[' + i + '].getAsString should not reveal data to drag event handler)')}
				}
			);
		}
	}
function enterElement(event)
	{event.preventDefault();
	event.dataTransfer.items.clear();
	if(event.dataTransfer.items.length != dataTypes.length)
		{say('items.length (ondragenter) : FAIL (items.length should be' + dataTypes.length + ')')}
	if(event.dataTransfer.types.length != dataTypes.length)
			{say('types.length (ondragenter) : FAIL (items.length should be' + dataTypes.length + ')')}
	for(var i = 0; i != dataTypes.length; i++)
		{if(event.dataTransfer.types[i] != dataTypes[i])
			{say('Types (ondragenter): FAIL (dataTransfer.types[' + i + '] returns wrong value)')}
		}
	for(var i = 0; i != event.dataTransfer.items.length; i++)
		{delete event.dataTransfer.items[i];
		if(event.dataTransfer.items[i].kind != 'string')
			{say('Item kind (ondragenter): FAIL (items[' + i + '].kind should be string)')}
		if(event.dataTransfer.items[i].type != dataTypes[i])
			{say('Item type (ondragenter): FAIL (items[' + i + '].type should be' + dataTypes[i] + ')')}
		event.dataTransfer.items[i].getAsString(
			function ()
				{if(arguments[0])
					{say('getAsString : FAIL (items[' + i + '].getAsString should not reveal data to drag event handler)')}
				}
			);
		}
	}
function overElement(event)
	{event.preventDefault();
	event.dataTransfer.items.clear();
	if(event.dataTransfer.items.length != dataTypes.length)
		{say('items.length (ondragover) : FAIL (items.length should be' + dataTypes.length + ')')}
	if(event.dataTransfer.types.length != dataTypes.length)
			{say('types.length (ondragover) : FAIL (items.length should be' + dataTypes.length + ')')}
	for(var i = 0; i != dataTypes.length; i++)
		{if(event.dataTransfer.types[i] != dataTypes[i])
			{say('Types (ondragover): FAIL (dataTransfer.types[' + i + '] returns wrong value)')}
		}
	for(var i = 0; i != event.dataTransfer.items.length; i++)
		{if(event.dataTransfer.items[i].kind != 'string')
			{say('Item kind (ondragover): FAIL (items[' + i + '].kind should be string)')}
		if(event.dataTransfer.items[i].type != dataTypes[i])
			{say('Item type (ondragover): FAIL (items[' + i + '].type should be' + dataTypes[i] + ')')}
		event.dataTransfer.items[i].getAsString(
			function ()
				{if(arguments[0])
					{say('getAsString : FAIL (items[' + i + '].getAsString should not reveal data to dragover event handler)')}
				}
			);
		}
	}
function dataDrop(event)
	{e = 0;
	event.dataTransfer.items.clear();
	if(event.dataTransfer.items.length != dataTypes.length)
			{say('items.length (ondrop) : FAIL (items.length should be' + dataTypes.length + ')')}
	if(event.dataTransfer.types.length != dataTypes.length)
			{say('types.length (ondrop) : FAIL (items.length should be' + dataTypes.length + ')')}
	for(var i = 0; i != dataTypes.length; i++)
		{if(event.dataTransfer.types[i] != dataTypes[i])
			{say('Types (ondrop): FAIL (dataTransfer.types[' + i + '] returns wrong value)')}
		if(event.dataTransfer.getData(dataTypes[i]) != data[i])
			{say('getData (ondrop): FAIL (getData(' + dataTypes[i] + ') returns wrong data)')}
		}
	for(var i = 0; i != event.dataTransfer.items.length; i++)
		{delete event.dataTransfer.items[i];
		if(event.dataTransfer.items[i].kind != 'string')
			{say('Item kind (ondrop): FAIL (items[' + i + '].kind should be string)')}
		if(event.dataTransfer.items[i].type != dataTypes[i])
			{say('Item type (ondrop): FAIL (items[' + i + '].type should be' + dataTypes[i] + ')')}
		event.dataTransfer.items[i].getAsString(
			function ()
				{if(arguments[0] != data[e++])
					{say('getAsString : FAIL (items[' + i + '].getAsString should pass' + data[e] + ')')}
				}
			);
		}
	document.querySelector('div').setAttribute('style','background-color:' + (result?'green':'red'));}
function say(it)
	{result = false;
	document.querySelector('pre').appendChild(document.createTextNode(it + '\n'));}
]]>
</script>
</head>
<body>
<p><img ondragstart="start(event)" ondrag="dragElement(event)" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20version%3D%221.1%22%20width%3D%22100px%22%20height%3D%22100px%22%20viewBox%3D%220%200%20100%20100%22%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2250%22%20fill%3D%22green%22/%3E%3C/svg%3E" alt="SVG circle"/></p>
<p>Drag circle above to the silver box below and drop it. Silver box should turn green.</p>
<div ondragenter="enterElement(event)" ondragover="overElement(event)" ondrop="dataDrop(event)"/>
<pre/>
</body>
</html>