Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(64)

Unified Diff: LayoutTests/fast/events/drag-dataTransferItemList.html

Issue 22790003: Make DataTransferItemList.add(data, type) arguments mandatory (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix nits Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | LayoutTests/fast/events/drag-dataTransferItemList-expected.txt » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: LayoutTests/fast/events/drag-dataTransferItemList.html
diff --git a/LayoutTests/fast/events/drag-dataTransferItemList.html b/LayoutTests/fast/events/drag-dataTransferItemList.html
index 3ce80c9f4210eac49dc020f0ed7f2ed0a0c0b479..978b3cd1dd9d1a7d8e7df63806db9fe89b21bc36 100644
--- a/LayoutTests/fast/events/drag-dataTransferItemList.html
+++ b/LayoutTests/fast/events/drag-dataTransferItemList.html
@@ -1,6 +1,7 @@
<!DOCTYPE html>
<html>
<head>
+<script src="../js/resources/js-test-pre.js"></script>
<style>
#drag {
border: 1px solid black;
@@ -14,20 +15,6 @@
}
</style>
<script>
-function assertEq(left, right)
-{
- if (left === right)
- log('PASS: ' + left + " === " + right);
- else
- log('FAIL: ' + left + "(of type " + (typeof left) + ") !== " + right + "(of type " + (typeof right) + ")");
-}
-function log(str)
-{
- var result = document.getElementById('result');
- result.appendChild(document.createTextNode(str));
- result.appendChild(document.createElement('br'));
-}
-
function legacyDragStart(dataTransfer)
{
dataTransfer.setData('text', 'sample');
@@ -36,8 +23,12 @@ function legacyDragStart(dataTransfer)
dataTransfer.setData('custom-data', 'hello world');
}
+var testDataTransfer;
function itemListDragStart(dataTransfer)
{
+ testDataTransfer = dataTransfer;
+ shouldThrow('testDataTransfer.items.add()', '"TypeError: Not enough arguments"');
+ shouldThrow('testDataTransfer.items.add("sample")', '"TypeError: Type error"');
dataTransfer.items.add('sample', 'text/plain');
dataTransfer.items.add('http://www.google.com/', 'text/uri-list');
dataTransfer.items.add('<em>Markup</em>', 'text/html');
@@ -65,39 +56,39 @@ function dragover(event)
function legacyDrop(dataTransfer)
{
- assertEq(4, dataTransfer.types.length);
- if (dataTransfer.types.indexOf('text/plain') < 0)
- log('FAIL: types array did not contain "text"');
- if (dataTransfer.types.indexOf('text/uri-list') < 0)
- log('FAIL: types array did not contain "text/uri-list"');
- if (dataTransfer.types.indexOf('text/html') < 0)
- log('FAIL: types array did not contain "text/html"');
- if (dataTransfer.types.indexOf('custom-data') < 0)
- log('FAIL: types array did not contain "custom-data"');
- assertEq('sample', dataTransfer.getData('text'));
- assertEq('http://www.google.com/', dataTransfer.getData('url'));
- assertEq('<em>Markup</em>', dataTransfer.getData('text/html'));
- assertEq('hello world', dataTransfer.getData('custom-data'));
- runNext();
+ testDataTransfer = dataTransfer;
+ shouldBe('testDataTransfer.types.length', '4');
+ shouldBeTrue('testDataTransfer.types.indexOf("text/plain") >= 0');
+ shouldBeTrue('testDataTransfer.types.indexOf("text/uri-list") >= 0');
+ shouldBeTrue('testDataTransfer.types.indexOf("text/html") >= 0');
+ shouldBeTrue('testDataTransfer.types.indexOf("custom-data") >= 0');
+ 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');
+ setTimeout(runNext, 0);
}
var outstandingRequests;
+var types, expectedTypes;
+var testData, expectedTestData;
function itemListDrop(dataTransfer)
{
+ testDataTransfer = dataTransfer;
outstandingRequests = 0;
- assertEq(4, dataTransfer.items.length);
- var types = [];
+ shouldBe('testDataTransfer.items.length', '4');
+ types = [];
for (var i = 0; i < dataTransfer.items.length; ++i) {
types.push({kind: dataTransfer.items[i].kind, type: dataTransfer.items[i].type});
}
types.sort(function (a, b) { return a.type.localeCompare(b.type); });
- var expectedTypes = [
+ expectedTypes = [
{ kind: 'string', type: 'custom-data'},
{ kind: 'string', type: 'text/html'},
{ kind: 'string', type: 'text/plain'},
{ kind: 'string', type: 'text/uri-list'},
];
- assertEq(JSON.stringify(expectedTypes), JSON.stringify(types));
+ shouldBe('JSON.stringify(expectedTypes)', 'JSON.stringify(types)');
var expectedResults = {
'custom-data': 'hello world',
'text/html': '<em>Markup</em>',
@@ -108,9 +99,11 @@ function itemListDrop(dataTransfer)
{
++outstandingRequests;
return function (data) {
- assertEq(expectedData, data);
+ expectedTestData = expectedData;
+ testData = data;
+ shouldBe('testData', 'expectedTestData');
if (--outstandingRequests == 0)
- window.setTimeout(runNext, 0);
+ setTimeout(runNext, 0);
}
}
// We use this funky loop to make sure we always print out results in the same order.
@@ -140,7 +133,7 @@ function runTest(dragMethodIndex, dropMethodIndex)
var dropMethod = document.getElementById('dropMethod');
dragMethod.selectedIndex = dragMethodIndex;
dropMethod.selectedIndex = dropMethodIndex;
- log('Running test with ' + dragMethod.value + ' drag handler and ' + dropMethod.value + ' drop handler');
+ debug('Running test with ' + dragMethod.value + ' drag handler and ' + dropMethod.value + ' drop handler');
var dragElement = document.getElementById('drag');
eventSender.mouseMoveTo(dragElement.offsetLeft + dragElement.offsetWidth / 2,
@@ -167,17 +160,7 @@ function runNext()
if (testCase)
runTest.apply(null, testCase);
else
- testRunner.notifyDone();
-}
-
-window.onload = function()
-{
- if (!window.testRunner)
- return;
- testRunner.dumpAsText();
- testRunner.waitUntilDone();
-
- runNext();
+ finishJSTest();
}
</script>
</head>
@@ -188,6 +171,13 @@ window.onload = function()
</div>
<div>Drag handler: <select id="dragMethod"><option>Legacy</option><option>DataTransferItemList</option></select></div>
<div>Drop handler: <select id="dropMethod"><option>Legacy</option><option>DataTransferItemList</option></select></div>
-<div id="result"></div>
+<div id="console"></div>
+<script>
+description("Tests drag'n drop and well as DataTransferItemList");
+window.jsTestIsAsync = true;
+
+runNext();
+</script>
+<script src="../js/resources/js-test-post.js"></script>
</body>
</html>
« no previous file with comments | « no previous file | LayoutTests/fast/events/drag-dataTransferItemList-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698