|
1 /* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- |
|
2 * This Source Code Form is subject to the terms of the Mozilla Public |
|
3 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
5 |
|
6 const Cc = Components.classes; |
|
7 const Ci = Components.interfaces; |
|
8 const Cr = Components.results; |
|
9 |
|
10 function run_test() |
|
11 { |
|
12 // Generate a leaf name that is 255 characters long. |
|
13 var longLeafName = new Array(256).join("T"); |
|
14 |
|
15 // Generate the path for a file located in a directory with a long name. |
|
16 var tempFile = Cc["@mozilla.org/file/directory_service;1"]. |
|
17 getService(Ci.nsIProperties).get("TmpD", Ci.nsIFile); |
|
18 tempFile.append(longLeafName); |
|
19 tempFile.append("test.txt"); |
|
20 |
|
21 try { |
|
22 tempFile.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, 0600); |
|
23 do_throw("Creating an item in a folder with a very long name should throw"); |
|
24 } |
|
25 catch (e if (e instanceof Ci.nsIException && |
|
26 e.result == Cr.NS_ERROR_FILE_UNRECOGNIZED_PATH)) { |
|
27 // We expect the function not to crash but to raise this exception. |
|
28 } |
|
29 } |