%PDF- %PDF-
Direktori : /home2/vacivi36/vittasync.vacivitta.com.br/vittasync/node/test/parallel/ |
Current File : //home2/vacivi36/vittasync.vacivitta.com.br/vittasync/node/test/parallel/test-dotenv-edge-cases.js |
'use strict'; const common = require('../common'); const assert = require('node:assert'); const path = require('node:path'); const { describe, it } = require('node:test'); const validEnvFilePath = '../fixtures/dotenv/valid.env'; const nodeOptionsEnvFilePath = '../fixtures/dotenv/node-options.env'; describe('.env supports edge cases', () => { it('supports multiple declarations', async () => { // process.env.BASIC is equal to `basic` because the second .env file overrides it. const code = ` const assert = require('assert'); assert.strictEqual(process.env.BASIC, 'basic'); assert.strictEqual(process.env.NODE_NO_WARNINGS, '1'); `.trim(); const child = await common.spawnPromisified( process.execPath, [ `--env-file=${nodeOptionsEnvFilePath}`, `--env-file=${validEnvFilePath}`, '--eval', code ], { cwd: __dirname }, ); assert.strictEqual(child.stderr, ''); assert.strictEqual(child.code, 0); }); it('supports absolute paths', async () => { const code = ` require('assert').strictEqual(process.env.BASIC, 'basic'); `.trim(); const child = await common.spawnPromisified( process.execPath, [ `--env-file=${path.resolve(__dirname, validEnvFilePath)}`, '--eval', code ], ); assert.strictEqual(child.stderr, ''); assert.strictEqual(child.code, 0); }); it('should handle non-existent .env file', async () => { const code = ` require('assert').strictEqual(1, 1) `.trim(); const child = await common.spawnPromisified( process.execPath, [ '--env-file=.env', '--eval', code ], { cwd: __dirname }, ); assert.notStrictEqual(child.stderr.toString(), ''); assert.strictEqual(child.code, 9); }); it('should not override existing environment variables but introduce new vars', async () => { const code = ` require('assert').strictEqual(process.env.BASIC, 'existing'); require('assert').strictEqual(process.env.AFTER_LINE, 'after_line'); `.trim(); const child = await common.spawnPromisified( process.execPath, [ `--env-file=${validEnvFilePath}`, '--eval', code ], { cwd: __dirname, env: { ...process.env, BASIC: 'existing' } }, ); assert.strictEqual(child.stderr, ''); assert.strictEqual(child.code, 0); }); });