aboutsummaryrefslogtreecommitdiff
path: root/webAO/__tests__
diff options
context:
space:
mode:
authorcaleb.mabry.15@cnu.edu <caleb.mabry.15@cnu.edu>2022-03-07 12:43:33 -0500
committercaleb.mabry.15@cnu.edu <caleb.mabry.15@cnu.edu>2022-03-07 12:43:33 -0500
commit4bd674c196c0e06b460dffee440c5d2a48061bcc (patch)
tree2338cf231c8535280c283d8d08d91f4fa4018912 /webAO/__tests__
parent01a7239f8b18710ce1871c502fd8d10a782efcaf (diff)
parent9c5fd198c11a0e2b976c6a2802eff9c4fef836f6 (diff)
Merge branch 'master' of https://github.com/AttorneyOnline/webAO into refactor-constants
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);
+ });
+});