/script-kiddie/002_script_kiddie/script-kiddie/node_modules/config-chain/test/save.js |
@@ -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() |
}) |
}) |
}) |