UNPKG

6.79 kBJavaScriptView Raw
1var assert = require("chai").assert;
2var Args = require("../utils").Args;
3var Base26Number = require("../utils").Base26Number;
4var Guid = require("../utils").Guid;
5var LangUtils = require("../utils").LangUtils;
6var PathUtils = require("../utils").PathUtils;
7var RandomUtils = require("../utils").RandomUtils;
8var TextUtils = require("../utils").TextUtils;
9var TraceUtils = require("../utils").TraceUtils;
10
11describe("test common errors", function () {
12 it("should use Args", function () {
13
14 assert.doesNotThrow(function () {
15 var a = 5;
16 Args.check(typeof a === "number", "Expected number");
17 });
18
19 assert.throws(function () {
20 var a = 5;
21 Args.check(typeof a === "string", "Expected string");
22 });
23
24 assert.doesNotThrow(function () {
25 var a = "test";
26 Args.notString(a, "Argument");
27 });
28
29 assert.throws(function () {
30 var a = 5;
31 Args.notString(a, "Argument");
32 });
33
34 assert.doesNotThrow(function () {
35 var a = "test";
36 Args.notEmpty(a, "Argument");
37 });
38
39 assert.throws(function () {
40 var a = null;
41 Args.notEmpty(a, "Argument");
42 });
43
44 assert.doesNotThrow(function () {
45 var a = 100;
46 Args.notNegative(a, "Argument");
47 });
48
49 assert.throws(function () {
50 var a = -100;
51 Args.notNegative(a, "Argument");
52 });
53
54 assert.doesNotThrow(function () {
55 var a = function a() {
56 //
57 };
58 Args.notFunction(a, "Argument");
59 });
60
61 assert.throws(function () {
62 var a = -100;
63 Args.notFunction(a, "Argument");
64 });
65
66 assert.doesNotThrow(function () {
67 var a = 100;
68 Args.notNumber(a, "Argument");
69 });
70
71 assert.throws(function () {
72 var a = "test";
73 Args.notNumber(a, "Argument");
74 });
75
76 assert.doesNotThrow(function () {
77 var a = new Date();
78 Args.notNull(a, "Argument");
79 });
80
81 assert.throws(function () {
82 var a = undefined;
83 Args.notNull(a, "Argument");
84 });
85
86 assert.doesNotThrow(function () {
87 var a = 100;
88 Args.notPositive(a, "Argument");
89 });
90
91 assert.throws(function () {
92 var a = 0;
93 Args.notPositive(a, "Argument");
94 });
95 });
96
97 it("should use Base26 numbers", function () {
98 var x = Base26Number.toBase26(100);
99 assert.equal("wdaaaaaa", x);
100 var y = new Base26Number(100);
101 assert.equal(y.toString(), "wdaaaaaa");
102 assert.equal(Base26Number.fromBase26("wdaaaaaa"), 100);
103 });
104
105 it("should use TextUtils.toMD5", function () {
106 var x = TextUtils.toMD5("Hello");
107 assert.equal(x, "8b1a9953c4611296a827abf8c47804d7");
108 TraceUtils.log("MD5", "Hello", x);
109 });
110
111 it("should use TextUtils.toSHA1", function () {
112 var x = TextUtils.toSHA1("Hello");
113 assert.equal(x, "f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0");
114 TraceUtils.log("SHA1", "Hello", x);
115 });
116
117 it("should use TextUtils.toSHA256", function () {
118 var x = TextUtils.toSHA256("Hello");
119 assert.equal(x, "185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969");
120 TraceUtils.log("SHA256", "Hello", x);
121 });
122
123 it("should use Guid class", function () {
124 var x = new Guid("71BE4D98-3873-4648-9154-C7F79D89E19D");
125 assert.equal(x.toString(), "71BE4D98-3873-4648-9154-C7F79D89E19D");
126 });
127
128 it("should get random Guids", function () {
129 for (var i = 1; i <= 10; i++) {
130 TraceUtils.log("#" + i, Guid.newGuid().toString());
131 }
132 });
133
134 it("should use RandomUtils class", function () {
135
136 var x = RandomUtils.randomChars(12);
137 assert.equal(x.length, 12);
138 TraceUtils.log("Random characters", x);
139 for (var i = 1; i <= 10; i++) {
140 TraceUtils.log("#" + i, RandomUtils.randomChars(12));
141 }
142 var y = RandomUtils.randomInt(0, 10);
143 TraceUtils.log("Random int", y);
144 assert.isOk(y >= 0 && y <= 10, "Invalid random int");
145
146 var z = RandomUtils.randomHex(6);
147 TraceUtils.log("Random hex", z);
148 for (var _i = 1; _i <= 10; _i++) {
149 TraceUtils.log("#" + _i, RandomUtils.randomHex(6));
150 }
151 assert.isOk(/^[0-9a-fA-F]+$/i.test(z), "Invalid random hex");
152 });
153
154 it("should use LangUtils.getFunctionParams", function () {
155 var params = LangUtils.getFunctionParams(function (a, b) {
156 return a + b;
157 });
158 assert.equal(params.length, 2);
159 assert.equal(params[0], "a");
160 assert.equal(params[1], "b");
161 });
162
163 it("should use LangUtils.convert", function () {
164 var x = LangUtils.parseValue("true");
165 assert.isOk(typeof x === "boolean", "Expected boolean");
166 x = LangUtils.parseValue("12.4");
167 assert.isOk(typeof x === "number", "Expected number");
168 x = LangUtils.parseValue("2017-12-22");
169 assert.isOk(x instanceof Date, "Expected date");
170 });
171
172 it("should use LangUtils.parseForm", function () {
173 var x = LangUtils.parseForm({
174 "user[name]": "user1",
175 "user[password]": "pass",
176 "user[rememberMe]": "true"
177 });
178 assert.isOk(x.hasOwnProperty("user"), "User property is missing");
179 TraceUtils.log("Data", x);
180 });
181
182 it("should use LangUtils.parseForm with options", function () {
183 var x = LangUtils.parseForm({
184 "user[name]": "user1",
185 "user[password]": "pass",
186 "user[options][rememberMe]": "true"
187 }, {
188 convertValues: true
189 });
190 assert.isOk(x.hasOwnProperty("user"), "User property is missing");
191 assert.isOk(typeof x.user.options.rememberMe === "boolean", "Invalid property value");
192 TraceUtils.log("Data", x);
193 });
194
195 it("should use PathUtils.join", function () {
196 var joined = PathUtils.join(__dirname, "test-utils.ts");
197 TraceUtils.log(joined);
198 assert.isOk(/test-utils.ts$/.test(joined));
199 });
200
201 it("should use TraceUtils", function () {
202 TraceUtils.level("debug");
203 TraceUtils.log("GivenName:%s, FamilyName:%s", "Peter", "Thomas");
204 TraceUtils.info("GivenName:%s, FamilyName:%s", "Peter", "Thomas");
205 TraceUtils.warn("GivenName:%s, FamilyName:%s", "Peter", "Thomas");
206 TraceUtils.error("An internal server error occurred!");
207 TraceUtils.level("debug");
208 TraceUtils.debug("Application is running in debug mode");
209 });
210});
\No newline at end of file