mirror of
https://github.com/zhigang1992/create-react-app.git
synced 2026-04-14 22:39:57 +08:00
* fix #2223 - [feature] Implement dotenv-expand to accept variable expansion in dot env files * add to README TOC * fix readme * Update README.md
89 lines
2.6 KiB
JavaScript
89 lines
2.6 KiB
JavaScript
/**
|
|
* Copyright (c) 2015-present, Facebook, Inc.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
import { expect } from 'chai';
|
|
import initDOM from './initDOM';
|
|
|
|
describe('Integration', () => {
|
|
describe('Environment variables', () => {
|
|
it('file env variables', async () => {
|
|
const doc = await initDOM('file-env-variables');
|
|
|
|
expect(
|
|
doc.getElementById('feature-file-env-original-1').textContent
|
|
).to.equal('from-original-env-1');
|
|
expect(
|
|
doc.getElementById('feature-file-env-original-2').textContent
|
|
).to.equal('override-from-original-local-env-2');
|
|
|
|
if (process.env.NODE_ENV === 'production') {
|
|
expect(doc.getElementById('feature-file-env').textContent).to.equal(
|
|
'production'
|
|
);
|
|
expect(doc.getElementById('feature-file-env-x').textContent).to.equal(
|
|
'x-from-production-env'
|
|
);
|
|
} else {
|
|
expect(doc.getElementById('feature-file-env').textContent).to.equal(
|
|
'development'
|
|
);
|
|
expect(doc.getElementById('feature-file-env-x').textContent).to.equal(
|
|
'x-from-development-env'
|
|
);
|
|
}
|
|
});
|
|
|
|
it('NODE_PATH', async () => {
|
|
const doc = await initDOM('node-path');
|
|
|
|
expect(
|
|
doc.getElementById('feature-node-path').childElementCount
|
|
).to.equal(4);
|
|
});
|
|
|
|
it('PUBLIC_URL', async () => {
|
|
const doc = await initDOM('public-url');
|
|
|
|
const prefix =
|
|
process.env.NODE_ENV === 'development'
|
|
? ''
|
|
: 'http://www.example.org/spa';
|
|
expect(doc.getElementById('feature-public-url').textContent).to.equal(
|
|
`${prefix}.`
|
|
);
|
|
expect(
|
|
doc.querySelector('head link[rel="shortcut icon"]').getAttribute('href')
|
|
).to.equal(`${prefix}/favicon.ico`);
|
|
});
|
|
|
|
it('shell env variables', async () => {
|
|
const doc = await initDOM('shell-env-variables');
|
|
|
|
expect(
|
|
doc.getElementById('feature-shell-env-variables').textContent
|
|
).to.equal('fromtheshell.');
|
|
});
|
|
|
|
it('expand .env variables', async () => {
|
|
const doc = await initDOM('expand-env-variables');
|
|
|
|
expect(doc.getElementById('feature-expand-env-1').textContent).to.equal(
|
|
'basic'
|
|
);
|
|
expect(doc.getElementById('feature-expand-env-2').textContent).to.equal(
|
|
'basic'
|
|
);
|
|
expect(doc.getElementById('feature-expand-env-3').textContent).to.equal(
|
|
'basic'
|
|
);
|
|
expect(
|
|
doc.getElementById('feature-expand-env-existing').textContent
|
|
).to.equal('fromtheshell');
|
|
});
|
|
});
|
|
});
|