| 1 |
|
|---|
| 2 | var seed = Math.random();
|
|---|
| 3 | var n = 'rc'+ seed;
|
|---|
| 4 | var N = 'RC'+ seed;
|
|---|
| 5 | var assert = require('assert')
|
|---|
| 6 |
|
|---|
| 7 |
|
|---|
| 8 | // Basic usage
|
|---|
| 9 | process.env[n+'_someOpt__a'] = 42
|
|---|
| 10 | process.env[n+'_someOpt__x__'] = 99
|
|---|
| 11 | process.env[n+'_someOpt__a__b'] = 186
|
|---|
| 12 | process.env[n+'_someOpt__a__b__c'] = 243
|
|---|
| 13 | process.env[n+'_someOpt__x__y'] = 1862
|
|---|
| 14 | process.env[n+'_someOpt__z'] = 186577
|
|---|
| 15 |
|
|---|
| 16 | // Should ignore empty strings from orphaned '__'
|
|---|
| 17 | process.env[n+'_someOpt__z__x__'] = 18629
|
|---|
| 18 | process.env[n+'_someOpt__w__w__'] = 18629
|
|---|
| 19 |
|
|---|
| 20 | // Leading '__' should ignore everything up to 'z'
|
|---|
| 21 | process.env[n+'___z__i__'] = 9999
|
|---|
| 22 |
|
|---|
| 23 | // should ignore case for config name section.
|
|---|
| 24 | process.env[N+'_test_upperCase'] = 187
|
|---|
| 25 |
|
|---|
| 26 | function testPrefix(prefix) {
|
|---|
| 27 | var config = require('../')(prefix, {
|
|---|
| 28 | option: true
|
|---|
| 29 | })
|
|---|
| 30 |
|
|---|
| 31 | console.log('\n\n------ nested-env-vars ------\n',{prefix: prefix}, '\n', config);
|
|---|
| 32 |
|
|---|
| 33 | assert.equal(config.option, true)
|
|---|
| 34 | assert.equal(config.someOpt.a, 42)
|
|---|
| 35 | assert.equal(config.someOpt.x, 99)
|
|---|
| 36 | // Should not override `a` once it's been set
|
|---|
| 37 | assert.equal(config.someOpt.a/*.b*/, 42)
|
|---|
| 38 | // Should not override `x` once it's been set
|
|---|
| 39 | assert.equal(config.someOpt.x/*.y*/, 99)
|
|---|
| 40 | assert.equal(config.someOpt.z, 186577)
|
|---|
| 41 | // Should not override `z` once it's been set
|
|---|
| 42 | assert.equal(config.someOpt.z/*.x*/, 186577)
|
|---|
| 43 | assert.equal(config.someOpt.w.w, 18629)
|
|---|
| 44 | assert.equal(config.z.i, 9999)
|
|---|
| 45 |
|
|---|
| 46 | assert.equal(config.test_upperCase, 187)
|
|---|
| 47 | }
|
|---|
| 48 |
|
|---|
| 49 | testPrefix(n);
|
|---|
| 50 | testPrefix(N);
|
|---|