]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/config-chain/test/save.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / node_modules / config-chain / test / save.js
diff --git a/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/config-chain/test/save.js b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/config-chain/test/save.js
new file mode 100644 (file)
index 0000000..bc97bbd
--- /dev/null
@@ -0,0 +1,59 @@
+var CC = require('../index.js').ConfigChain
+var test = require('tap').test
+
+var f1 = '/tmp/f1.ini'
+var f2 = '/tmp/f2.json'
+
+var ini = require('ini')
+
+var f1data = {foo: {bar: 'baz'}, bloo: 'jaus'}
+var f2data = {oof: {rab: 'zab'}, oolb: 'suaj'}
+
+var fs = require('fs')
+
+fs.writeFileSync(f1, ini.stringify(f1data), 'utf8')
+fs.writeFileSync(f2, JSON.stringify(f2data), 'utf8')
+
+test('test saving and loading ini files', function (t) {
+  new CC()
+    .add({grelb:'blerg'}, 'opt')
+    .addFile(f1, 'ini', 'inifile')
+    .addFile(f2, 'json', 'jsonfile')
+    .on('load', function (cc) {
+
+      t.same(cc.snapshot, { grelb: 'blerg',
+                            bloo: 'jaus',
+                            foo: { bar: 'baz' },
+                            oof: { rab: 'zab' },
+                            oolb: 'suaj' })
+
+      t.same(cc.list, [ { grelb: 'blerg' },
+                        { bloo: 'jaus', foo: { bar: 'baz' } },
+                        { oof: { rab: 'zab' }, oolb: 'suaj' } ])
+
+      cc.set('grelb', 'brelg', 'opt')
+        .set('foo', 'zoo', 'inifile')
+        .set('oof', 'ooz', 'jsonfile')
+        .save('inifile')
+        .save('jsonfile')
+        .on('save', function () {
+          t.equal(fs.readFileSync(f1, 'utf8'),
+                  "bloo=jaus\nfoo=zoo\n")
+          t.equal(fs.readFileSync(f2, 'utf8'),
+                  "{\"oof\":\"ooz\",\"oolb\":\"suaj\"}")
+
+          t.same(cc.snapshot, { grelb: 'brelg',
+                                bloo: 'jaus',
+                                foo: 'zoo',
+                                oof: 'ooz',
+                                oolb: 'suaj' })
+
+          t.same(cc.list, [ { grelb: 'brelg' },
+                            { bloo: 'jaus', foo: 'zoo' },
+                            { oof: 'ooz', oolb: 'suaj' } ])
+
+          t.pass('ok')
+          t.end()
+        })
+    })
+})