1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
// **********************************************************************
//
// Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
//
// **********************************************************************
(function(module, require, exports)
{
var Ice = require("icejs").Ice;
var Promise = Ice.Promise;
var test = function(b)
{
if(!b)
{
throw new Error("test failed");
}
};
var run = function(out)
{
return Promise.try(
function()
{
out.write("testing configuration file escapes... ");
var props =
{
"Foo\tBar": "3",
"Foo\\tBar": "4",
"Escape\\ Space": "2",
"Prop1": "1",
"Prop2": "2",
"Prop3": "3",
"My Prop1": "1",
"My Prop2": "2",
"My.Prop1": "a property",
"My.Prop2": "a property",
"My.Prop3": " a property ",
"My.Prop4": " a property ",
"My.Prop5": "a \\ property",
"foo=bar": "1",
"foo#bar": "2",
"foo bar": "3",
"A": "1",
"B": "2 3 4",
"C": "5=#6",
"AServer": "\\\\server\\dir",
"BServer": "\\server\\dir"
};
var properties = Ice.createProperties();
if(typeof(require("fs").readFileSync) == "function")
{
//
// We are runing with NodeJS we load the properties file from the file system.
//
properties.parse(require("fs").readFileSync("escapes.cfg", {encoding: "utf8"}));
for(var key in props)
{
test(props[key] == properties.getProperty(key));
}
}
else
{
//
// We are runing in a web browser load the properties file from the web server.
//
var p = new Promise();
/*jshint jquery: true */
$.ajax(
{
url: "escapes.cfg",
//
// Use text data type to avoid problems interpreting the data.
//
dataType: "text"
}).done(
function(data)
{
properties.parse(data);
for(var key in props)
{
test(props[key] == properties.getProperty(key));
}
p.succeed();
}
).fail(
function()
{
p.fail();
});
return p;
}
}
).then(
function()
{
out.writeLine("ok");
});
};
exports.__test__ = run;
}
(typeof(global) !== "undefined" && typeof(global.process) !== "undefined" ? module : undefined,
typeof(global) !== "undefined" && typeof(global.process) !== "undefined" ? require : window.Ice.__require,
typeof(global) !== "undefined" && typeof(global.process) !== "undefined" ? exports : window));
|