1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/xpcom/tests/unit/test_bug121341.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,62 @@ 1.4 +function run_test() { 1.5 + var ios = Components.classes["@mozilla.org/network/io-service;1"]. 1.6 + getService(Components.interfaces.nsIIOService); 1.7 + 1.8 + var dataFile = do_get_file("data/bug121341.properties"); 1.9 + 1.10 + var channel = ios.newChannelFromURI(ios.newFileURI(dataFile, null, null)); 1.11 + var inp = channel.open(); 1.12 + 1.13 + var properties = Components.classes["@mozilla.org/persistent-properties;1"]. 1.14 + createInstance(Components.interfaces.nsIPersistentProperties); 1.15 + properties.load(inp); 1.16 + 1.17 + var value; 1.18 + 1.19 + value = properties.getStringProperty("1"); 1.20 + do_check_eq(value, "abc"); 1.21 + 1.22 + value = properties.getStringProperty("2"); 1.23 + do_check_eq(value, "xy"); 1.24 + 1.25 + value = properties.getStringProperty("3"); 1.26 + do_check_eq(value, "\u1234\t\r\n\u00AB\u0001\n"); 1.27 + 1.28 + value = properties.getStringProperty("4"); 1.29 + do_check_eq(value, "this is multiline property"); 1.30 + 1.31 + value = properties.getStringProperty("5"); 1.32 + do_check_eq(value, "this is another multiline property"); 1.33 + 1.34 + value = properties.getStringProperty("6"); 1.35 + do_check_eq(value, "test\u0036"); 1.36 + 1.37 + value = properties.getStringProperty("7"); 1.38 + do_check_eq(value, "yet another multiline propery"); 1.39 + 1.40 + value = properties.getStringProperty("8"); 1.41 + do_check_eq(value, "\ttest5\u0020"); 1.42 + 1.43 + value = properties.getStringProperty("9"); 1.44 + do_check_eq(value, " test6\t"); 1.45 + 1.46 + value = properties.getStringProperty("10a\u1234b"); 1.47 + do_check_eq(value, "c\uCDEFd"); 1.48 + 1.49 + value = properties.getStringProperty("11"); 1.50 + do_check_eq(value, "\uABCD"); 1.51 + 1.52 + dataFile = do_get_file("data/bug121341-2.properties"); 1.53 + 1.54 + channel = ios.newChannelFromURI(ios.newFileURI(dataFile, null, null)); 1.55 + inp = channel.open(); 1.56 + 1.57 + var properties2 = Components.classes["@mozilla.org/persistent-properties;1"]. 1.58 + createInstance(Components.interfaces.nsIPersistentProperties); 1.59 + try { 1.60 + properties2.load(inp); 1.61 + do_throw("load() didn't fail"); 1.62 + } 1.63 + catch (e) { 1.64 + } 1.65 +}