michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. michael@0: */ michael@0: michael@0: function run_test() michael@0: { michael@0: // In this test we try to open some files that aren't archives: michael@0: // - An empty file, that is certainly not an archive. michael@0: // - A file that couldn't be mistaken for archive, since it is too small. michael@0: // - A file that could be mistaken for archive, if we checked only the file michael@0: // size, but is invalid since it contains no ZIP signature. michael@0: var invalidArchives = ["emptyfile.txt", "smallfile.txt", "test.png"]; michael@0: michael@0: invalidArchives.forEach(function(invalidArchive) { michael@0: // Get a reference to the invalid file michael@0: var invalidFile = do_get_file(DATA_DIR + invalidArchive); michael@0: michael@0: // Opening the invalid file should fail (but not crash) michael@0: try { michael@0: zipW.open(invalidFile, PR_RDWR); michael@0: do_throw("Should have thrown NS_ERROR_FILE_CORRUPTED on " + michael@0: invalidArchive + " !"); michael@0: } catch (e if (e instanceof Ci.nsIException && michael@0: e.result == Components.results.NS_ERROR_FILE_CORRUPTED)) { michael@0: // do nothing michael@0: } michael@0: }); michael@0: }