|
1 const Ci = Components.interfaces; |
|
2 const Cc = Components.classes; |
|
3 |
|
4 var nameArray = [ |
|
5 "ascii", // ASCII |
|
6 "fran\u00E7ais", // Latin-1 |
|
7 "\u0420\u0443\u0441\u0441\u043A\u0438\u0439", // Cyrillic |
|
8 "\u65E5\u672C\u8A9E", // Japanese |
|
9 "\u4E2D\u6587", // Chinese |
|
10 "\uD55C\uAD6D\uC5B4", // Korean |
|
11 "\uD801\uDC0F\uD801\uDC2D\uD801\uDC3B\uD801\uDC2B" // Deseret |
|
12 ]; |
|
13 |
|
14 function getTempDir() |
|
15 { |
|
16 var dirService = Cc["@mozilla.org/file/directory_service;1"] |
|
17 .getService(Ci.nsIProperties); |
|
18 return dirService.get("TmpD", Ci.nsILocalFile); |
|
19 } |
|
20 |
|
21 function create_file(fileName) |
|
22 { |
|
23 var outFile = getTempDir(); |
|
24 outFile.append(fileName); |
|
25 outFile.createUnique(outFile.NORMAL_FILE_TYPE, 0600); |
|
26 |
|
27 var stream = Cc["@mozilla.org/network/file-output-stream;1"] |
|
28 .createInstance(Ci.nsIFileOutputStream); |
|
29 stream.init(outFile, 0x02 | 0x08 | 0x20, 0600, 0); |
|
30 stream.write("foo", 3); |
|
31 stream.close(); |
|
32 |
|
33 do_check_eq(outFile.leafName.substr(0, fileName.length), fileName); |
|
34 |
|
35 return outFile; |
|
36 } |
|
37 |
|
38 function test_create(fileName) |
|
39 { |
|
40 var file1 = create_file(fileName); |
|
41 var file2 = create_file(fileName); |
|
42 file1.remove(false); |
|
43 file2.remove(false); |
|
44 } |
|
45 |
|
46 function run_test() |
|
47 { |
|
48 for (var i = 0; i < nameArray.length; ++i) { |
|
49 test_create(nameArray[i]); |
|
50 } |
|
51 } |