summaryrefslogtreecommitdiffstats
path: root/xpcom/tests/unit/test_bug121341.js
diff options
context:
space:
mode:
Diffstat (limited to 'xpcom/tests/unit/test_bug121341.js')
-rw-r--r--xpcom/tests/unit/test_bug121341.js71
1 files changed, 71 insertions, 0 deletions
diff --git a/xpcom/tests/unit/test_bug121341.js b/xpcom/tests/unit/test_bug121341.js
new file mode 100644
index 000000000..3aa04186e
--- /dev/null
+++ b/xpcom/tests/unit/test_bug121341.js
@@ -0,0 +1,71 @@
+var Ci = Components.interfaces;
+var Cu = Components.utils;
+Cu.import("resource://gre/modules/NetUtil.jsm");
+
+function run_test() {
+ var ios = Components.classes["@mozilla.org/network/io-service;1"].
+ getService(Components.interfaces.nsIIOService);
+
+ var dataFile = do_get_file("data/bug121341.properties");
+ var channel = NetUtil.newChannel({
+ uri: ios.newFileURI(dataFile, null, null),
+ loadUsingSystemPrincipal: true
+ });
+ var inp = channel.open2();
+
+ var properties = Components.classes["@mozilla.org/persistent-properties;1"].
+ createInstance(Components.interfaces.nsIPersistentProperties);
+ properties.load(inp);
+
+ var value;
+
+ value = properties.getStringProperty("1");
+ do_check_eq(value, "abc");
+
+ value = properties.getStringProperty("2");
+ do_check_eq(value, "xy");
+
+ value = properties.getStringProperty("3");
+ do_check_eq(value, "\u1234\t\r\n\u00AB\u0001\n");
+
+ value = properties.getStringProperty("4");
+ do_check_eq(value, "this is multiline property");
+
+ value = properties.getStringProperty("5");
+ do_check_eq(value, "this is another multiline property");
+
+ value = properties.getStringProperty("6");
+ do_check_eq(value, "test\u0036");
+
+ value = properties.getStringProperty("7");
+ do_check_eq(value, "yet another multiline propery");
+
+ value = properties.getStringProperty("8");
+ do_check_eq(value, "\ttest5\u0020");
+
+ value = properties.getStringProperty("9");
+ do_check_eq(value, " test6\t");
+
+ value = properties.getStringProperty("10a\u1234b");
+ do_check_eq(value, "c\uCDEFd");
+
+ value = properties.getStringProperty("11");
+ do_check_eq(value, "\uABCD");
+
+ dataFile = do_get_file("data/bug121341-2.properties");
+
+ var channel = NetUtil.newChannel({
+ uri: ios.newFileURI(dataFile, null, null),
+ loadUsingSystemPrincipal: true
+ });
+ inp = channel.open2();
+
+ var properties2 = Components.classes["@mozilla.org/persistent-properties;1"].
+ createInstance(Components.interfaces.nsIPersistentProperties);
+ try {
+ properties2.load(inp);
+ do_throw("load() didn't fail");
+ }
+ catch (e) {
+ }
+}