1
0
forked from mirrors/0ad
Files
0ad/binaries/data/mods/public/globalscripts/tests/test_Template.js
T
Stan c08016d950 Optimize GetIdentityClasses in Templates.js
Add unit tests.

Reviewed by: @bb
Differential Revision: https://code.wildfiregames.com/D2404
This was SVN commit r23660.
2020-05-12 15:24:59 +00:00

49 lines
1.6 KiB
JavaScript
Executable File

let identityTemplate = {
"Classes": { "@datatype": "tokens", "_string": "b a" },
"VisibleClasses": { "@datatype": "tokens", "_string": "c ß" }
};
TS_ASSERT_UNEVAL_EQUALS(GetIdentityClasses(identityTemplate), ["b", "a", "c", "ß"]);
TS_ASSERT_UNEVAL_EQUALS(GetVisibleIdentityClasses(identityTemplate), ["c", "ß"]);
identityTemplate = {
"Classes": { "@datatype": "tokens", "_string": "" },
"VisibleClasses": { "@datatype": "tokens", "_string": "c ß" }
};
TS_ASSERT_UNEVAL_EQUALS(GetIdentityClasses(identityTemplate), ["c", "ß"]);
TS_ASSERT_UNEVAL_EQUALS(GetVisibleIdentityClasses(identityTemplate), ["c", "ß"]);
identityTemplate = {
"Classes": { "@datatype": "tokens", "_string": "classA" },
"VisibleClasses": { "@datatype": "tokens", "_string": "classC classF" },
"Rank": "testRank"
};
TS_ASSERT_UNEVAL_EQUALS(GetIdentityClasses(identityTemplate), ["classA", "classC", "classF", "testRank"]);
TS_ASSERT_UNEVAL_EQUALS(GetVisibleIdentityClasses(identityTemplate), ["classC", "classF"]);
identityTemplate = {
};
TS_ASSERT_UNEVAL_EQUALS(GetIdentityClasses(identityTemplate), []);
TS_ASSERT_UNEVAL_EQUALS(GetVisibleIdentityClasses(identityTemplate), []);
identityTemplate = {
"Classes": { "@datatype": "tokens", "_string": "" },
"VisibleClasses": { "@datatype": "tokens", "_string": "" },
"Rank": ""
};
TS_ASSERT_UNEVAL_EQUALS(GetIdentityClasses(identityTemplate), []);
TS_ASSERT_UNEVAL_EQUALS(GetVisibleIdentityClasses(identityTemplate), []);
identityTemplate = {
"Classes": {},
"VisibleClasses": {},
"Rank": ""
};
TS_ASSERT_UNEVAL_EQUALS(GetIdentityClasses(identityTemplate), []);
TS_ASSERT_UNEVAL_EQUALS(GetVisibleIdentityClasses(identityTemplate), []);