Source code

Revision control

Copy as Markdown

Other Tools

<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>HTML Test: dropzone_attribute_data_item_kind_string</title>
<link rel='author' title='Intel' href='http://www.intel.com'>
<link rel='author' title='Domenic Denicola' href='mailto:d@domenic.com'>
<script src='/resources/testharness.js'></script>
<script src='/resources/testharnessreport.js'></script>
<style>
#drop {
border: 2px solid black;
width: 100px;
height: 100px;
padding: 20px;
}
#drag {
color: blue;
margin: 20px auto;
}
</style>
</head>
<body>
<div>Select and drag the blue text to rectangular box.</div>
<div id='drag' draggable>blue text</div>
<div id='drop' dropzone='copy string:text/plain'></div>
<div id='log'> </div>
<script>
var drag;
setup(function() {
drag = document.querySelector('#drag');
}, {explicit_done: true, explicit_timeout: true});
on_event(drag, 'dragstart', function(event) {
test(function() {
assert_equals(event.dataTransfer.effectAllowed, 'uninitialized');
}, 'effectAllowed should be "uninitialized"');
test(function() {
assert_equals(event.dataTransfer.types.constructor, Array, 'should be an array');
assert_true(Object.isFrozen(event.dataTransfer.types), 'should be frozen');
}, 'types should be a frozen array');
test(function() {
assert_false('contains' in event.dataTransfer.types);
assert_false('item' in event.dataTransfer.types);
}, 'types should not have any of the historical methods');
test(function() {
assert_equals(event.dataTransfer.types, event.dataTransfer.types);
}, 'types should return the same object from multiple reads (assuming no changes)');
test(function() {
var before = event.dataTransfer.types;
event.dataTransfer.clearData();
assert_not_equals(event.dataTransfer.types, before);
}, 'types should return a different object after changes');
done();
});
</script>
</body>
</html>