-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathInputValidator.spec.ts
99 lines (77 loc) · 2.86 KB
/
InputValidator.spec.ts
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
import * as chai from "chai";
import { Globals } from "./Globals";
import InputValidator from "./InputValidator";
const assert = chai.assert;
const expect = chai.expect;
describe("InputValidator", function() {
it("Valid Int", function() {
assert.equal(InputValidator.isValidInt("12"), true);
});
it("Valid Int", function() {
assert.equal(InputValidator.isValidInt(`${12}`), true);
});
it("Valid Int", function() {
// eslint-disable-next-line quotes
const data = JSON.parse('{ "test": 1 }');
assert.equal(InputValidator.isValidInt(data.test), true);
});
it("Invalid Int", function() {
assert.equal(InputValidator.isValidInt("12a"), false);
});
it("Invalid Int", function() {
assert.equal(InputValidator.isValidInt(""), false);
});
it("Valid Float", function() {
assert.equal(InputValidator.isValidFloat("1.23"), true);
});
it("Valid Float", function() {
assert.equal(InputValidator.isValidFloat(`${1.23}`), true);
});
it("Valid Float", function() {
// eslint-disable-next-line quotes
const data = JSON.parse('{ "test": 1.2 }');
assert.equal(InputValidator.isValidFloat(data.test), true);
});
it("Invalid Float", function() {
assert.equal(InputValidator.isValidFloat("12klafjsd.11a"), false);
});
it("Invalid Float", function() {
assert.equal(InputValidator.isValidFloat(""), false);
});
it("Valid JSON", function() {
// eslint-disable-next-line prettier/prettier
assert.equal(InputValidator.isValidJson("{ \"test\" : 12}"), true);
});
it("Invalid JSON", function() {
assert.equal(InputValidator.isValidJson("{ 'test': 12, {}}"), false);
});
it("Variable is set", function() {
const test = 12;
assert.equal(InputValidator.isSet(test), true);
});
it("Variable is not set", function() {
const test = undefined;
assert.equal(InputValidator.isSet(test), false);
});
it("Sanitize string", function() {
assert.equal(InputValidator.sanitizeString("häl/+=\"'lü"), "hll");
});
it("Valid build-order (building)", function() {
assert.equal(InputValidator.isValidBuildOrder({}, Globals.UnitType.BUILDING), null);
});
it("Valid build-order (technology)", function() {
assert.equal(InputValidator.isValidBuildOrder({}, Globals.UnitType.TECHNOLOGY), null);
});
it("Valid build-order (ship)", function() {
assert.equal(InputValidator.isValidBuildOrder({ 201: 1 }, Globals.UnitType.SHIP), true);
});
it("Valid build-order (ship)", function() {
assert.equal(InputValidator.isValidBuildOrder({ 301: 1 }, Globals.UnitType.SHIP), false);
});
it("Valid build-order (defense)", function() {
assert.equal(InputValidator.isValidBuildOrder({ 301: 1 }, Globals.UnitType.DEFENSE), true);
});
it("Valid build-order (defense)", function() {
assert.equal(InputValidator.isValidBuildOrder({ 401: 1 }, Globals.UnitType.DEFENSE), false);
});
});