const Ci = Components.interfaces; const Cc = Components.classes; var nameArray = [ "ascii", // ASCII "fran\u00E7ais", // Latin-1 "\u0420\u0443\u0441\u0441\u043A\u0438\u0439", // Cyrillic "\u65E5\u672C\u8A9E", // Japanese "\u4E2D\u6587", // Chinese "\uD55C\uAD6D\uC5B4", // Korean "\uD801\uDC0F\uD801\uDC2D\uD801\uDC3B\uD801\uDC2B" // Deseret ]; function getTempDir() { var dirService = Cc["@mozilla.org/file/directory_service;1"] .getService(Ci.nsIProperties); return dirService.get("TmpD", Ci.nsILocalFile); } function create_file(fileName) { var outFile = getTempDir(); outFile.append(fileName); outFile.createUnique(outFile.NORMAL_FILE_TYPE, 0600); var stream = Cc["@mozilla.org/network/file-output-stream;1"] .createInstance(Ci.nsIFileOutputStream); stream.init(outFile, 0x02 | 0x08 | 0x20, 0600, 0); stream.write("foo", 3); stream.close(); do_check_eq(outFile.leafName.substr(0, fileName.length), fileName); return outFile; } function test_create(fileName) { var file1 = create_file(fileName); var file2 = create_file(fileName); file1.remove(false); file2.remove(false); } function run_test() { for (var i = 0; i < nameArray.length; ++i) { test_create(nameArray[i]); } }