<!DOCTYPE html>
<html>
<head>
<script src="../../resources/js-test.js"></script>
<script>
var testDataTransfer;
function copy(event)
{
event.preventDefault();
testDataTransfer = event.clipboardData;
testDataTransfer.setData('text', 'sample');
testDataTransfer.setData('url', 'http://www.google.com/');
testDataTransfer.setData('text/html', '<em>Markup</em>');
testDataTransfer.setData('custom-data', 'hello world');
shouldNotThrow('testDataTransfer.clearData(null)'); // Gets converted to "null" string.
shouldBeEqualToString('testDataTransfer.getData("text")', 'sample');
shouldBeEqualToString('testDataTransfer.getData("url")', 'http://www.google.com/');
shouldBeEqualToString('testDataTransfer.getData("text/html")', '<em>Markup</em>');
shouldBeEqualToString('testDataTransfer.getData("custom-data")', 'hello world');
shouldNotThrow('testDataTransfer.clearData("custom-data")');
shouldBeEqualToString('testDataTransfer.getData("text")', 'sample');
shouldBeEqualToString('testDataTransfer.getData("url")', 'http://www.google.com/');
shouldBeEqualToString('testDataTransfer.getData("text/html")', '<em>Markup</em>');
shouldBeEqualToString('testDataTransfer.getData("custom-data")', '');
shouldNotThrow('testDataTransfer.clearData()');
shouldBeEqualToString('testDataTransfer.getData("text")', '');
shouldBeEqualToString('testDataTransfer.getData("url")', '');
shouldBeEqualToString('testDataTransfer.getData("text/html")', '');
shouldBeEqualToString('testDataTransfer.getData("custom-data")', '');
testDataTransfer.setData('text', 'sample');
testDataTransfer.setData('url', 'http://www.google.com/');
testDataTransfer.setData('text/html', '<em>Markup</em>');
testDataTransfer.setData('custom-data', 'hello world');
// clearData(undefined) is equivalent to clearData().
shouldNotThrow('testDataTransfer.clearData(undefined)');
shouldBeEqualToString('testDataTransfer.getData("text")', '');
shouldBeEqualToString('testDataTransfer.getData("url")', '');
shouldBeEqualToString('testDataTransfer.getData("text/html")', '');
shouldBeEqualToString('testDataTransfer.getData("custom-data")', '');
}
</script>
</head>
<body oncopy="copy(event)">
<script>
description("Tests clipboard.clearData()");
document.execCommand('copy');
</script>
</body>
</html>