diff options
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/net/filedownloader_test.html')
-rw-r--r-- | contexts/data/lib/closure-library/closure/goog/net/filedownloader_test.html | 372 |
1 files changed, 0 insertions, 372 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/net/filedownloader_test.html b/contexts/data/lib/closure-library/closure/goog/net/filedownloader_test.html deleted file mode 100644 index f70b54a..0000000 --- a/contexts/data/lib/closure-library/closure/goog/net/filedownloader_test.html +++ /dev/null @@ -1,372 +0,0 @@ -<!DOCTYPE html> -<html> -<!-- -Copyright 2011 The Closure Library Authors. All Rights Reserved. - -Use of this source code is governed by the Apache License, Version 2.0. -See the COPYING file for details. ---> -<!-- ---> -<head> -<title>Closure Unit Tests - goog.net.FileDownloader</title> -<script src="../base.js"></script> -<script> -goog.require('goog.fs.Error.ErrorCode') -goog.require('goog.net.ErrorCode') -goog.require('goog.net.FileDownloader') -goog.require('goog.testing.fs') -goog.require('goog.testing.jsunit') -goog.require('goog.testing.net.XhrIoPool') -goog.require('goog.testing.AsyncTestCase') -goog.require('goog.testing.PropertyReplacer') -</script> -</head> -<body> -<script> - -var asyncTestCase = goog.testing.AsyncTestCase.createAndInstall(); -var xhrIoPool, xhr, fs, dir, downloader; - -function setUpPage() { - goog.testing.fs.install(new goog.testing.PropertyReplacer()); -} - -function setUp() { - xhrIoPool = new goog.testing.net.XhrIoPool(); - xhr = xhrIoPool.getXhr(); - fs = new goog.testing.fs.FileSystem(); - dir = fs.getRoot(); - downloader = new goog.net.FileDownloader(dir, xhrIoPool); -} - -function tearDown() { - goog.dispose(downloader); -} - -function testDownload() { - downloader.download('/foo/bar').addCallback(function(blob) { - var fileEntry = dir.getFileSync('`3fa/``2Ffoo`2Fbar/`bar'); - assertEquals('data', blob.toString()); - assertEquals('data', fileEntry.fileSync().toString()); - asyncTestCase.continueTesting(); - }).addErrback(function(err) { throw err; }); - - assertEquals('/foo/bar', xhr.getLastUri()); - assertEquals(goog.net.XhrIo.ResponseType.ARRAY_BUFFER, xhr.getResponseType()); - - xhr.simulateResponse(200, 'data'); - asyncTestCase.waitForAsync('testDownload'); -} - -function testGetDownloadedBlob() { - downloader.download('/foo/bar'). - addCallback(function() { - return downloader.getDownloadedBlob('/foo/bar'); - }). - addCallback(function(blob) { assertEquals('data', blob.toString()); }). - addCallback(goog.bind(asyncTestCase.continueTesting, asyncTestCase)). - addErrback(function(err) { throw err; }); - - xhr.simulateResponse(200, 'data'); - asyncTestCase.waitForAsync('testGetDownloadedBlob'); -} - -function testGetLocalUrl() { - downloader.download('/foo/bar'). - addCallback(function() { return downloader.getLocalUrl('/foo/bar'); }). - addCallback(function(url) { assertMatches(/\/`bar$/, url); }). - addCallback(goog.bind(asyncTestCase.continueTesting, asyncTestCase)). - addErrback(function(err) { throw err; }); - - xhr.simulateResponse(200, 'data'); - asyncTestCase.waitForAsync('testGetLocalUrl'); -} - -function testLocalUrlWithContentDisposition() { - downloader.download('/foo/bar'). - addCallback(function() { return downloader.getLocalUrl('/foo/bar'); }). - addCallback(function(url) { assertMatches(/\/`qux`22bap$/, url); }). - addCallback(goog.bind(asyncTestCase.continueTesting, asyncTestCase)). - addErrback(function(err) { throw err; }); - - xhr.simulateResponse( - 200, 'data', {'Content-Disposition': 'attachment; filename="qux\\"bap"'}); - asyncTestCase.waitForAsync('testGetLocalUrl'); -} - -function testIsDownloaded() { - downloader.download('/foo/bar'). - addCallback(function() { return downloader.isDownloaded('/foo/bar'); }). - addCallback(assertTrue). - addCallback(function() { return downloader.isDownloaded('/foo/baz'); }). - addCallback(assertFalse). - addCallback(goog.bind(asyncTestCase.continueTesting, asyncTestCase)). - addErrback(function(err) { throw err; }); - - xhr.simulateResponse(200, 'data'); - asyncTestCase.waitForAsync('testIsDownloaded'); -} - -function testRemove() { - downloader.download('/foo/bar'). - addCallback(function() { return downloader.remove('/foo/bar'); }). - addCallback(function() { return downloader.isDownloaded('/foo/bar'); }). - addCallback(assertFalse). - addCallback(function() { - return downloader.getDownloadedBlob('/foo/bar'); - }). - addErrback(function(err) { - assertEquals(goog.fs.Error.ErrorCode.NOT_FOUND, err.code); - var download = downloader.download('/foo/bar'); - xhr.simulateResponse(200, 'more data'); - return download; - }). - addCallback(function() { return downloader.isDownloaded('/foo/bar'); }). - addCallback(assertTrue). - addCallback(function() { - return downloader.getDownloadedBlob('/foo/bar'); - }). - addCallback(function(blob) { - assertEquals('more data', blob.toString()); - }). - addCallback(goog.bind(asyncTestCase.continueTesting, asyncTestCase)); - - xhr.simulateResponse(200, 'data'); - asyncTestCase.waitForAsync('testRemove'); -} - -function testSetBlob() { - downloader.setBlob('/foo/bar', goog.testing.fs.getBlob('data')). - addCallback(function() { return downloader.isDownloaded('/foo/bar'); }). - addCallback(assertTrue). - addCallback(function() { - return downloader.getDownloadedBlob('/foo/bar'); - }). - addCallback(function(blob) { - assertEquals('data', blob.toString()); - }). - addCallback(goog.bind(asyncTestCase.continueTesting, asyncTestCase)). - addErrback(function(err) { throw err; }); - - asyncTestCase.waitForAsync('testSetBlob'); -} - -function testSetBlobWithName() { - downloader.setBlob('/foo/bar', goog.testing.fs.getBlob('data'), 'qux'). - addCallback(function() { return downloader.getLocalUrl('/foo/bar'); }). - addCallback(function(url) { assertMatches(/\/`qux$/, url); }). - addCallback(goog.bind(asyncTestCase.continueTesting, asyncTestCase)). - addErrback(function(err) { throw err; }); - - asyncTestCase.waitForAsync('testSetBlob'); -} - -function testDownloadDuringDownload() { - var download1 = downloader.download('/foo/bar'); - var download2 = downloader.download('/foo/bar'); - - download1. - addCallback(function() { return download2; }). - addCallback(function() { - return downloader.getDownloadedBlob('/foo/bar'); - }). - addCallback(function(blob) { assertEquals('data', blob.toString()); }). - addCallback(goog.bind(asyncTestCase.continueTesting, asyncTestCase)); - - // There should only need to be one response for both downloads, since the - // second should return the same deferred as the first. - xhr.simulateResponse(200, 'data'); - asyncTestCase.waitForAsync('testDownloadeduringDownload'); -} - -function testGetDownloadedBlobDuringDownload() { - var download = downloader.download('/foo/bar'); - downloader.waitForDownload('/foo/bar').addCallback(function() { - return downloader.getDownloadedBlob('/foo/bar'); - }).addCallback(function(blob) { - assertTrue(download.hasFired()); - assertEquals('data', blob.toString()); - asyncTestCase.continueTesting(); - }); - - xhr.simulateResponse(200, 'data'); - asyncTestCase.waitForAsync('testGetDownloadedBlobDuringDownload'); -} - -function testIsDownloadedDuringDownload() { - var download = downloader.download('/foo/bar'); - downloader.waitForDownload('/foo/bar').addCallback(function() { - return downloader.isDownloaded('/foo/bar'); - }).addCallback(function(isDownloaded) { - assertTrue(download.hasFired()); - assertTrue(isDownloaded); - asyncTestCase.continueTesting(); - }); - - xhr.simulateResponse(200, 'data'); - asyncTestCase.waitForAsync('testIsDownloadedDuringDownload'); -} - -function testRemoveDuringDownload() { - var download = downloader.download('/foo/bar'); - downloader. - waitForDownload('/foo/bar'). - addCallback(function() { return downloader.remove('/foo/bar'); }). - addCallback(function() { assertTrue(download.hasFired()); }). - addCallback(function() { return downloader.isDownloaded('/foo/bar'); }). - addCallback(assertFalse). - addCallback(goog.bind(asyncTestCase.continueTesting, asyncTestCase)); - - xhr.simulateResponse(200, 'data'); - asyncTestCase.waitForAsync('testRemoveDuringDownload'); -} - -function testSetBlobDuringDownload() { - var download = downloader.download('/foo/bar'); - downloader. - waitForDownload('/foo/bar'). - addCallback(function() { - return downloader.setBlob( - '/foo/bar', goog.testing.fs.getBlob('blob data')); - }). - addErrback(function(err) { - assertEquals(goog.fs.Error.ErrorCode.PATH_EXISTS, err.fileError.code); - return download; - }). - addCallback(function() { - return downloader.getDownloadedBlob('/foo/bar'); - }). - addCallback(function(b) { assertEquals('xhr data', b.toString()); }). - addCallback(goog.bind(asyncTestCase.continueTesting, asyncTestCase)); - - xhr.simulateResponse(200, 'xhr data'); - asyncTestCase.waitForAsync('testSetBlobDuringDownload'); -} - -function testDownloadCancelledBeforeXhr() { - var download = downloader.download('/foo/bar'); - download.cancel(); - - download. - addErrback(function() { - assertEquals('/foo/bar', xhr.getLastUri()); - assertEquals(goog.net.ErrorCode.ABORT, xhr.getLastErrorCode()); - assertFalse(xhr.isActive()); - - return downloader.isDownloaded('/foo/bar'); - }). - addCallback(assertFalse). - addCallback(goog.bind(asyncTestCase.continueTesting, asyncTestCase)); - - asyncTestCase.waitForAsync('testDownloadCancelledBeforeXhr'); -} - -function testDownloadCancelledAfterXhr() { - var download = downloader.download('/foo/bar'); - xhr.simulateResponse(200, 'data'); - download.cancel(); - - download. - addErrback(function() { - assertEquals('/foo/bar', xhr.getLastUri()); - assertEquals(goog.net.ErrorCode.NO_ERROR, xhr.getLastErrorCode()); - assertFalse(xhr.isActive()); - - return downloader.isDownloaded('/foo/bar'); - }). - addCallback(assertFalse). - addCallback(goog.bind(asyncTestCase.continueTesting, asyncTestCase)); - - asyncTestCase.waitForAsync('testDownloadCancelledAfterXhr'); -} - -function testFailedXhr() { - downloader.download('/foo/bar'). - addErrback(function(err) { - assertEquals('/foo/bar', err.url); - assertEquals(404, err.xhrStatus); - assertEquals(goog.net.ErrorCode.HTTP_ERROR, err.xhrErrorCode); - assertUndefined(err.fileError); - - return downloader.isDownloaded('/foo/bar'); - }). - addCallback(assertFalse). - addCallback(goog.bind(asyncTestCase.continueTesting, asyncTestCase)); - - xhr.simulateResponse(404); - asyncTestCase.waitForAsync('testFailedXhr'); -} - -function testFailedDownloadSave() { - downloader.download('/foo/bar'). - addCallback(function() { - var download = downloader.download('/foo/bar'); - xhr.simulateResponse(200, 'data'); - return download; - }). - addErrback(function(err) { - assertEquals('/foo/bar', err.url); - assertUndefined(err.xhrStatus); - assertUndefined(err.xhrErrorCode); - assertEquals(goog.fs.Error.ErrorCode.PATH_EXISTS, err.fileError.code); - - asyncTestCase.continueTesting(); - }); - - xhr.simulateResponse(200, 'data'); - asyncTestCase.waitForAsync('testFailedDownloadSave'); -} - -function testFailedGetDownloadedBlob() { - downloader.getDownloadedBlob('/foo/bar'). - addErrback(function(err) { - assertEquals(goog.fs.Error.ErrorCode.NOT_FOUND, err.code); - asyncTestCase.continueTesting(); - }); - - asyncTestCase.waitForAsync('testFailedGetDownloadedBlob'); -} - -function testFailedRemove() { - downloader.remove('/foo/bar'). - addErrback(function(err) { - assertEquals(goog.fs.Error.ErrorCode.NOT_FOUND, err.code); - asyncTestCase.continueTesting(); - }); - - asyncTestCase.waitForAsync('testFailedRemove'); -} - -function testIsDownloading() { - assertFalse(downloader.isDownloading('/foo/bar')); - downloader.download('/foo/bar').addCallback(function() { - assertFalse(downloader.isDownloading('/foo/bar')); - asyncTestCase.continueTesting(); - }); - - assertTrue(downloader.isDownloading('/foo/bar')); - - xhr.simulateResponse(200, 'data'); - asyncTestCase.waitForAsync('testIsDownloading'); -} - -function testIsDownloadingWhenCancelled() { - assertFalse(downloader.isDownloading('/foo/bar')); - var deferred = downloader.download('/foo/bar').addErrback(function() { - assertFalse(downloader.isDownloading('/foo/bar')); - }); - - assertTrue(downloader.isDownloading('/foo/bar')); - deferred.cancel(); -} - -function assertMatches(expected, actual) { - assert( - 'Expected "' + actual + '" to match ' + expected, - expected.test(actual)); -} - -</script> -</body> -</html> |