aboutsummaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/rc/test
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/rc/test')
-rw-r--r--deps/npm/node_modules/rc/test/ini.js15
-rw-r--r--deps/npm/node_modules/rc/test/nested-env-vars.js50
-rw-r--r--deps/npm/node_modules/rc/test/test.js59
3 files changed, 124 insertions, 0 deletions
diff --git a/deps/npm/node_modules/rc/test/ini.js b/deps/npm/node_modules/rc/test/ini.js
new file mode 100644
index 0000000000..cdb1990062
--- /dev/null
+++ b/deps/npm/node_modules/rc/test/ini.js
@@ -0,0 +1,15 @@
+var cc =require('../lib/utils')
+var INI = require('ini')
+var assert = require('assert')
+
+function test(obj) {
+
+ var _json, _ini
+ var json = cc.parse (_json = JSON.stringify(obj))
+ var ini = cc.parse (_ini = INI.stringify(obj))
+ console.log(_ini, _json)
+ assert.deepEqual(json, ini)
+}
+
+
+test({hello: true})
diff --git a/deps/npm/node_modules/rc/test/nested-env-vars.js b/deps/npm/node_modules/rc/test/nested-env-vars.js
new file mode 100644
index 0000000000..0ecd176344
--- /dev/null
+++ b/deps/npm/node_modules/rc/test/nested-env-vars.js
@@ -0,0 +1,50 @@
+
+var seed = Math.random();
+var n = 'rc'+ seed;
+var N = 'RC'+ seed;
+var assert = require('assert')
+
+
+// Basic usage
+process.env[n+'_someOpt__a'] = 42
+process.env[n+'_someOpt__x__'] = 99
+process.env[n+'_someOpt__a__b'] = 186
+process.env[n+'_someOpt__a__b__c'] = 243
+process.env[n+'_someOpt__x__y'] = 1862
+process.env[n+'_someOpt__z'] = 186577
+
+// Should ignore empty strings from orphaned '__'
+process.env[n+'_someOpt__z__x__'] = 18629
+process.env[n+'_someOpt__w__w__'] = 18629
+
+// Leading '__' should ignore everything up to 'z'
+process.env[n+'___z__i__'] = 9999
+
+// should ignore case for config name section.
+process.env[N+'_test_upperCase'] = 187
+
+function testPrefix(prefix) {
+ var config = require('../')(prefix, {
+ option: true
+ })
+
+ console.log('\n\n------ nested-env-vars ------\n',{prefix: prefix}, '\n', config);
+
+ assert.equal(config.option, true)
+ assert.equal(config.someOpt.a, 42)
+ assert.equal(config.someOpt.x, 99)
+ // Should not override `a` once it's been set
+ assert.equal(config.someOpt.a/*.b*/, 42)
+ // Should not override `x` once it's been set
+ assert.equal(config.someOpt.x/*.y*/, 99)
+ assert.equal(config.someOpt.z, 186577)
+ // Should not override `z` once it's been set
+ assert.equal(config.someOpt.z/*.x*/, 186577)
+ assert.equal(config.someOpt.w.w, 18629)
+ assert.equal(config.z.i, 9999)
+
+ assert.equal(config.test_upperCase, 187)
+}
+
+testPrefix(n);
+testPrefix(N);
diff --git a/deps/npm/node_modules/rc/test/test.js b/deps/npm/node_modules/rc/test/test.js
new file mode 100644
index 0000000000..4f6335189b
--- /dev/null
+++ b/deps/npm/node_modules/rc/test/test.js
@@ -0,0 +1,59 @@
+
+var n = 'rc'+Math.random()
+var assert = require('assert')
+
+process.env[n+'_envOption'] = 42
+
+var config = require('../')(n, {
+ option: true
+})
+
+console.log(config)
+
+assert.equal(config.option, true)
+assert.equal(config.envOption, 42)
+
+var customArgv = require('../')(n, {
+ option: true
+}, { // nopt-like argv
+ option: false,
+ envOption: 24,
+ argv: {
+ remain: [],
+ cooked: ['--no-option', '--envOption', '24'],
+ original: ['--no-option', '--envOption=24']
+ }
+})
+
+console.log(customArgv)
+
+assert.equal(customArgv.option, false)
+assert.equal(customArgv.envOption, 24)
+
+var fs = require('fs')
+var path = require('path')
+var jsonrc = path.resolve('.' + n + 'rc');
+
+fs.writeFileSync(jsonrc, [
+ '{',
+ '// json overrides default',
+ '"option": false,',
+ '/* env overrides json */',
+ '"envOption": 24',
+ '}'
+].join('\n'));
+
+var commentedJSON = require('../')(n, {
+ option: true
+})
+
+fs.unlinkSync(jsonrc);
+
+console.log(commentedJSON)
+
+assert.equal(commentedJSON.option, false)
+assert.equal(commentedJSON.envOption, 42)
+
+assert.equal(commentedJSON.config, jsonrc)
+assert.equal(commentedJSON.configs.length, 1)
+assert.equal(commentedJSON.configs[0], jsonrc)