diff options
Diffstat (limited to 'dom/downloads/tests/test_downloads_basic.html')
-rw-r--r-- | dom/downloads/tests/test_downloads_basic.html | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/dom/downloads/tests/test_downloads_basic.html b/dom/downloads/tests/test_downloads_basic.html deleted file mode 100644 index 051a1faa1..000000000 --- a/dom/downloads/tests/test_downloads_basic.html +++ /dev/null @@ -1,128 +0,0 @@ -<!DOCTYPE html> -<html> -<!-- -https://bugzilla.mozilla.org/show_bug.cgi?id=938023 ---> -<head> - <title>Test for Bug 938023 Downloads API</title> - <script type="text/javascript" src="/MochiKit/MochiKit.js"></script> - <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> - <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> -</head> -<body> - -<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=938023">Mozilla Bug 938023</a> -<p id="display"></p> -<div id="content" style="display: none"> -</div> -<a href="serve_file.sjs?contentType=application/octet-stream&size=1024" download="test.bin" id="download1">Download #1</a> -<pre id="test"> -<script class="testbody" type="text/javascript;version=1.7"> - -// Testing a simple download, waiting for it to be done. - -SimpleTest.waitForExplicitFinish(); - -var index = -1; -var todayDate = new Date(); -var baseServeURL = "http://mochi.test:8888/tests/dom/downloads/tests/"; -var lastKnownCurrentBytes = 0; - -function next() { - index += 1; - if (index >= steps.length) { - ok(false, "Shouldn't get here!"); - return; - } - try { - steps[index](); - } catch(ex) { - ok(false, "Caught exception", ex); - } -} - -function checkConsistentDownloadAttributes(download) { - var href = document.getElementById("download1").getAttribute("href"); - var expectedServeURL = baseServeURL + href; - var destinationRegEx = /test\(?[0-9]*\)?\.bin$/; - - // bug 945323: Download path isn't honoring download attribute - ok(destinationRegEx.test(download.path), - "Download path '" + download.path + - "' should match '" + destinationRegEx + "' regexp."); - - ok(download.startTime >= todayDate, - "Download start time should be greater than or equal to today"); - - is(download.error, null, "Download does not have an error"); - - is(download.url, expectedServeURL, - "Download URL = " + expectedServeURL); - ok(download.id !== null, "Download id is defined"); - is(download.contentType, "application/octet-stream", - "Download content type is application/octet-stream"); -} - -function downloadChange(evt) { - var download = evt.download; - checkConsistentDownloadAttributes(download); - is(download.totalBytes, 1024, "Download total size is 1024 bytes"); - - if (download.state === "succeeded") { - is(download.currentBytes, 1024, "Download current size is 1024 bytes"); - SimpleTest.finish(); - } else if (download.state === "downloading") { - // Note that this case may or may not trigger, depending on whether the - // download is initially reported with 0 bytes (we should happen) or with - // 1024 bytes (we should not happen). If we do happen, an additional 8 - // TEST-PASS events should be logged. - ok(download.currentBytes > lastKnownCurrentBytes, - "Download current size is larger than last download change event"); - lastKnownCurrentBytes = download.currentBytes; - } else { - ok(false, "Unexpected download state = " + download.state); - } -} - -function downloadStart(evt) { - var download = evt.download; - checkConsistentDownloadAttributes(download); - - // We used to check that the currentBytes was 0. This was incorrect. It - // is very common to first hear about the download already at 1024 bytes. - is(download.state, "downloading", "Download state is downloading"); - - download.onstatechange = downloadChange; -} - -var steps = [ - // Start by setting the pref to true. - function() { - SpecialPowers.pushPrefEnv({ - set: [["dom.mozDownloads.enabled", true]] - }, next); - }, - - // Setup the event listeners. - function() { - SpecialPowers.pushPermissions([ - {type: "downloads", allow: true, context: document} - ], function() { - navigator.mozDownloadManager.ondownloadstart = downloadStart; - next(); - }); - }, - - // Click on the <a download> to start the download. - function() { - document.getElementById("download1").click(); - } -]; - -next(); - -</script> -</pre> -</body> -</html> - |