1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/netwerk/test/unit/test_bug543805.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,81 @@ 1.4 +const URL = "ftp://localhost/bug543805/"; 1.5 + 1.6 +var year = new Date().getFullYear().toString(); 1.7 + 1.8 +const tests = [ 1.9 + // AIX ls format 1.10 + ["-rw-r--r-- 1 0 11 Jan 1 20:19 nodup.file\r\n" + 1.11 + "-rw-r--r-- 1 0 22 Jan 1 20:19 test.blankfile\r\n" + 1.12 + "-rw-r--r-- 1 0 33 Apr 1 2008 test2.blankfile\r\n" + 1.13 + "-rw-r--r-- 1 0 44 Jan 1 20:19 nodup.file\r\n" + 1.14 + "-rw-r--r-- 1 0 55 Jan 1 20:19 test.file\r\n" + 1.15 + "-rw-r--r-- 1 0 66 Apr 1 2008 test2.file\r\n", 1.16 + 1.17 + "300: " + URL + "\n" + 1.18 + "200: filename content-length last-modified file-type\n" + 1.19 + "201: \"%20nodup.file\" 11 Sun%2C%2001%20Jan%20" + year + "%2020%3A19%3A00 FILE \n" + 1.20 + "201: \"%20test.blankfile\" 22 Sun%2C%2001%20Jan%20" + year + "%2020%3A19%3A00 FILE \n" + 1.21 + "201: \"%20test2.blankfile\" 33 Sun%2C%2001%20Apr%202008%2000%3A00%3A00 FILE \n" + 1.22 + "201: \"nodup.file\" 44 Sun%2C%2001%20Jan%20" + year + "%2020%3A19%3A00 FILE \n" + 1.23 + "201: \"test.file\" 55 Sun%2C%2001%20Jan%20" + year + "%2020%3A19%3A00 FILE \n" + 1.24 + "201: \"test2.file\" 66 Sun%2C%2001%20Apr%202008%2000%3A00%3A00 FILE \n"], 1.25 + 1.26 + // standard ls format 1.27 + [ 1.28 + "-rw-r--r-- 1 500 500 11 Jan 1 20:19 nodup.file\r\n" + 1.29 + "-rw-r--r-- 1 500 500 22 Jan 1 20:19 test.blankfile\r\n" + 1.30 + "-rw-r--r-- 1 500 500 33 Apr 1 2008 test2.blankfile\r\n" + 1.31 + "-rw-r--r-- 1 500 500 44 Jan 1 20:19 nodup.file\r\n" + 1.32 + "-rw-r--r-- 1 500 500 55 Jan 1 20:19 test.file\r\n" + 1.33 + "-rw-r--r-- 1 500 500 66 Apr 1 2008 test2.file\r\n", 1.34 + 1.35 + "300: " + URL + "\n" + 1.36 + "200: filename content-length last-modified file-type\n" + 1.37 + "201: \"%20nodup.file\" 11 Sun%2C%2001%20Jan%20" + year + "%2020%3A19%3A00 FILE \n" + 1.38 + "201: \"%20test.blankfile\" 22 Sun%2C%2001%20Jan%20" + year + "%2020%3A19%3A00 FILE \n" + 1.39 + "201: \"%20test2.blankfile\" 33 Sun%2C%2001%20Apr%202008%2000%3A00%3A00 FILE \n" + 1.40 + "201: \"nodup.file\" 44 Sun%2C%2001%20Jan%20" + year + "%2020%3A19%3A00 FILE \n" + 1.41 + "201: \"test.file\" 55 Sun%2C%2001%20Jan%20" + year + "%2020%3A19%3A00 FILE \n" + 1.42 + "201: \"test2.file\" 66 Sun%2C%2001%20Apr%202008%2000%3A00%3A00 FILE \n"] 1.43 +] 1.44 + 1.45 +function checkData(request, data, ctx) { 1.46 + do_check_eq(tests[0][1], data); 1.47 + tests.shift(); 1.48 + next_test(); 1.49 +} 1.50 + 1.51 +function storeData(status, entry) { 1.52 + do_check_eq(status, Components.results.NS_OK); 1.53 + entry.setMetaDataElement("servertype", "0"); 1.54 + var os = entry.openOutputStream(0); 1.55 + 1.56 + var written = os.write(tests[0][0], tests[0][0].length); 1.57 + if (written != tests[0][0].length) { 1.58 + do_throw("os.write has not written all data!\n" + 1.59 + " Expected: " + written + "\n" + 1.60 + " Actual: " + tests[0][0].length + "\n"); 1.61 + } 1.62 + os.close(); 1.63 + entry.close(); 1.64 + 1.65 + var ios = Components.classes["@mozilla.org/network/io-service;1"]. 1.66 + getService(Components.interfaces.nsIIOService); 1.67 + var channel = ios.newChannel(URL, "", null); 1.68 + channel.asyncOpen(new ChannelListener(checkData, null, CL_ALLOW_UNKNOWN_CL), null); 1.69 +} 1.70 + 1.71 +function next_test() { 1.72 + if (tests.length == 0) 1.73 + do_test_finished(); 1.74 + else { 1.75 + asyncOpenCacheEntry(URL, 1.76 + "disk", Ci.nsICacheStorage.OPEN_NORMALLY, null, 1.77 + storeData); 1.78 + } 1.79 +} 1.80 + 1.81 +function run_test() { 1.82 + do_execute_soon(next_test); 1.83 + do_test_pending(); 1.84 +}