Return-Path: X-Original-To: apmail-cordova-commits-archive@www.apache.org Delivered-To: apmail-cordova-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C10F8DA36 for ; Thu, 1 Nov 2012 10:53:37 +0000 (UTC) Received: (qmail 29463 invoked by uid 500); 1 Nov 2012 10:53:36 -0000 Delivered-To: apmail-cordova-commits-archive@cordova.apache.org Received: (qmail 29412 invoked by uid 500); 1 Nov 2012 10:53:36 -0000 Mailing-List: contact commits-help@cordova.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: callback-dev@cordova.apache.org Delivered-To: mailing list commits@cordova.apache.org Received: (qmail 26568 invoked by uid 500); 1 Nov 2012 10:53:31 -0000 Delivered-To: apmail-incubator-callback-commits@incubator.apache.org Received: (qmail 26264 invoked by uid 99); 1 Nov 2012 10:53:31 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 Nov 2012 10:53:31 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id E0F7C516F1; Thu, 1 Nov 2012 10:53:30 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: purplecabbage@apache.org To: callback-commits@incubator.apache.org X-Mailer: ASF-Git Admin Mailer Subject: [37/51] [abbrv] renamed metro folder Message-Id: <20121101105330.E0F7C516F1@tyr.zones.apache.org> Date: Thu, 1 Nov 2012 10:53:30 +0000 (UTC) http://git-wip-us.apache.org/repos/asf/incubator-cordova-windows/blob/071eba61/windows8/MetroTestApp/autotest/tests/file.tests.js ---------------------------------------------------------------------- diff --git a/windows8/MetroTestApp/autotest/tests/file.tests.js b/windows8/MetroTestApp/autotest/tests/file.tests.js deleted file mode 100644 index 613cec3..0000000 --- a/windows8/MetroTestApp/autotest/tests/file.tests.js +++ /dev/null @@ -1,3481 +0,0 @@ -describe('File API', function() { - // HELPER FUNCTIONS - - // 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 file, if it exists, then invokes callback - var deleteFile = function(fileName, callback) { - root.getFile(fileName, null, - // remove file system entry - function(entry) { - entry.remove(callback, function() { console.log('[ERROR] deleteFile cleanup method invoked fail callback.'); }); - }, - // doesn't exist - callback); - }; - // 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 and re-creates the specified directory - var createDirectory = function(dirName, success, error) { - deleteEntry(dirName, function() { - root.getDirectory(dirName, {create: true}, success, error); - }, error); - }; - - var createFail = function(module) { - return jasmine.createSpy().andCallFake(function(err) { - console.log('[ERROR ' + module + '] ' + JSON.stringify(err)); - }); - }; - - var createWin = function(module) { - return jasmine.createSpy().andCallFake(function() { - console.log('[ERROR ' + module + '] Unexpected success callback'); - }); - }; - - describe('FileError object', function() { - it("should define FileError constants", function() { - expect(FileError.NOT_FOUND_ERR).toBe(1); - expect(FileError.SECURITY_ERR).toBe(2); - expect(FileError.ABORT_ERR).toBe(3); - expect(FileError.NOT_READABLE_ERR).toBe(4); - expect(FileError.ENCODING_ERR).toBe(5); - expect(FileError.NO_MODIFICATION_ALLOWED_ERR).toBe(6); - expect(FileError.INVALID_STATE_ERR).toBe(7); - expect(FileError.SYNTAX_ERR).toBe(8); - expect(FileError.INVALID_MODIFICATION_ERR).toBe(9); - expect(FileError.QUOTA_EXCEEDED_ERR).toBe(10); - expect(FileError.TYPE_MISMATCH_ERR).toBe(11); - expect(FileError.PATH_EXISTS_ERR).toBe(12); - }); - }); - - describe('LocalFileSystem', function() { - - it("should define LocalFileSystem constants", function() { - expect(LocalFileSystem.TEMPORARY).toBe(0); - expect(LocalFileSystem.PERSISTENT).toBe(1); - }); - - describe('window.requestFileSystem', function() { - it("should be defined", function() { - expect(window.requestFileSystem).toBeDefined(); - }); - it("should be able to retrieve a PERSISTENT file system", function() { - var win = jasmine.createSpy().andCallFake(function(fileSystem) { - expect(fileSystem).toBeDefined(); - expect(fileSystem.name).toBeDefined(); - expect(fileSystem.name).toBe("persistent"); - expect(fileSystem.root).toBeDefined(); - }), - fail = createFail('window.requestFileSystem'); - - // retrieve PERSISTENT file system - runs(function() { - window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, win, fail); - }); - - waitsFor(function() { return win.wasCalled; }, "success callback never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(fail).not.toHaveBeenCalled(); - expect(win).toHaveBeenCalled(); - }); - }); - it("should be able to retrieve a TEMPORARY file system", function() { - var win = jasmine.createSpy().andCallFake(function(fileSystem) { - expect(fileSystem).toBeDefined(); - expect(fileSystem.name).toBeDefined(); - expect(fileSystem.name).toBe("temporary"); - expect(fileSystem.root).toBeDefined(); - }), - fail = createFail('window.requestFileSystem'); - - // Request the file system - runs(function() { - window.requestFileSystem(LocalFileSystem.TEMPORARY, 0, win, fail); - }); - - waitsFor(function() { return win.wasCalled; }, "success callback never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(fail).not.toHaveBeenCalled(); - expect(win).toHaveBeenCalled(); - }); - }); - it("should error if you request a file system that is too large", function() { - var fail = jasmine.createSpy().andCallFake(function(error) { - expect(error).toBeDefined(); - expect(error.code).toBe(FileError.QUOTA_EXCEEDED_ERR); - }), - win = createWin('window.requestFileSystem'); - - // Request the file system - runs(function() { - window.requestFileSystem(LocalFileSystem.TEMPORARY, 1000000000000000, win, fail); - }); - - waitsFor(function() { return fail.wasCalled; }, "error callback never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(win).not.toHaveBeenCalled(); - expect(fail).toHaveBeenCalled(); - }); - }); - it("should error out if you request a file system that does not exist", function() { - var fail = jasmine.createSpy().andCallFake(function(error) { - expect(error).toBeDefined(); - expect(error.code).toBe(FileError.SYNTAX_ERR); - }), - win = createWin('window.requestFileSystem'); - - // Request the file system - runs(function() { - window.requestFileSystem(-1, 0, win, fail); - }); - - waitsFor(function() { return fail.wasCalled; }, "error callback never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(win).not.toHaveBeenCalled(); - expect(fail).toHaveBeenCalled(); - }); - }); - }); - - describe('window.resolveLocalFileSystemURI', function() { - it("should be defined", function() { - expect(window.resolveLocalFileSystemURI).toBeDefined(); - }); - it("should resolve a valid file name", function() { - var fileName = "resolve.file.uri", - win = jasmine.createSpy().andCallFake(function(fileEntry) { - expect(fileEntry).toBeDefined(); - expect(fileEntry.name).toBe(fileName); - console.log("success call back!"); - // cleanup - deleteEntry(fileName); - }), - fail = createFail('window.resolveLocalFileSystemURI'); - - - - - resolveCallback = jasmine.createSpy().andCallFake(function(entry) { - // lookup file system entry - runs(function () { - console.log(entry.toURL()); - window.resolveLocalFileSystemURI(entry.toURL(), win, fail); - }); - - waitsFor(function() { return win.wasCalled; }, "resolveLocalFileSystemURI callback never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(win).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }); - - // create a new file entry - runs(function () { - console.log("hrehrhehrheh"); - createFile(fileName, resolveCallback, fail); - }); - - waitsFor(function() { return resolveCallback.wasCalled; }, "createFile callback never called", Tests.TEST_TIMEOUT); - }); - it("resolve valid file name with parameters", function() { - var fileName = "resolve.file.uri.params.txt", - win = jasmine.createSpy().andCallFake(function(fileEntry) { - expect(fileEntry).toBeDefined(); - expect(fileEntry.name).toBe(fileName); - - // cleanup - deleteEntry(fileName); - }), - fail = createFail('window.resolveLocalFileSystemURI'); - resolveCallback = jasmine.createSpy().andCallFake(function(entry) { - // lookup file system entry - runs(function() { - window.resolveLocalFileSystemURI(entry.toURL() + "?1234567890", win, fail); - }); - - waitsFor(function() { return win.wasCalled; }, "resolveLocalFileSystemURI callback never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(win).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }); - - // create a new file entry - runs(function() { - createFile(fileName, resolveCallback, fail); - }); - - waitsFor(function() { return resolveCallback.wasCalled; }, "createFile callback never called", Tests.TEST_TIMEOUT); - }); - it("should error out when resolving invalid file name", function() { - var fail = jasmine.createSpy().andCallFake(function(error) { - expect(error).toBeDefined(); - expect(error.code).toBe(FileError.NOT_FOUND_ERR); - }), - win = createWin('window.resolveLocalFileSystemURI'); - - // lookup file system entry - runs(function () { - - //window.resolveLocalFileSystemURI("file:///C:/Application1/Application1/js", win, fail); - window.resolveLocalFileSystemURI("file:///this.is.not.a.valid.file.txt", win, fail); - }); - - waitsFor(function() { return fail.wasCalled; }, "error callback never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(fail).toHaveBeenCalled(); - expect(win).not.toHaveBeenCalled(); - }); - }); - it("resolve invalid URL", function() { - var fail = jasmine.createSpy().andCallFake(function(error) { - expect(error).toBeDefined(); - expect(error.code).toBe(FileError.ENCODING_ERR); - }), - win = createWin('window.resolveLocalFileSystemURI'); - - // lookup file system entry - runs(function() { - window.resolveLocalFileSystemURI("/this.is.not.a.valid.url", win, fail); - }); - - waitsFor(function() { return fail.wasCalled; }, "error callback never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(fail).toHaveBeenCalled(); - expect(win).not.toHaveBeenCalled(); - }); - }); - }); - }); - - describe('Metadata interface', function() { - it("should exist and have the right properties", function() { - var metadata = new Metadata(); - expect(metadata).toBeDefined(); - expect(metadata.modificationTime).toBeDefined(); - }); - }); - - describe('Flags interface', function() { - it("should exist and have the right properties", function() { - var flags = new Flags(false, true); - expect(flags).toBeDefined(); - expect(flags.create).toBeDefined(); - expect(flags.create).toBe(false); - expect(flags.exclusive).toBeDefined(); - expect(flags.exclusive).toBe(true); - }); - }); - - describe('FileSystem interface', function() { - it("should have a root that is a DirectoryEntry", function() { - var win = jasmine.createSpy().andCallFake(function(entry) { - expect(entry).toBeDefined(); - expect(entry.isFile).toBe(false); - expect(entry.isDirectory).toBe(true); - expect(entry.name).toBeDefined(); - expect(entry.fullPath).toBeDefined(); - expect(entry.getMetadata).toBeDefined(); - expect(entry.moveTo).toBeDefined(); - expect(entry.copyTo).toBeDefined(); - expect(entry.toURL).toBeDefined(); - expect(entry.remove).toBeDefined(); - expect(entry.getParent).toBeDefined(); - expect(entry.createReader).toBeDefined(); - expect(entry.getFile).toBeDefined(); - expect(entry.getDirectory).toBeDefined(); - expect(entry.removeRecursively).toBeDefined(); - }), - fail = createFail('FileSystem'); - - runs(function () { - console.log(root.toURL()) - window.resolveLocalFileSystemURI(root.toURL(), win, fail); - }); - - waitsFor(function() { return win.wasCalled; }, "success callback never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(fail).not.toHaveBeenCalled(); - expect(win).toHaveBeenCalled(); - }); - }); - }); - - describe('DirectoryEntry', function() { - it("getFile: get Entry for file that does not exist", function () { - var fileName = "de.no.file", - filePath = root.fullPath + '\\' + fileName, - fail = jasmine.createSpy().andCallFake(function(error) { - expect(error).toBeDefined(); - expect(error.code).toBe(FileError.NOT_FOUND_ERR); - }), - win = createWin('DirectoryEntry'); - - // create:false, exclusive:false, file does not exist - runs(function() { - root.getFile(fileName, {create:false}, win, fail); - }); - - waitsFor(function() { return fail.wasCalled; }, "error callback never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(fail).toHaveBeenCalled(); - expect(win).not.toHaveBeenCalled(); - }); - }); - it("etFile: create new file", function() { - var fileName = "de.create.file", - filePath = root.fullPath + '\\' + fileName, - win = jasmine.createSpy().andCallFake(function(entry) { - expect(entry).toBeDefined(); - expect(entry.isFile).toBe(true); - expect(entry.isDirectory).toBe(false); - expect(entry.name).toBe(fileName); - expect(entry.fullPath).toBe(filePath); - // cleanup - entry.remove(null, null); - }), - fail = createFail('DirectoryEntry'); - - // create:true, exclusive:false, file does not exist - runs(function() { - root.getFile(fileName, {create: true}, win, fail); - }); - - waitsFor(function() { return win.wasCalled; }, "success callback never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(win).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }); - it("getFile: create new file (exclusive)", function() { - var fileName = "de.create.exclusive.file", - filePath = root.fullPath + '\\' + fileName, - win = jasmine.createSpy().andCallFake(function(entry) { - expect(entry).toBeDefined(); - expect(entry.isFile).toBe(true); - expect(entry.isDirectory).toBe(false); - expect(entry.name).toBe(fileName); - expect(entry.fullPath).toBe(filePath); - - // cleanup - entry.remove(null, null); - }), - fail = createFail('DirectoryEntry'); - - // create:true, exclusive:true, file does not exist - runs(function() { - root.getFile(fileName, {create: true, exclusive:true}, win, fail); - }); - - waitsFor(function() { return win.wasCalled; }, "success callback never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(win).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }); - it("getFile: create file that already exists", function() { - var fileName = "de.create.existing.file", - filePath = root.fullPath + '\\' + fileName, - getFile = jasmine.createSpy().andCallFake(function(file) { - // create:true, exclusive:false, file exists - runs(function() { - root.getFile(fileName, {create:true}, win, fail); - }); - - waitsFor(function() { return win.wasCalled; }, "win was never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(win).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }), - fail = createFail('DirectoryEntry'), - win = jasmine.createSpy().andCallFake(function(entry) { - expect(entry).toBeDefined(); - expect(entry.isFile).toBe(true); - expect(entry.isDirectory).toBe(false); - expect(entry.name).toBe(fileName); - expect(entry.fullPath).toBe(filePath); - - // cleanup - entry.remove(null, fail); - }); - // create file to kick off it - runs(function() { - root.getFile(fileName, {create:true}, getFile, fail); - }); - - waitsFor(function() { return getFile.wasCalled; }, "getFile was never called", Tests.TEST_TIMEOUT); - }); - it("getFile: create file that already exists (exclusive)", function() { - var fileName = "de.create.exclusive.existing.file", - filePath = root.fullPath + '\\' + fileName, - existingFile, - getFile = jasmine.createSpy().andCallFake(function(file) { - existingFile = file; - // create:true, exclusive:true, file exists - runs(function() { - root.getFile(fileName, {create:true, exclusive:true}, win, fail); - }); - - waitsFor(function() { return fail.wasCalled; }, "fail never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(fail).toHaveBeenCalled(); - expect(win).not.toHaveBeenCalled(); - }); - }), - fail = jasmine.createSpy().andCallFake(function(error) { - expect(error).toBeDefined(); - expect(error.code).toBe(FileError.PATH_EXISTS_ERR); - - // cleanup - existingFile.remove(null, fail); - }), - win = createWin('DirectoryEntry'); - - // create file to kick off it - runs(function() { - root.getFile(fileName, {create:true}, getFile, fail); - }); - - waitsFor(function() { return getFile.wasCalled; }, "getFile never called", Tests.TEST_TIMEOUT); - }); - it("getFile: get Entry for existing file", function() { - var fileName = "de.get.file", - filePath = root.fullPath + '\\' + fileName, - win = jasmine.createSpy().andCallFake(function(entry) { - expect(entry).toBeDefined(); - expect(entry.isFile).toBe(true); - expect(entry.isDirectory).toBe(false); - expect(entry.name).toBe(fileName); - expect(entry.fullPath).toBe(filePath); - - entry.remove(null, fail); //clean up - }), - fail = createFail('DirectoryEntry'), - getFile = jasmine.createSpy().andCallFake(function(file) { - // create:false, exclusive:false, file exists - runs(function() { - root.getFile(fileName, {create:false}, win, fail); - }); - - waitsFor(function() { return win.wasCalled; }, "getFile success callback", Tests.TEST_TIMEOUT); - - runs(function() { - expect(win).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }); - - // create file to kick off it - runs(function() { - root.getFile(fileName, {create:true}, getFile, fail); - }); - - waitsFor(function() { return getFile.wasCalled; }, "file creation", Tests.TEST_TIMEOUT); - }); - it("DirectoryEntry.getFile: get FileEntry for invalid path", function() { - var fileName = "de:invalid:path", - fail = jasmine.createSpy().andCallFake(function(error) { - expect(error).toBeDefined(); - expect(error.code).toBe(FileError.ENCODING_ERR); - }), - win = createWin('DirectoryEntry'); - - // create:false, exclusive:false, invalid path - runs(function() { - root.getFile(fileName, {create:false}, win, fail); - }); - - waitsFor(function() { return fail.wasCalled; }, "fail never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(fail).toHaveBeenCalled(); - expect(win).not.toHaveBeenCalled(); - }); - - }); - it("DirectoryEntry.getDirectory: get Entry for directory that does not exist", function() { - var dirName = "de.no.dir", - dirPath = root.fullPath + '\\' + dirName, - fail = jasmine.createSpy().andCallFake(function(error) { - expect(error).toBeDefined(); - expect(error.code).toBe(FileError.NOT_FOUND_ERR); - }), - win = createWin('DirectoryEntry'); - - // create:false, exclusive:false, directory does not exist - runs(function() { - root.getDirectory(dirName, {create:false}, win, fail); - }); - - waitsFor(function() { return fail.wasCalled; }, "fail never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(fail).toHaveBeenCalled(); - expect(win).not.toHaveBeenCalled(); - }); - }); - it("DirectoryEntry.getDirectory: create new dir with space then resolveFileSystemURL", function() { - var dirName = "de create dir", - dirPath = root.fullPath + '\\' + dirName, - getDir = jasmine.createSpy().andCallFake(function(dirEntry) { - var dirURL = dirEntry.toURL(); - // now encode URL and try to resolve - runs(function() { - window.resolveLocalFileSystemURI(dirURL, win, fail); - }); - - waitsFor(function() { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(win).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - - }), win = jasmine.createSpy().andCallFake(function(directory) { - expect(directory).toBeDefined(); - expect(directory.isFile).toBe(false); - expect(directory.isDirectory).toBe(true); - expect(directory.name).toBe(dirName); - expect(directory.fullPath).toBe(dirPath); - - // cleanup - directory.remove(null, fail); - }), - fail = createFail('DirectoryEntry'); - - // create:true, exclusive:false, directory does not exist - runs(function() { - root.getDirectory(dirName, {create: true}, getDir, fail); - }); - - waitsFor(function() { return getDir.wasCalled; }, "getDir never called", Tests.TEST_TIMEOUT); - }); - it("DirectoryEntry.getDirectory: create new dir with space resolveFileSystemURL with encoded URL", function() { - var dirName = "de create dir.dir", - dirPath = root.fullPath + '\\' + dirName, - getDir = jasmine.createSpy().andCallFake(function(dirEntry) { - var dirURL = dirEntry.toURL(); - // now encode URL and try to resolve - runs(function () { - - window.resolveLocalFileSystemURI(encodeURI(dirURL), win, fail); - }); - - waitsFor(function() { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(win).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }), - win = jasmine.createSpy().andCallFake(function(directory) { - expect(directory).toBeDefined(); - expect(directory.isFile).toBe(false); - expect(directory.isDirectory).toBe(true); - expect(directory.name).toBe(dirName); - expect(directory.fullPath).toBe(dirPath); - // cleanup - directory.remove(null, fail); - }), - fail = createFail('DirectoryEntry'); - - // create:true, exclusive:false, directory does not exist - runs(function() { - root.getDirectory(dirName, {create: true}, getDir, fail); - }); - - waitsFor(function() { return getDir.wasCalled; }, "getDir never called", Tests.TEST_TIMEOUT); - }); - - it("DirectoryEntry.getDirectory: create new directory", function() { - var dirName = "de.create.dir", - dirPath = root.fullPath + '\\' + dirName, - win = jasmine.createSpy().andCallFake(function(directory) { - expect(directory).toBeDefined(); - expect(directory.isFile).toBe(false); - expect(directory.isDirectory).toBe(true); - expect(directory.name).toBe(dirName); - expect(directory.fullPath).toBe(dirPath); - - // cleanup - directory.remove(null, fail); - }), - fail = createFail('DirectoryEntry'); - - // create:true, exclusive:false, directory does not exist - runs(function() { - root.getDirectory(dirName, {create: true}, win, fail); - }); - - waitsFor(function() { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(win).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }); - - it("DirectoryEntry.getDirectory: create new directory (exclusive)", function() { - var dirName = "de.create.exclusive.dir", - dirPath = root.fullPath + '\\' + dirName, - win = jasmine.createSpy().andCallFake(function(directory) { - expect(directory).toBeDefined(); - expect(directory.isFile).toBe(false); - expect(directory.isDirectory).toBe(true); - expect(directory.name).toBe(dirName); - expect(directory.fullPath).toBe(dirPath); - - // cleanup - directory.remove(null, fail); - }), - fail = createFail('DirectoryEntry'); - // create:true, exclusive:true, directory does not exist - runs(function() { - root.getDirectory(dirName, {create: true, exclusive:true}, win, fail); - }); - - waitsFor(function() { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(win).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }); - it("DirectoryEntry.getDirectory: create directory that already exists", function() { - var dirName = "de.create.existing.dir", - dirPath = root.fullPath + '\\' + dirName, - getDir = jasmine.createSpy().andCallFake(function(directory) { - // create:true, exclusive:false, directory exists - runs(function() { - root.getDirectory(dirName, {create:true}, win, fail); - }); - - waitsFor(function() { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(win).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }), - win = jasmine.createSpy().andCallFake(function(directory) { - expect(directory).toBeDefined(); - expect(directory.isFile).toBe(false); - expect(directory.isDirectory).toBe(true); - expect(directory.name).toBe(dirName); - expect(directory.fullPath).toBe(dirPath); - - // cleanup - directory.remove(null, fail); - }), - fail = createFail('DirectoryEntry'); - - // create directory to kick off it - runs(function() { - root.getDirectory(dirName, {create:true}, getDir, this.fail); - }); - - waitsFor(function() { return getDir.wasCalled; }, "getDir never called", Tests.TEST_TIMEOUT); - }); - it("DirectoryEntry.getDirectory: create directory that already exists (exclusive)", function() { - var dirName = "de.create.exclusive.existing.dir", - dirPath = root.fullPath + '\\' + dirName, - existingDir, - getDir = jasmine.createSpy().andCallFake(function(directory) { - existingDir = directory; - // create:true, exclusive:true, directory exists - runs(function() { - root.getDirectory(dirName, {create:true, exclusive:true}, win, fail); - }); - - waitsFor(function() { return fail.wasCalled; }, "fail never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(fail).toHaveBeenCalled(); - expect(win).not.toHaveBeenCalled(); - }); - }), - fail = jasmine.createSpy().andCallFake(function(error) { - expect(error).toBeDefined(); - expect(error.code).toBe(FileError.PATH_EXISTS_ERR); - - // cleanup - existingDir.remove(null, fail); - }), - win = createWin('DirectoryEntry'); - - // create directory to kick off it - runs(function() { - root.getDirectory(dirName, {create:true}, getDir, fail); - }); - - waitsFor(function() { return getDir.wasCalled; }, "getDir never called", Tests.TEST_TIMEOUT); - }); - it("DirectoryEntry.getDirectory: get Entry for existing directory", function() { - var dirName = "de.get.dir", - dirPath = root.fullPath + '\\' + dirName, - getDir = jasmine.createSpy().andCallFake(function(directory) { - // create:false, exclusive:false, directory exists - runs(function() { - root.getDirectory(dirName, {create:false}, win, fail); - }); - - waitsFor(function() { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(win).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }), - win = jasmine.createSpy().andCallFake(function(directory) { - expect(directory).toBeDefined(); - expect(directory.isFile).toBe(false); - expect(directory.isDirectory).toBe(true); - expect(directory.name).toBe(dirName); - - expect(directory.fullPath).toBe(dirPath); - - // cleanup - directory.remove(null, fail); - }), - fail = createFail('DirectoryEntry'); - - // create directory to kick off it - root.getDirectory(dirName, {create:true}, getDir, fail); - }); - it("DirectoryEntry.getDirectory: get DirectoryEntry for invalid path", function() { - var dirName = "de:invalid:path", - fail = jasmine.createSpy().andCallFake(function(error) { - expect(error).toBeDefined(); - expect(error.code).toBe(FileError.ENCODING_ERR); - }), - win = createWin('DirectoryEntry'); - - // create:false, exclusive:false, invalid path - runs(function() { - root.getDirectory(dirName, {create:false}, win, fail); - }); - - waitsFor(function() { return fail.wasCalled; }, "fail never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(fail).toHaveBeenCalled(); - expect(win).not.toHaveBeenCalled(); - }); - }); - it("DirectoryEntry.getDirectory: get DirectoryEntry for existing file", function() { - var fileName = "de.existing.file", - existingFile, - filePath = root.fullPath + '\\' + fileName, - getDir = jasmine.createSpy().andCallFake(function(file) { - existingFile = file; - // create:false, exclusive:false, existing file - runs(function() { - root.getDirectory(fileName, {create:false}, win, fail); - }); - - waitsFor(function() { return fail.wasCalled; }, "fail never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(fail).toHaveBeenCalled(); - expect(win).not.toHaveBeenCalled(); - }); - }), - fail = jasmine.createSpy().andCallFake(function(error) { - expect(error).toBeDefined(); - //expect(error.code).toBe(FileError.TYPE_MISMATCH_ERR); - - // cleanup - existingFile.remove(null, null); - }), - win = createWin('DirectoryEntry'); - - // create file to kick off it - runs(function() { - root.getFile(fileName, {create:true}, getDir, fail); - }); - - waitsFor(function() { return getDir.wasCalled; }, "getDir was called", Tests.TEST_TIMEOUT); - }); - it("DirectoryEntry.getFile: get FileEntry for existing directory", function() { - var dirName = "de.existing.dir", - existingDir, - dirPath = root.fullPath + '\\' + dirName, - getFile = jasmine.createSpy().andCallFake(function(directory) { - existingDir = directory; - // create:false, exclusive:false, existing directory - runs(function() { - root.getFile(dirName, {create:false}, win, fail); - }); - - waitsFor(function() { return fail.wasCalled; }, "fail never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(fail).toHaveBeenCalled(); - expect(win).not.toHaveBeenCalled(); - }); - }), - fail = jasmine.createSpy().andCallFake(function(error) { - expect(error).toBeDefined(); - //expect(error.code).toBe(FileError.TYPE_MISMATCH_ERR); - - // cleanup - existingDir.remove(null, null); - }), - win = createWin('DirectoryEntry'); - - // create directory to kick off it - runs(function() { - root.getDirectory(dirName, {create:true}, getFile, fail); - }); - - waitsFor(function() { return getFile.wasCalled; }, "getFile never called", Tests.TEST_TIMEOUT); - }); - it("DirectoryEntry.removeRecursively on directory", function() { - var dirName = "de.removeRecursively.dir", - subDirName = "dir", - dirPath = root.fullPath + '\\' + dirName, - //subDirPath = this.root.fullPath + '/' + subDirName, - subDirPath = dirPath + '\\' + subDirName, - entryCallback = jasmine.createSpy().andCallFake(function(entry) { - // delete directory - var deleteDirectory = jasmine.createSpy().andCallFake(function(directory) { - runs(function () { - - console.log("1======"+ directory.fullPath); - entry.removeRecursively(remove, fail); - }); - - waitsFor(function() { return remove.wasCalled; }, "remove never called", Tests.TEST_TIMEOUT); - }); - // create a sub-directory within directory - runs(function () { - console.log("2======"); - - entry.getDirectory('dir2', { create: true }, function (entry) {console.log(entry.fullPath) }, fail); - entry.getDirectory(subDirName, { create: true }, addNewFolder, fail); - - - }); - - waitsFor(function () { return addNewFolder.wasCalled; }, "addNewFolder never called", Tests.TEST_TIMEOUT); - - var addNewFolder = jasmine.createSpy().andCallFake(function (entry) { - runs(function () { - console.log(entry.fullPath); - entry.getDirectory(subDirName, { create: true }, deleteDirectory, fail); - - }) - waitsFor(function () { return deleteDirectory.wasCalled; }, "deleteDirectory never called", Tests.TEST_TIMEOUT); - - }) - }), - remove = jasmine.createSpy().andCallFake(function() { - // it that removed directory no longer exists - runs(function () { - console.log("3======"); - root.getDirectory(dirName, {create:false}, win, dirExists); - }); - - waitsFor(function() { return dirExists.wasCalled; }, "dirExists never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(dirExists).toHaveBeenCalled(); - expect(win).not.toHaveBeenCalled(); - }); - }), - dirExists = jasmine.createSpy().andCallFake(function(error){ - expect(error).toBeDefined(); - expect(error.code).toBe(FileError.NOT_FOUND_ERR); - }), - fail = createFail('DirectoryEntry'), - win = createWin('DirectoryEntry'); - - // create a new directory entry to kick off it - runs(function() { - root.getDirectory(dirName, {create:true}, entryCallback, fail); - }); - - waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT); - }); - it("createReader: create reader on existing directory", function() { - // create reader for root directory - var reader = root.createReader(); - expect(reader).toBeDefined(); - expect(typeof reader.readEntries).toBe('function'); - }); - it("removeRecursively on root file system", function() { - var remove = jasmine.createSpy().andCallFake(function(error) { - expect(error).toBeDefined(); - expect(error.code).toBe(FileError.NO_MODIFICATION_ALLOWED_ERR); - }), - win = createWin('DirectoryEntry'); - - // remove root file system - runs(function() { - root.removeRecursively(win, remove); - }); - - waitsFor(function() { return remove.wasCalled; }, "remove never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(win).not.toHaveBeenCalled(); - expect(remove).toHaveBeenCalled(); - }); - }); - }); - - describe('DirectoryReader interface', function() { - describe("readEntries", function() { - it("should read contents of existing directory", function() { - var reader, - win = jasmine.createSpy().andCallFake(function(entries) { - expect(entries).toBeDefined(); - expect(entries instanceof Array).toBe(true); - }), - fail = createFail('DirectoryReader'); - - // create reader for root directory - reader = root.createReader(); - // read entries - runs(function() { - reader.readEntries(win, fail); - }); - - waitsFor(function() { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(win).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }); - it("should read contents of directory that has been removed", function() { - var dirName = "de.createReader.notfound.dir", - dirPath = root.fullPath + '\\' + dirName, - entryCallback = jasmine.createSpy().andCallFake(function(directory) { - // read entries - var readEntries = jasmine.createSpy().andCallFake(function() { - var reader = directory.createReader(); - - runs(function() { - reader.readEntries(win, itReader); - }); - - waitsFor(function() { return itReader.wasCalled; }, "itReader never called", Tests.TEST_TIMEOUT); - }); - // delete directory - runs(function() { - directory.removeRecursively(readEntries, fail); - }); - - waitsFor(function() { return readEntries.wasCalled; }, "readEntries never called", Tests.TEST_TIMEOUT); - }), - itReader = jasmine.createSpy().andCallFake(function(error) { - var itDirectoryExists = jasmine.createSpy().andCallFake(function(error) { - expect(error).toBeDefined(); - expect(error.code).toBe(FileError.NOT_FOUND_ERR); - }); - - expect(error).toBeDefined(); - expect(error.code).toBe(FileError.NOT_FOUND_ERR); - - runs(function() { - root.getDirectory(dirName, {create:false}, win, itDirectoryExists); - }); - - waitsFor(function() { return itDirectoryExists.wasCalled; }, "itDirectoryExists never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(itDirectoryExists).toHaveBeenCalled(); - expect(win).not.toHaveBeenCalled(); - }); - }), - fail = createFail('DirectoryReader'), - win = createWin('DirectoryReader'); - - // create a new directory entry to kick off it - runs(function() { - root.getDirectory(dirName, {create:true}, entryCallback, fail); - }); - - waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT); - }); - }); - }); - - describe('File', function() { - it("constructor should be defined", function() { - expect(File).toBeDefined(); - expect(typeof File).toBe('function'); - }); - it("should be define File attributes", function() { - var file = new File(); - expect(file.name).toBeDefined(); - expect(file.fullPath).toBeDefined(); - expect(file.type).toBeDefined(); - expect(file.lastModifiedDate).toBeDefined(); - expect(file.size).toBeDefined(); - }); - }); - - describe('FileEntry', function() { - it("should be define FileEntry methods", function() { - var fileName = "fe.methods", - itFileEntry = jasmine.createSpy().andCallFake(function(fileEntry) { - expect(fileEntry).toBeDefined(); - expect(typeof fileEntry.createWriter).toBe('function'); - expect(typeof fileEntry.file).toBe('function'); - - // cleanup - fileEntry.remove(null, fail); - }), - fail = createFail('FileEntry'); - - // create a new file entry to kick off it - runs(function() { - root.getFile(fileName, {create:true}, itFileEntry, fail); - }); - - waitsFor(function() { return itFileEntry.wasCalled; }, "itFileEntry never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(itFileEntry).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }); - it("createWriter should return a FileWriter object", function() { - var fileName = "fe.createWriter", - itFile, - entryCallback = jasmine.createSpy().andCallFake(function(fileEntry) { - itFile = fileEntry; - - runs(function() { - fileEntry.createWriter(itWriter, fail); - }); - - waitsFor(function() { return itWriter.wasCalled; }, "itWriter", Tests.TEST_TIMEOUT); - - runs(function() { - expect(itWriter).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }), - itWriter = jasmine.createSpy().andCallFake(function(writer) { - expect(writer).toBeDefined(); - expect(writer instanceof FileWriter).toBe(true); - - // cleanup - itFile.remove(null, fail); - }), - fail = createFail('FileEntry'); - - // create a new file entry to kick off it - runs(function() { - root.getFile(fileName, {create:true}, entryCallback, fail); - }); - - waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT); - }); - it("file should return a File object", function() { - var fileName = "fe.file", - newFile, - entryCallback = jasmine.createSpy().andCallFake(function(fileEntry) { - newFile = fileEntry; - - runs(function() { - fileEntry.file(itFile, fail); - }); - - waitsFor(function() { return itFile.wasCalled; }, "itFile never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(itFile).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }), - itFile = jasmine.createSpy().andCallFake(function(file) { - expect(file).toBeDefined(); - expect(file instanceof File).toBe(true); - - // cleanup - newFile.remove(null, fail); - }), - fail = createFail('FileEntry'); - - // create a new file entry to kick off it - runs(function() { - root.getFile(fileName, {create:true}, entryCallback, fail); - }); - - waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT); - }); - it("file: on File that has been removed", function() { - var fileName = "fe.no.file", - entryCallback = jasmine.createSpy().andCallFake(function(fileEntry) { - // create File object - var getFile = jasmine.createSpy().andCallFake(function() { - runs(function() { - fileEntry.file(win, itFile); - }); - - waitsFor(function() { return itFile.wasCalled; }, "itFile never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(itFile).toHaveBeenCalled(); - expect(win).not.toHaveBeenCalled(); - }); - }); - // delete file - runs(function() { - fileEntry.remove(getFile, fail); - }); - - waitsFor(function() { return getFile.wasCalled; }, "getFile never called", Tests.TEST_TIMEOUT); - }), - itFile = jasmine.createSpy().andCallFake(function(error) { - expect(error).toBeDefined(); - expect(error.code).toBe(FileError.NOT_FOUND_ERR); - }), - fail = createFail('FileEntry'), - win = createWin('FileEntry'); - - // create a new file entry to kick off it - runs(function() { - root.getFile(fileName, {create:true}, entryCallback, fail); - }); - - waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT); - }); - }); - describe('Entry', function() { - it("Entry object", function() { - var fileName = "entry.txt", - fullPath = root.fullPath + '\\' + fileName, - fail = createFail('Entry'), - itEntry = jasmine.createSpy().andCallFake(function(entry) { - expect(entry).toBeDefined(); - expect(entry.isFile).toBe(true); - expect(entry.isDirectory).toBe(false); - expect(entry.name).toBe(fileName); - expect(entry.fullPath).toBe(fullPath); - expect(typeof entry.getMetadata).toBe('function'); - expect(typeof entry.moveTo).toBe('function'); - expect(typeof entry.copyTo).toBe('function'); - expect(typeof entry.toURL).toBe('function'); - expect(typeof entry.remove).toBe('function'); - expect(typeof entry.getParent).toBe('function'); - expect(typeof entry.createWriter).toBe('function'); - expect(typeof entry.file).toBe('function'); - - // cleanup - deleteEntry(fileName); - }); - - // create a new file entry - runs(function() { - createFile(fileName, itEntry, fail); - }); - - waitsFor(function() { return itEntry.wasCalled; }, "itEntry", Tests.TEST_TIMEOUT); - - runs(function() { - expect(itEntry).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }); - it("Entry.getMetadata on file", function() { - var fileName = "entry.metadata.file", - entryCallback = jasmine.createSpy().andCallFake(function(entry) { - runs(function() { - entry.getMetadata(itMetadata, fail); - }); - - waitsFor(function() { return itMetadata.wasCalled; }, "itMetadata never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(itMetadata).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }), - fail = createFail('Entry'), - itMetadata = jasmine.createSpy().andCallFake(function(metadata) { - expect(metadata).toBeDefined(); - expect(metadata.modificationTime instanceof Date).toBe(true); - - // cleanup - deleteEntry(fileName); - }); - - // create a new file entry - createFile(fileName, entryCallback, fail); - }); - it("Entry.getMetadata on directory", function() { - var dirName = "entry.metadata.dir", - entryCallback = jasmine.createSpy().andCallFake(function(entry) { - runs(function() { - entry.getMetadata(itMetadata, fail); - }); - - waitsFor(function() { return itMetadata.wasCalled; }, "itMetadata never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(itMetadata).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }), - fail = createFail('Entry'), - itMetadata = jasmine.createSpy().andCallFake(function(metadata) { - expect(metadata).toBeDefined(); - expect(metadata.modificationTime instanceof Date).toBe(true); - - // cleanup - deleteEntry(dirName); - }); - - // create a new directory entry - runs(function() { - createDirectory(dirName, entryCallback, fail); - }); - - waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT); - }); - it("Entry.getParent on file in root file system", function() { - var fileName = "entry.parent.file", - rootPath = root.fullPath, - fail = createFail('Entry'), - entryCallback = jasmine.createSpy().andCallFake(function(entry) { - runs(function() { - entry.getParent(itParent, fail); - }); - - waitsFor(function() { return itParent.wasCalled; }, "itCalled never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(itParent).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }), - itParent = jasmine.createSpy().andCallFake(function(parent) { - expect(parent).toBeDefined(); - expect(parent.fullPath).toBe(rootPath); - - // cleanup - deleteEntry(fileName); - }); - - // create a new file entry - runs(function() { - createFile(fileName, entryCallback, fail); - }); - - waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT); - }); - it("Entry.getParent on directory in root file system", function() { - var dirName = "entry.parent.dir", - rootPath = root.fullPath, - fail = createFail('Entry'), - entryCallback = jasmine.createSpy().andCallFake(function(entry) { - runs(function() { - entry.getParent(itParent, fail); - }); - - waitsFor(function() { return itParent.wasCalled; }, "itParent never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(itParent).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }), - itParent = jasmine.createSpy().andCallFake(function(parent) { - expect(parent).toBeDefined(); - expect(parent.fullPath).toBe(rootPath); - - // cleanup - deleteEntry(dirName); - }); - - // create a new directory entry - runs(function() { - createDirectory(dirName, entryCallback, fail); - }); - - waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT); - }); - it("Entry.getParent on root file system", function() { - var rootPath = root.fullPath, - itParent = jasmine.createSpy().andCallFake(function(parent) { - expect(parent).toBeDefined(); - expect(parent.fullPath).toBe(rootPath); - }), - fail = createFail('Entry'); - - // create a new directory entry - runs(function() { - root.getParent(itParent, fail); - }); - - waitsFor(function() { return itParent.wasCalled; }, "itParent never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(itParent).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }); - it("Entry.toURL on file", function() { - var fileName = "entry.uri.file", - rootPath = root.fullPath, - itURL = jasmine.createSpy().andCallFake(function(entry) { - var uri = entry.toURL(); - expect(uri).toBeDefined(); - expect(uri.indexOf(rootPath)).not.toBe(-1); - - // cleanup - deleteEntry(fileName); - }), - fail = createFail('Entry'); - - // create a new file entry - runs(function() { - createFile(fileName, itURL, fail); - }); - - waitsFor(function() { return itURL.wasCalled; }, "itURL never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(itURL).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }); - it("Entry.toURL on directory", function() { - var dirName = "entry.uri.dir", - rootPath = root.fullPath, - itURL = jasmine.createSpy().andCallFake(function(entry) { - var uri = entry.toURL(); - expect(uri).toBeDefined(); - expect(uri.indexOf(rootPath)).not.toBe(-1); - - // cleanup - deleteEntry(dirName); - }), - fail = createFail('Entry'); - - // create a new directory entry - runs(function() { - createDirectory(dirName, itURL, fail); - }); - - waitsFor(function() { return itURL.wasCalled; }, "itURL never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(itURL).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }); - it("Entry.remove on file", function() { - var fileName = "entry.rm.file", - fullPath = root.fullPath + '\\' + fileName, - win = createWin('Entry'), - entryCallback = jasmine.createSpy().andCallFake(function(entry) { - var checkRemove = jasmine.createSpy().andCallFake(function() { - runs(function() { - root.getFile(fileName, null, win, itRemove); - }); - - waitsFor(function() { return itRemove.wasCalled; }, "itRemove never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(win).not.toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - expect(itRemove).toHaveBeenCalled(); - }); - }); - expect(entry).toBeDefined(); - - runs(function() { - entry.remove(checkRemove, fail); - }); - - waitsFor(function() { return checkRemove.wasCalled; }, "checkRemove never called", Tests.TEST_TIMEOUT); - }), - itRemove = jasmine.createSpy().andCallFake(function(error) { - expect(error).toBeDefined(); - expect(error.code).toBe(FileError.NOT_FOUND_ERR); - // cleanup - deleteEntry(fileName); - }), - fail = createFail('Entry'); - - // create a new file entry - runs(function() { - createFile(fileName, entryCallback, fail); - }); - - waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT); - }); - it("remove on empty directory", function() { - var dirName = "entry.rm.dir", - fullPath = root.fullPath + '\\' + dirName, - entryCallback = jasmine.createSpy().andCallFake(function(entry) { - var checkRemove = jasmine.createSpy().andCallFake(function() { - runs(function() { - root.getDirectory(dirName, null, win, itRemove); - }); - - waitsFor(function() { return itRemove.wasCalled; }, "itRemove never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(itRemove).toHaveBeenCalled(); - expect(win).not.toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }); - - expect(entry).toBeDefined(); - - runs(function() { - entry.remove(checkRemove, fail); - }); - - waitsFor(function() { return checkRemove.wasCalled; }, "checkRemove never called", Tests.TEST_TIMEOUT); - }), - itRemove = jasmine.createSpy().andCallFake(function(error) { - expect(error).toBeDefined(); - expect(error.code).toBe(FileError.NOT_FOUND_ERR); - // cleanup - deleteEntry(dirName); - }), - win = createWin('Entry'), - fail = createFail('Entry'); - - // create a new directory entry - runs(function() { - createDirectory(dirName, entryCallback, fail); - }); - - waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT); - }); - it("remove on non-empty directory", function() { - var dirName = "entry.rm.dir.not.empty", - fullPath = root.fullPath + '\\' + dirName, - fileName = "remove.txt", - entryCallback = jasmine.createSpy().andCallFake(function (entry) { - - var checkFile = jasmine.createSpy().andCallFake(function (error) { - console.log("test3"); - for (var i = 0; i < arguments.length; i++) { - console.log(i + "=" + arguments[i]); - } - - console.log("testError==========" + error); - expect(error).toBeDefined(); - expect(error.code).toBe(FileError.INVALID_MODIFICATION_ERR); - // verify that dir still exists - runs(function() { - root.getDirectory(dirName, null, itRemove, fail); - }); - - waitsFor(function() { return itRemove.wasCalled; }, "itRemove never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(win).not.toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - expect(itRemove).toHaveBeenCalled(); - }); - }); - // delete directory - var deleteDirectory = jasmine.createSpy().andCallFake(function (fileEntry) { - console.log("test2"); - runs(function() { - entry.remove(win, checkFile); - }); - - waitsFor(function() { return checkFile.wasCalled; }, "checkFile never called", Tests.TEST_TIMEOUT); - }); - // create a file within directory, then try to delete directory - runs(function () { - console.log("test1"); - entry.getFile(fileName, {create: true}, deleteDirectory, fail); - }); - - waitsFor(function() { return deleteDirectory.wasCalled; }, "deleteDirectory never called", Tests.TEST_TIMEOUT); - }), - itRemove = jasmine.createSpy().andCallFake(function (entry) { - console.log("test4"); - expect(entry).toBeDefined(); - expect(entry.fullPath).toBe(fullPath); - // cleanup - deleteEntry(dirName); - }), - win = createWin('Entry'), - fail = createFail('Entry'); - - // create a new directory entry - runs(function() { - createDirectory(dirName, entryCallback, fail); - }); - - waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT); - }); - it("remove on root file system", function() { - var itRemove = jasmine.createSpy().andCallFake(function(error) { - expect(error).toBeDefined(); - expect(error.code).toBe(FileError.NO_MODIFICATION_ALLOWED_ERR); - }), - win = createWin('Entry'); - - // remove entry that doesn't exist - runs(function() { - root.remove(win, itRemove); - }); - - waitsFor(function() { return itRemove.wasCalled; }, "itRemove never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(win).not.toHaveBeenCalled(); - expect(itRemove).toHaveBeenCalled(); - }); - }); - it("copyTo: file", function() { - var file1 = "entry.copy.file1.txt", - file2 = "entry.copy.file2.txt", - fullPath = root.fullPath + '\\' + file2, - fail = createFail('Entry'), - entryCallback = jasmine.createSpy().andCallFake(function(entry) { - // copy file1 to file2 - runs(function () { - console.log("1============="); - entry.copyTo(root, file2, itCopy, fail); - }); - - waitsFor(function() { return itCopy.wasCalled; }, "itCopy never called", Tests.TEST_TIMEOUT); - }), - itCopy = jasmine.createSpy().andCallFake(function(entry) { - expect(entry).toBeDefined(); - expect(entry.isFile).toBe(true); - expect(entry.isDirectory).toBe(false); - expect(entry.fullPath).toBe(fullPath); - expect(entry.name).toBe(file2); - - runs(function () { - console.log("2============="); - root.getFile(file2, {create:false}, itFileExists, fail); - }); - - waitsFor(function() { return itFileExists.wasCalled; }, "itFileExists never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(fail).not.toHaveBeenCalled(); - expect(itFileExists).toHaveBeenCalled(); - }); - }), - itFileExists = jasmine.createSpy().andCallFake(function(entry2) { - // a bit redundant since copy returned this entry already - expect(entry2).toBeDefined(); - expect(entry2.isFile).toBe(true); - expect(entry2.isDirectory).toBe(false); - expect(entry2.fullPath).toBe(fullPath); - expect(entry2.name).toBe(file2); - - // cleanup - deleteEntry(file1); - deleteEntry(file2); - }); - - // create a new file entry to kick off it - runs(function() { - createFile(file1, entryCallback, fail); - }); - - waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT); - }); - it("copyTo: file onto itself", function() { - var file1 = "entry.copy.fos.file1.txt", - entryCallback = jasmine.createSpy().andCallFake(function(entry) { - // copy file1 onto itself - runs(function() { - entry.copyTo(root, null, win, itCopy); - }); - - waitsFor(function() { return itCopy.wasCalled; }, "itCopy never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(itCopy).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - expect(win).not.toHaveBeenCalled(); - }); - }), - fail = createFail('Entry'), - win = createWin('Entry'), - itCopy = jasmine.createSpy().andCallFake(function(error) { - expect(error).toBeDefined(); - expect(error.code).toBe(FileError.INVALID_MODIFICATION_ERR); - - // cleanup - deleteEntry(file1); - }); - - // create a new file entry to kick off it - runs(function() { - createFile(file1, entryCallback, fail); - }); - - waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT); - }); - it("copyTo: directory", function() { - var file1 = "file1.txt", - srcDir = "entry.copy.srcDir.dir", - dstDir = "entry.copy.dstDir.dir", - dstPath = root.fullPath + '\\' + dstDir, - filePath = dstPath + '\\' + file1, - entryCallback = jasmine.createSpy().andCallFake(function(directory) { - var copyDir = jasmine.createSpy().andCallFake(function(fileEntry) { - // copy srcDir to dstDir - runs(function() { - directory.copyTo(root, dstDir, itCopy, fail); - }); - - waitsFor(function() { return itCopy.wasCalled; }, "itCopy never called", Tests.TEST_TIMEOUT); - }); - - // create a file within new directory - runs(function() { - directory.getFile(file1, {create: true}, copyDir, fail); - }); - - waitsFor(function() { return copyDir.wasCalled; }, "copyDir never called", Tests.TEST_TIMEOUT); - }), - itCopy = jasmine.createSpy().andCallFake(function(directory) { - expect(directory).toBeDefined(); - expect(directory.isFile).toBe(false); - expect(directory.isDirectory).toBe(true); - expect(directory.fullPath).toBe(dstPath); - expect(directory.name).toBe(dstDir); - - runs(function() { - root.getDirectory(dstDir, {create:false}, itDirExists, fail); - }); - - waitsFor(function() { return itDirExists.wasCalled; }, "itDirExists never called", Tests.TEST_TIMEOUT); - }), - itDirExists = jasmine.createSpy().andCallFake(function(dirEntry) { - expect(dirEntry).toBeDefined(); - expect(dirEntry.isFile).toBe(false); - expect(dirEntry.isDirectory).toBe(true); - expect(dirEntry.fullPath).toBe(dstPath); - expect(dirEntry.name).toBe(dstDir); - - runs(function() { - dirEntry.getFile(file1, {create:false}, itFileExists, fail); - }); - - waitsFor(function() { return itFileExists.wasCalled; }, "itFileExists never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(itFileExists).toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }), - itFileExists = jasmine.createSpy().andCallFake(function(fileEntry) { - expect(fileEntry).toBeDefined(); - expect(fileEntry.isFile).toBe(true); - expect(fileEntry.isDirectory).toBe(false); - expect(fileEntry.fullPath).toBe(filePath); - expect(fileEntry.name).toBe(file1); - - // cleanup - deleteEntry(srcDir); - deleteEntry(dstDir); - }), - fail = createFail('Entry'); - - // create a new directory entry to kick off it - runs(function() { - createDirectory(srcDir, entryCallback, fail); - }); - - waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT); - }); - it("copyTo: directory to backup at same root directory", function() { - var file1 = "file1.txt", - srcDir = "entry.copy.srcDirSame.dir", - dstDir = "entry.copy.srcDirSame-backup.dir", - dstPath = root.fullPath + '\\' + dstDir, - filePath = dstPath + '\\' + file1, - fail = createFail('Entry copyTo: directory to backup at same root'), - entryCallback = function(directory) { - var copyDir = function(fileEntry) { - // copy srcDir to dstDir - directory.copyTo(root, dstDir, itCopy, fail); - }; - // create a file within new directory - directory.getFile(file1, {create: true}, copyDir, fail); - }, - itCopy = function(directory) { - expect(directory).toBeDefined(); - expect(directory.isFile).toBe(false); - expect(directory.isDirectory).toBe(true); - expect(directory.fullPath).toBe(dstPath); - expect(directory.name).toBe(dstDir); - - root.getDirectory(dstDir, {create:false}, itDirExists, fail); - }, - itDirExists = function(dirEntry) { - expect(dirEntry).toBeDefined(); - expect(dirEntry.isFile).toBe(false); - expect(dirEntry.isDirectory).toBe(true); - expect(dirEntry.fullPath).toBe(dstPath); - expect(dirEntry.name).toBe(dstDir); - - dirEntry.getFile(file1, {create:false}, itFileExists, fail); - }, - itFileExists = jasmine.createSpy().andCallFake(function(fileEntry) { - var cleanSrc = jasmine.createSpy(); - var cleanDst = jasmine.createSpy(); - runs(function() { - expect(fileEntry).toBeDefined(); - expect(fileEntry.isFile).toBe(true); - expect(fileEntry.isDirectory).toBe(false); - expect(fileEntry.fullPath).toBe(filePath); - expect(fileEntry.name).toBe(file1); - expect(fail).not.toHaveBeenCalled(); - - // cleanup - deleteEntry(srcDir, cleanSrc); - deleteEntry(dstDir, cleanDst); - }); - - waitsFor(function() { return cleanSrc.wasCalled && cleanDst.wasCalled; }, "cleanSrc and cleanDst cleanup methods", Tests.TEST_TIMEOUT); - }); - - // create a new directory entry to kick off it - runs(function() { - createDirectory(srcDir, entryCallback, fail); - }); - - waitsFor(function() { return itFileExists.wasCalled; }, "itFileExists", 10000); - }); - it("copyTo: directory onto itself", function() { - var file1 = "file1.txt", - srcDir = "entry.copy.dos.srcDir.dir", - srcPath = root.fullPath + '\\' + srcDir, - filePath = srcPath + '\\' + file1, - win = createWin('Entry'), - fail = createFail('Entry copyTo: directory onto itself'), - entryCallback = jasmine.createSpy().andCallFake(function(directory) { - var copyDir = jasmine.createSpy().andCallFake(function(fileEntry) { - // copy srcDir onto itself - runs(function() { - directory.copyTo(root, null, win, itCopy); - }); - - waitsFor(function() { return itCopy.wasCalled; }, "itCopy never called", Tests.TEST_TIMEOUT); - }); - // create a file within new directory - runs(function() { - directory.getFile(file1, {create: true}, copyDir, fail); - }); - - waitsFor(function() { return copyDir.wasCalled; }, "copyDir never called", Tests.TEST_TIMEOUT); - }), - itCopy = jasmine.createSpy().andCallFake(function(error) { - expect(error).toBeDefined(); - expect(error.code).toBe(FileError.INVALID_MODIFICATION_ERR); - - runs(function() { - root.getDirectory(srcDir, {create:false}, itDirectoryExists, fail); - }); - - waitsFor(function() { return itDirectoryExists.wasCalled; }, "itDirectoryExists", Tests.TEST_TIMEOUT); - }), - itDirectoryExists = jasmine.createSpy().andCallFake(function(dirEntry) { - // returning confirms existence so just check fullPath entry - expect(dirEntry).toBeDefined(); - expect(dirEntry.fullPath).toBe(srcPath); - - runs(function() { - dirEntry.getFile(file1, {create:false}, itFileExists, fail); - }); - - waitsFor(function() { return itFileExists.wasCalled; }, "itFileExists never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(win).not.toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - expect(itFileExists).toHaveBeenCalled(); - }); - }), - itFileExists = jasmine.createSpy().andCallFake(function(fileEntry) { - expect(fileEntry).toBeDefined(); - expect(fileEntry.fullPath).toBe(filePath); - - // cleanup - deleteEntry(srcDir); - }); - - // create a new directory entry to kick off it - runs(function() { - createDirectory(srcDir, entryCallback, fail); - }); - - waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT); - }); - it("copyTo: directory into itself", function() { - var srcDir = "entry.copy.dis.srcDir.dir", - dstDir = "entry.copy.dis.dstDir.dir", - fail = createFail('Entry'), - win = createWin('Entry'), - srcPath = root.fullPath + '\\' + srcDir, - entryCallback = jasmine.createSpy().andCallFake(function(directory) { - // copy source directory into itself - runs(function() { - directory.copyTo(directory, dstDir, win, itCopy); - }); - - waitsFor(function() { return itCopy.wasCalled; }, "itCopy", Tests.TEST_TIMEOUT); - }), - itCopy = jasmine.createSpy().andCallFake(function(error) { - expect(error).toBeDefined(); - expect(error.code).toBe(FileError.INVALID_MODIFICATION_ERR); - - runs(function() { - root.getDirectory(srcDir, {create:false}, itDirectoryExists, fail); - }); - - waitsFor(function() { return itDirectoryExists.wasCalled; }, "itDirectoryExists never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(itDirectoryExists).toHaveBeenCalled(); - expect(win).not.toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }), - itDirectoryExists = jasmine.createSpy().andCallFake(function(dirEntry) { - // returning confirms existence so just check fullPath entry - expect(dirEntry).toBeDefined(); - expect(dirEntry.fullPath).toBe(srcPath); - - // cleanup - deleteEntry(srcDir); - }); - - // create a new directory entry to kick off it - runs(function() { - createDirectory(srcDir, entryCallback, fail); - }); - - waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT); - }); - it("copyTo: directory that does not exist", function() { - var file1 = "entry.copy.dnf.file1.dir", - dstDir = "entry.copy.dnf.dstDir.dir", - filePath = root.fullPath + '\\' + file1, - dstPath = root.fullPath + '\\' + dstDir, - win = createWin('Entry'), - fail = createFail('Entry'), - entryCallback = jasmine.createSpy().andCallFake(function(entry) { - // copy file to target directory that does not exist - runs(function() { - directory = new DirectoryEntry(); - directory.fullPath = dstPath; - entry.copyTo(directory, null, win, itCopy); - }); - - waitsFor(function() { return itCopy.wasCalled; }, "itCopy never called", Tests.TEST_TIMEOUT); - }), - itCopy = jasmine.createSpy().andCallFake(function(error) { - expect(error).toBeDefined(); - expect(error.code).toBe(FileError.NOT_FOUND_ERR); - runs(function() { - root.getFile(file1, {create: false}, itFileExists, fail); - }); - - waitsFor(function() { return itFileExists.wasCalled; }, "itFileExists never called", Tests.TEST_TIMEOUT); - - runs(function() { - expect(itFileExists).toHaveBeenCalled(); - expect(win).not.toHaveBeenCalled(); - expect(fail).not.toHaveBeenCalled(); - }); - }), - itFileExists = jasmine.createSpy().andCallFake(function(fileEntry) { - expect(fileEntry).toBeDefined(); - expect(fileEntry.fullPath).toBe(filePath); - - // cleanup - deleteEntry(file1); - }); - - // create a new file entry to kick off it - runs(function() { - createFile(file1, entryCallback,