You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ag...@apache.org on 2012/09/18 16:38:23 UTC
[1/6] spec commit: Tweak clean-up logic in filetransfer tests so that
it executes even when tests fail.
Updated Branches:
refs/heads/master be20d0b2e -> 8f42017c9
Tweak clean-up logic in filetransfer tests so that it executes even when
tests fail.
Project: http://git-wip-us.apache.org/repos/asf/incubator-cordova-mobile-spec/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cordova-mobile-spec/commit/8f42017c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-mobile-spec/tree/8f42017c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-mobile-spec/diff/8f42017c
Branch: refs/heads/master
Commit: 8f42017c9b81e553b73fad45e4378d8a987e6c5e
Parents: 1a2ede8
Author: Andrew Grieve <ag...@chromium.org>
Authored: Wed Sep 5 13:12:46 2012 -0400
Committer: Andrew Grieve <ag...@chromium.org>
Committed: Tue Sep 18 09:59:44 2012 -0400
----------------------------------------------------------------------
autotest/tests/filetransfer.tests.js | 73 +++++++++++++---------------
1 files changed, 34 insertions(+), 39 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cordova-mobile-spec/blob/8f42017c/autotest/tests/filetransfer.tests.js
----------------------------------------------------------------------
diff --git a/autotest/tests/filetransfer.tests.js b/autotest/tests/filetransfer.tests.js
index 10f2f76..6b83621 100644
--- a/autotest/tests/filetransfer.tests.js
+++ b/autotest/tests/filetransfer.tests.js
@@ -51,8 +51,7 @@ describe('FileTransfer', function() {
}
// deletes and re-creates the specified content
var writeFile = function(fileName, fileContent, success, error) {
- var content = fileContent;
- deleteEntry(fileName, function() {
+ deleteFile(fileName, function() {
root.getFile(fileName, {create: true}, function(fileEntry) {
fileEntry.createWriter(function (writer) {
@@ -68,10 +67,10 @@ describe('FileTransfer', function() {
error(evt);
};
- writer.write(content + "\n");
+ writer.write(fileContent + "\n");
}, error);
}, error);
- }, error);
+ });
};
var readFileEntry = function(entry, success, error) {
@@ -96,24 +95,6 @@ describe('FileTransfer', function() {
};
// NOTE: copied from file.tests.js
- // deletes specified file or directory
- var deleteEntry = function(name, success, error) {
- // deletes entry, if it exists
- window.resolveLocalFileSystemURI(root.toURL() + '/' + name,
- function(entry) {
- if (entry.isDirectory === true) {
- entry.removeRecursively(success, error);
- } else {
- entry.remove(success, error);
- }
- }, success);
- };
- // deletes and re-creates the specified file
- var createFile = function(fileName, success, error) {
- deleteEntry(fileName, function() {
- root.getFile(fileName, {create: true}, success, error);
- }, error);
- };
// deletes file, if it exists, then invokes callback
var deleteFile = function(fileName, callback) {
root.getFile(fileName, null,
@@ -162,9 +143,11 @@ describe('FileTransfer', function() {
var localFileName = remoteFile.substring(remoteFile.lastIndexOf('/')+1);
var downloadWin = jasmine.createSpy().andCallFake(function(entry) {
expect(entry.name).toBe(localFileName);
- deleteFile(localFileName);
});
+ this.after(function() {
+ deleteFile(localFileName);
+ });
runs(function() {
var ft = new FileTransfer();
ft.download(remoteFile, root.fullPath + "/" + localFileName, downloadWin, fail);
@@ -181,10 +164,12 @@ describe('FileTransfer', function() {
readFileEntry(entry, fileWin, fileFail);
};
var fileWin = jasmine.createSpy().andCallFake(function(content) {
- expect(content).toMatch(/The Apache Software Foundation/);
- deleteFile(localFileName);
+ expect(content).toMatch(/The Apache Software Foundation/);
});
+ this.after(function() {
+ deleteFile(localFileName);
+ });
runs(function() {
var ft = new FileTransfer();
ft.download(remoteFile, root.fullPath + "/" + localFileName, downloadWin, downloadFail);
@@ -200,9 +185,11 @@ describe('FileTransfer', function() {
var downloadFail = jasmine.createSpy().andCallFake(function(error) {
expect(error.http_status).toBe(404);
expect(error.http_status).not.toBe(401, "Ensure " + remoteFile + " is in the white list");
- deleteFile(localFileName);
});
+ this.after(function() {
+ deleteFile(localFileName);
+ });
runs(function() {
var ft = new FileTransfer();
ft.download(remoteFile, root.fullPath + "/" + localFileName, downloadWin, downloadFail);
@@ -216,15 +203,16 @@ describe('FileTransfer', function() {
var remoteFile = getMalformedUrl();
var localFileName = "download_malformed_url.txt";
var downloadFail = jasmine.createSpy().andCallFake(function(error) {
-
// Note: Android needs the bad protocol to be added to the access list
// <access origin=".*"/> won't match because ^https?:// is prepended to the regex
// The bad protocol must begin with http to avoid automatic prefix
expect(error.http_status).not.toBe(401, "Ensure " + remoteFile + " is in the white list");
expect(error.code).toBe(FileTransferError.INVALID_URL_ERR);
- deleteFile(localFileName);
});
+ this.after(function() {
+ deleteFile(localFileName);
+ });
runs(function() {
var ft = new FileTransfer();
ft.download(remoteFile, root.fullPath + "/" + localFileName, downloadWin, downloadFail);
@@ -278,7 +266,6 @@ describe('FileTransfer', function() {
expect(uploadResult.bytesSent).toBeGreaterThan(0);
expect(uploadResult.responseCode).toBe(200);
expect(uploadResult.response).toBeDefined();
- deleteEntry(localFileName);
});
var fileWin = function(fileEntry) {
@@ -298,6 +285,9 @@ describe('FileTransfer', function() {
ft.upload(fileEntry.fullPath, remoteFile, uploadWin, uploadFail, options);
};
+ this.after(function() {
+ deleteFile(localFileName);
+ });
runs(function() {
writeFile(localFileName, "this file should upload", fileWin, fileFail);
});
@@ -313,7 +303,6 @@ describe('FileTransfer', function() {
var uploadFail = jasmine.createSpy().andCallFake(function(error) {
expect(error.http_status).toBe(403);
expect(error.http_status).not.toBe(401, "Ensure " + remoteFile + " is in the white list");
- deleteEntry(localFileName);
});
var fileWin = function(fileEntry) {
@@ -327,6 +316,9 @@ describe('FileTransfer', function() {
ft.upload(fileEntry.fullPath, remoteFile, uploadWin, uploadFail, options);
};
+ this.after(function() {
+ deleteFile(localFileName);
+ });
runs(function() {
writeFile(localFileName, "this file should fail to upload", fileWin, fileFail);
});
@@ -342,13 +334,15 @@ describe('FileTransfer', function() {
var uploadFail = jasmine.createSpy().andCallFake(function(error) {
expect(error.code).toBe(FileTransferError.INVALID_URL_ERR);
expect(error.http_status).not.toBe(401, "Ensure " + remoteFile + " is in the white list");
- deleteFile(localFileName);
});
var fileWin = function(fileEntry) {
var ft = new FileTransfer();
ft.upload(fileEntry.fullPath, remoteFile, uploadWin, uploadFail, {});
};
+ this.after(function() {
+ deleteFile(localFileName);
+ });
runs(function() {
writeFile(localFileName, "Some content", fileWin, fileFail);
});
@@ -364,13 +358,15 @@ describe('FileTransfer', function() {
var uploadFail = jasmine.createSpy().andCallFake(function(error) {
expect(error.code).toBe(FileTransferError.CONNECTION_ERR);
expect(error.http_status).not.toBe(401, "Ensure " + remoteFile + " is in the white list");
- deleteFile(localFileName);
});
var fileWin = function(fileEntry) {
var ft = new FileTransfer();
ft.upload(fileEntry.fullPath, remoteFile, uploadWin, uploadFail, {});
};
+ this.after(function() {
+ deleteFile(localFileName);
+ });
runs(function() {
writeFile(localFileName, "# allow all", fileWin, fileFail);
});
@@ -378,7 +374,6 @@ describe('FileTransfer', function() {
waitsForAny(uploadWin, uploadFail, fileFail);
});
it("should handle missing file", function() {
- var fileFail = createDoNotCallSpy('fileFail');
var uploadWin = createDoNotCallSpy('uploadWin');
var remoteFile = server + "/upload";
@@ -390,13 +385,11 @@ describe('FileTransfer', function() {
});
runs(function() {
- deleteFile(localFileName, function() {
- var ft = new FileTransfer();
- ft.upload(root.fullPath + "/" + localFileName, remoteFile, uploadWin, uploadFail);
- }, fileFail);
+ var ft = new FileTransfer();
+ ft.upload(root.fullPath + "/" + localFileName, remoteFile, uploadWin, uploadFail);
});
- waitsForAny(uploadWin, uploadFail, fileFail);
+ waitsForAny(uploadWin, uploadFail);
});
it("should handle bad file path", function() {
var uploadWin = createDoNotCallSpy('uploadWin');
@@ -426,7 +419,6 @@ describe('FileTransfer', function() {
expect(uploadResult.bytesSent).toBeGreaterThan(0);
expect(uploadResult.responseCode).toBe(200);
expect(uploadResult.response).toBeDefined();
- deleteEntry(localFileName);
var responseHtml = decodeURIComponent(uploadResult.response);
expect(responseHtml).toMatch(/CustomHeader1[\s\S]*CustomValue1/i);
expect(responseHtml).toMatch(/CustomHeader2[\s\S]*CustomValue2[\s\S]*CustomValue3/i, "Should allow array values");
@@ -453,6 +445,9 @@ describe('FileTransfer', function() {
ft.upload(fileEntry.fullPath, remoteFile, uploadWin, uploadFail, options);
};
+ this.after(function() {
+ deleteFile(localFileName);
+ });
runs(function() {
writeFile(localFileName, "this file should upload", fileWin, fileFail);
});