aboutsummaryrefslogtreecommitdiff
path: root/webAO/__tests__
diff options
context:
space:
mode:
authorstonedDiscord <Tukz@gmx.de>2022-03-07 18:21:57 +0100
committerGitHub <noreply@github.com>2022-03-07 18:21:57 +0100
commit9c5fd198c11a0e2b976c6a2802eff9c4fef836f6 (patch)
treef6396236461c1e60a943a57f2d8227b9c2b639bf /webAO/__tests__
parentccbca8b9cede972480dd1ef7a73db71a99be9609 (diff)
parentc665571c930d877316940eae53e7e79640411aae (diff)
Merge pull request #96 from caleb-mabry/move-iniparser
Move INI parser
Diffstat (limited to 'webAO/__tests__')
-rw-r--r--webAO/__tests__/iniParse.test.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/webAO/__tests__/iniParse.test.js b/webAO/__tests__/iniParse.test.js
new file mode 100644
index 0000000..deb08f3
--- /dev/null
+++ b/webAO/__tests__/iniParse.test.js
@@ -0,0 +1,47 @@
+import iniParse from '../iniParse';
+
+const iniExample = `
+[Options]
+name = Matt
+showname = Matty
+
+[Emotions]
+number = 9
+1 = Normal#-#normal#0#1
+`;
+describe('iniParse', () => {
+ test('should not lowercase value if key is showname', () => {
+ const parsedIni = iniParse(`
+ [test]
+ showname = MATT
+ `);
+ expect(parsedIni.test.showname).toBe('MATT');
+ });
+ test('should lowercase value if key is not showname', () => {
+ const parsedIni = iniParse(`
+ [test]
+ party = TIME
+ `);
+ expect(parsedIni.test.party).toBe('time');
+ });
+ test('should parse sections', () => {
+ const parsedIni = iniParse(iniExample);
+ expect(Object.keys(parsedIni).length).toBe(2);
+ });
+ test('should parse parameters', () => {
+ const parsedIni = iniParse(iniExample);
+ expect(Object.keys(parsedIni.options).length).toBe(2);
+ });
+ test('should remove empty lines', () => {
+ const parsedIni = iniParse(`
+ [test]
+
+
+ 1 = 1
+ 2 = 2
+
+
+ `);
+ expect(Object.keys(parsedIni.test).length).toBe(2);
+ });
+});