|
1 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
2 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
4 |
|
5 const Cc = Components.classes; |
|
6 const Ci = Components.interfaces; |
|
7 |
|
8 // Check that reading non existant inner jars results in the right error |
|
9 |
|
10 function run_test() { |
|
11 var file = do_get_file("data/test_bug597702.zip"); |
|
12 var ios = Cc["@mozilla.org/network/io-service;1"]. |
|
13 getService(Ci.nsIIOService); |
|
14 var outerJarBase = "jar:" + ios.newFileURI(file).spec + "!/"; |
|
15 var goodSpec = "jar:" + outerJarBase + "inner.jar!/hello"; |
|
16 var badSpec = "jar:" + outerJarBase + "jar_that_isnt_in_the.jar!/hello"; |
|
17 var goodChannel = ios.newChannel(goodSpec, null, null); |
|
18 var badChannel = ios.newChannel(badSpec, null, null); |
|
19 |
|
20 try { |
|
21 instr = goodChannel.open(); |
|
22 } catch (e) { |
|
23 do_throw("Failed to open file in inner jar"); |
|
24 } |
|
25 |
|
26 try { |
|
27 instr = badChannel.open(); |
|
28 do_throw("Failed to report that file doesn't exist"); |
|
29 } catch (e) { |
|
30 do_check_true(e.name == "NS_ERROR_FILE_NOT_FOUND"); |
|
31 } |
|
32 } |
|
33 |