blob: 6d8ab313278e9bb74a93d09eb10de2a492847d2c [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/js-test.js"></script>
<script src="../../editing.js"></script>
</head>
<body>
<div id="dropzone" style="width: 200px; height: 200px; background-color: grey;"></div>
<script>
description("Basic test coverage for dataTransferItem.webkitGetAsEntry()");
jsTestIsAsync = true;
var dropzone = document.getElementById('dropzone');
dropzone.ondrop = function(e) {
e.preventDefault();
dataTransfer = e.dataTransfer;
shouldBe("dataTransfer.items.length", "2");
firstDataTransferItem = dataTransfer.items[0];
shouldBeEqualToString("firstDataTransferItem.kind", "file");
shouldBeEqualToString("firstDataTransferItem.type", "text/plain");
firstFile = firstDataTransferItem.getAsFile();
shouldBeEqualToString("firstFile.name", "test.txt");
shouldBe("firstFile.size", "5");
shouldBeEqualToString("firstFile.type", "text/plain");
firstEntry = firstDataTransferItem.webkitGetAsEntry();
shouldBeFalse("firstEntry.isDirectory");
shouldBeTrue("firstEntry.isFile");
shouldBeEqualToString("firstEntry.name", "test.txt");
shouldBeEqualToString("firstEntry.fullPath", "/test.txt");
// Second item.
secondDataTransferItem = dataTransfer.items[1];
shouldBeEqualToString("secondDataTransferItem.kind", "file");
shouldBeEqualToString("secondDataTransferItem.type", "");
secondFile = secondDataTransferItem.getAsFile();
shouldBeEqualToString("secondFile.name", "testFiles");
shouldBeOneOfValues("secondFile.size", [0, 272, 256]); // Chrome returns folder size, Firefox returns 0. 256 in APFS, 272 in HFS+
shouldBeEqualToString("secondFile.type", "");
secondEntry = secondDataTransferItem.webkitGetAsEntry();
shouldBeTrue("secondEntry.isDirectory");
shouldBeFalse("secondEntry.isFile");
shouldBeEqualToString("secondEntry.name", "testFiles");
shouldBeEqualToString("secondEntry.fullPath", "/testFiles");
fileSystemRoot = secondEntry.filesystem.root;
shouldBeTrue("fileSystemRoot.isDirectory");
shouldBeFalse("fileSystemRoot.isFile");
shouldBeEqualToString("fileSystemRoot.name", "");
shouldBeEqualToString("fileSystemRoot.fullPath", "/");
finishJSTest();
};
dropzone.ondragover = function(ev) {
ev.preventDefault();
}
onload = function() {
dragFilesOntoElement(dropzone, ['../../../fast/forms/resources/test.txt', '../../../fast/forms/file/entries-api/resources/testFiles']);
}
</script>
</body>
</html>