зеркало из https://github.com/mozilla/pjs.git
Bug 512515. Let JAR channels report 'file not found' when the file isn't found in the JAR file. r=bsmedberg
--HG-- extra : rebase_source : bc52f7c34fe08c755d17ca5b3587807d63f34a14
This commit is contained in:
Родитель
68cafc2b14
Коммит
4dc91848f7
|
@ -672,7 +672,8 @@ nsJARChannel::Open(nsIInputStream **stream)
|
|||
|
||||
// force load the jar file now so GetContentLength will return a
|
||||
// meaningful value once we return.
|
||||
mJarInput->EnsureJarStream();
|
||||
rv = mJarInput->EnsureJarStream();
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
NS_ADDREF(*stream = mJarInput);
|
||||
return NS_OK;
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
// Should report file not found on non-existent files
|
||||
|
||||
const Cc = Components.classes;
|
||||
const Ci = Components.interfaces;
|
||||
const path = "data/test_bug333423.zip";
|
||||
|
||||
function run_test() {
|
||||
var ios = Cc["@mozilla.org/network/io-service;1"].
|
||||
getService(Ci.nsIIOService);
|
||||
var spec = "jar:" + ios.newFileURI(do_get_file(path)).spec + "!/";
|
||||
var channel = ios.newChannel(spec + "file_that_isnt_in.archive", null, null);
|
||||
try {
|
||||
instr = channel.open();
|
||||
do_throw("Failed to report that file doesn't exist")
|
||||
} catch (e) {
|
||||
do_check_true(e.name == "NS_ERROR_FILE_NOT_FOUND")
|
||||
}
|
||||
}
|
Загрузка…
Ссылка в новой задаче