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 2014/04/30 04:36:26 UTC
[1/2] spec commit: Don't use new File or new FileWriter in tests. Use
getFile() and createWriter().
Repository: cordova-mobile-spec
Updated Branches:
refs/heads/master 9cc454439 -> aaac5c283
Don't use new File or new FileWriter in tests. Use getFile() and createWriter().
Project: http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/commit/aaac5c28
Tree: http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/tree/aaac5c28
Diff: http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/diff/aaac5c28
Branch: refs/heads/master
Commit: aaac5c28300c7a0f3cd49a109c39b50bca324727
Parents: 78029f1
Author: Andrew Grieve <ag...@chromium.org>
Authored: Tue Apr 29 22:35:57 2014 -0400
Committer: Andrew Grieve <ag...@chromium.org>
Committed: Tue Apr 29 22:36:14 2014 -0400
----------------------------------------------------------------------
autotest/tests/file.tests.js | 95 +++++++++++++++++++--------------------
1 file changed, 45 insertions(+), 50 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/blob/aaac5c28/autotest/tests/file.tests.js
----------------------------------------------------------------------
diff --git a/autotest/tests/file.tests.js b/autotest/tests/file.tests.js
index 5f39654..da46c66 100644
--- a/autotest/tests/file.tests.js
+++ b/autotest/tests/file.tests.js
@@ -3027,21 +3027,29 @@ describe('File API', function() {
describe('read method', function(){
it("file.spec.82 should error out on non-existent file", function() {
- var reader = new FileReader();
+ var fileName = "somefile.txt";
+ var getFileFail = createFail('create');
+ var fileFail = createFail('file');
+ var deleteFail = createFail('delete');
+ var readWorked = createFail('read');
var verifier = jasmine.createSpy().andCallFake(function(evt) {
expect(evt).toBeDefined();
expect(evt.target.error).toBeFileError(FileError.NOT_FOUND_ERR);
});
- reader.onerror = verifier;
- var myFile = new File();
- // old API internals: use fullPath in File object
- myFile.fullPath = joinURL(root.fullPath, "doesnotexist.err");
- // new API internals: use localURL in File object
- myFile.localURL = joinURL(root.toURL(), "doesnotexist.err");
-
- reader.readAsText(myFile);
-
- waitsFor(function() { return verifier.wasCalled; }, "verifier never called", Tests.TEST_TIMEOUT);
+ root.getFile(fileName, {create: true}, afterGetFile, getFileFail);
+ function afterGetFile(entry) {
+ entry.file(afterFile, fileFail);
+ }
+ function afterFile(f) {
+ deleteEntry(fileName, afterDelete, deleteFail);
+ function afterDelete() {
+ var reader = new FileReader();
+ reader.onerror = verifier;
+ reader.onload = readWorked;
+ reader.readAsText(f);
+ }
+ }
+ waitsForAny(getFileFail, fileFail, deleteFail, readWorked, verifier);
});
it("file.spec.83 should be able to read native blob objects", function() {
// Skip test if blobs are not supported (e.g.: Android 2.3).
@@ -3294,14 +3302,11 @@ describe('File API', function() {
it("file.spec.97 should be able to write and append to file, File object", function() {
var fileName = "writer.append.File",
theWriter,
- // old API internals: use fullPath in File object
- filePath = joinURL(root.fullPath, fileName),
- // new API internals: use localURL in File object
- localURL = joinURL(root.toURL(), fileName),
// file content
rule = "There is an exception to every rule.",
// for checking file length
length = rule.length,
+ createWriterFail = createFail('createWriter'),
verifier = jasmine.createSpy().andCallFake(function(evt) {
expect(theWriter.length).toBe(length);
expect(theWriter.position).toBe(length);
@@ -3319,30 +3324,20 @@ describe('File API', function() {
// cleanup
deleteFile(fileName);
- }),
- // writes initial file content
- write_file = function(file) {
- theWriter = new FileWriter(file);
- theWriter.onwriteend = verifier;
- theWriter.write(rule);
- };
-
- // create file, then write and append to it
- runs(function() {
- var file = new File();
- // old API internals: use fullPath in File object
- file.fullPath = filePath;
- // new API internals: use localURL in File object
- file.localURL = localURL;
- write_file(file);
- });
+ });
+ function afterCreateWriter(w) {
+ theWriter = w;
+ theWriter.onwriteend = verifier;
+ theWriter.write(rule);
+ }
+ function afterGetFile(fileEntry) {
+ fileEntry.createWriter(afterCreateWriter, createWriterFail);
+ }
- waitsFor(function() { return anotherVerifier.wasCalled; }, "verifier", Tests.TEST_TIMEOUT);
+ var getFileFail = createFail('create');
+ root.getFile(fileName, {create: true}, afterGetFile, getFileFail);
- runs(function() {
- expect(verifier).toHaveBeenCalled();
- expect(anotherVerifier).toHaveBeenCalled();
- });
+ waitsForAny(anotherVerifier, getFileFail, createWriterFail);
});
it("file.spec.98 should be able to seek to the middle of the file and write more data than file.length", function() {
var fileName = "writer.seek.write",
@@ -3913,27 +3908,27 @@ describe('File API', function() {
var unsupportedOperation = jasmine.createSpy("Operation not supported");
- var resolveWin = jasmine.createSpy("resolveWin").andCallFake(function(fileEntry) {
- expect(fileEntry.toURL()).toEqual(originalEntry.toURL());
+ var resolveWin = jasmine.createSpy("resolveWin").andCallFake(function(fileEntry) {
+ expect(fileEntry.toURL()).toEqual(originalEntry.toURL());
// cleanup
deleteFile(localFilename);
- });
+ });
var resolveFail = createDoNotCallSpy('resolveFail');
var getFail = createDoNotCallSpy('getFail');
- runs(function() {
+ runs(function() {
root.getFile(localFilename, {create: true}, function(entry) {
originalEntry = entry;
- /* This is an undocumented interface to File which exists only for testing
- * backwards compatibilty. By obtaining the raw filesystem path of the download
- * location, we can pass that to ft.download() to make sure that previously-stored
- * paths are still valid.
- */
- cordova.exec(function(localPath) {
- window.resolveLocalFileSystemURI("file://" + localPath, resolveWin, resolveFail);
- }, unsupportedOperation, 'File', '_getLocalFilesystemPath', [entry.toURL()]);
+ /* This is an undocumented interface to File which exists only for testing
+ * backwards compatibilty. By obtaining the raw filesystem path of the download
+ * location, we can pass that to ft.download() to make sure that previously-stored
+ * paths are still valid.
+ */
+ cordova.exec(function(localPath) {
+ window.resolveLocalFileSystemURI("file://" + encodeURI(localPath), resolveWin, resolveFail);
+ }, unsupportedOperation, 'File', '_getLocalFilesystemPath', [entry.toURL()]);
}, getFail);
- });
+ });
waitsForAny(resolveWin, resolveFail, getFail, unsupportedOperation);
[2/2] spec commit: CB-6525 Assert that fs.root.toURL() does not use
cdvfile:
Posted by ag...@apache.org.
CB-6525 Assert that fs.root.toURL() does not use cdvfile:
Project: http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/commit/78029f14
Tree: http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/tree/78029f14
Diff: http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/diff/78029f14
Branch: refs/heads/master
Commit: 78029f14ba941fcdc7468b1838f0643ace7ca5c3
Parents: 9cc4544
Author: Andrew Grieve <ag...@chromium.org>
Authored: Tue Apr 29 22:35:29 2014 -0400
Committer: Andrew Grieve <ag...@chromium.org>
Committed: Tue Apr 29 22:36:14 2014 -0400
----------------------------------------------------------------------
autotest/tests/file.tests.js | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/blob/78029f14/autotest/tests/file.tests.js
----------------------------------------------------------------------
diff --git a/autotest/tests/file.tests.js b/autotest/tests/file.tests.js
index aa933e2..5f39654 100644
--- a/autotest/tests/file.tests.js
+++ b/autotest/tests/file.tests.js
@@ -151,7 +151,8 @@ describe('File API', function() {
expect(fileSystem.name).toBe("persistent");
expect(fileSystem.root).toBeDefined();
expect(fileSystem.root.filesystem).toBeDefined();
- expect(fileSystem.root.filesystem).toBe(fileSystem);
+ // Shouldn't use cdvfile by default.
+ expect(fileSystem.root.toURL()).not.toMatch(/^cdvfile:/);
}),
fail = createFail('window.requestFileSystem');
@@ -239,6 +240,8 @@ describe('File API', function() {
win = jasmine.createSpy().andCallFake(function(fileEntry) {
expect(fileEntry).toBeDefined();
expect(fileEntry.name).toCanonicallyMatch(fileName);
+ // Shouldn't use cdvfile by default.
+ expect(fileEntry.toURL()).not.toMatch(/^cdvfile:/);
// cleanup
deleteEntry(fileName);