|
1 // Tests that calling close on a converter in/output stream doesn't crash |
|
2 // (bug 321379) |
|
3 |
|
4 function run_test() { |
|
5 var StorageStream = Components.Constructor("@mozilla.org/storagestream;1", |
|
6 "nsIStorageStream", |
|
7 "init"); |
|
8 var ConverterInputStream = Components.Constructor("@mozilla.org/intl/converter-input-stream;1", |
|
9 "nsIConverterInputStream", |
|
10 "init"); |
|
11 var ConverterOutputStream = Components.Constructor("@mozilla.org/intl/converter-output-stream;1", |
|
12 "nsIConverterOutputStream", |
|
13 "init"); |
|
14 |
|
15 |
|
16 |
|
17 var storage = new StorageStream(1024, -1, null); |
|
18 |
|
19 // Output |
|
20 var outStr = storage.getOutputStream(0); |
|
21 var out = new ConverterOutputStream(outStr, "UTF-8", 1024, 0xFFFD); |
|
22 out.writeString("Foo."); |
|
23 out.close(); |
|
24 out.close(); // This line should not crash. It should just do nothing. |
|
25 |
|
26 // Input |
|
27 var inStr = storage.newInputStream(0); |
|
28 var inp = new ConverterInputStream(inStr, "UTF-8", 1024, 0xFFFD); |
|
29 inp.close(); |
|
30 inp.close(); // This line should not crash. It should just do nothing. |
|
31 } |