mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
test: add merge tests
This commit is contained in:
committed by
Nathan Walker
parent
9e091c4bfd
commit
d05e4ca1f7
@@ -178,8 +178,7 @@ exports[`react configuration > android > adds ReactRefreshWebpackPlugin when HMR
|
||||
'global.isAndroid': true,
|
||||
'global.isIOS': false,
|
||||
process: 'global.process',
|
||||
profile: '() => {}',
|
||||
__TEST__: 'false',
|
||||
__TEST__: false,
|
||||
'process.env.NODE_ENV': '\\"development\\"'
|
||||
}
|
||||
),
|
||||
@@ -373,8 +372,7 @@ exports[`react configuration > android > base config 1`] = `
|
||||
'global.isAndroid': true,
|
||||
'global.isIOS': false,
|
||||
process: 'global.process',
|
||||
profile: '() => {}',
|
||||
__TEST__: 'false',
|
||||
__TEST__: false,
|
||||
'process.env.NODE_ENV': '\\"development\\"'
|
||||
}
|
||||
),
|
||||
@@ -568,8 +566,7 @@ exports[`react configuration > ios > adds ReactRefreshWebpackPlugin when HMR ena
|
||||
'global.isAndroid': false,
|
||||
'global.isIOS': true,
|
||||
process: 'global.process',
|
||||
profile: '() => {}',
|
||||
__TEST__: 'false',
|
||||
__TEST__: false,
|
||||
'process.env.NODE_ENV': '\\"development\\"'
|
||||
}
|
||||
),
|
||||
@@ -766,8 +763,7 @@ exports[`react configuration > ios > base config 1`] = `
|
||||
'global.isAndroid': false,
|
||||
'global.isIOS': true,
|
||||
process: 'global.process',
|
||||
profile: '() => {}',
|
||||
__TEST__: 'false',
|
||||
__TEST__: false,
|
||||
'process.env.NODE_ENV': '\\"development\\"'
|
||||
}
|
||||
),
|
||||
|
||||
@@ -188,8 +188,7 @@ exports[`vue configuration for android 1`] = `
|
||||
__IOS__: false,
|
||||
'global.isAndroid': true,
|
||||
'global.isIOS': false,
|
||||
process: 'global.process',
|
||||
profile: '() => {}'
|
||||
process: 'global.process'
|
||||
}
|
||||
),
|
||||
/* config.plugin('WatchStateLoggerPlugin') */
|
||||
@@ -392,8 +391,7 @@ exports[`vue configuration for ios 1`] = `
|
||||
__IOS__: true,
|
||||
'global.isAndroid': false,
|
||||
'global.isIOS': true,
|
||||
process: 'global.process',
|
||||
profile: '() => {}'
|
||||
process: 'global.process'
|
||||
}
|
||||
),
|
||||
/* config.plugin('WatchStateLoggerPlugin') */
|
||||
|
||||
@@ -14,7 +14,6 @@ describe('@nativescript/webpack', () => {
|
||||
|
||||
it('applies chain configs', () => {
|
||||
webpack.useConfig(false);
|
||||
expect(webpack.chainWebpack).toBeInstanceOf(Function);
|
||||
|
||||
const chainFn = jest.fn();
|
||||
webpack.chainWebpack(chainFn);
|
||||
@@ -30,4 +29,72 @@ describe('@nativescript/webpack', () => {
|
||||
expect(chainFn).toHaveBeenCalledWith(config, {});
|
||||
expect(config).toBeInstanceOf(Config);
|
||||
});
|
||||
|
||||
it('applies merge configs', () => {
|
||||
const dummyEnv = { env: true };
|
||||
webpack.init(dummyEnv);
|
||||
webpack.useConfig(false);
|
||||
|
||||
const mergeFn = jest.fn();
|
||||
webpack.mergeWebpack(mergeFn);
|
||||
|
||||
// mergeFn should not be called yet
|
||||
expect(mergeFn).not.toHaveBeenCalled();
|
||||
|
||||
const config = webpack.resolveChainableConfig();
|
||||
|
||||
// mergeFn should not be called yet
|
||||
expect(mergeFn).not.toHaveBeenCalled();
|
||||
|
||||
// mergeFn should only be called when
|
||||
// resolving the final config
|
||||
webpack.resolveConfig();
|
||||
|
||||
expect(mergeFn).toHaveBeenCalledTimes(1);
|
||||
expect(mergeFn).toHaveBeenCalledWith(config.toConfig(), dummyEnv);
|
||||
});
|
||||
|
||||
it('merges mutate config', () => {
|
||||
const dummyEnv = { env: true };
|
||||
webpack.init(dummyEnv);
|
||||
webpack.useConfig(false);
|
||||
|
||||
webpack.mergeWebpack((config) => {
|
||||
(config as any).mutated = true;
|
||||
});
|
||||
|
||||
expect(webpack.resolveConfig()).toMatchObject({
|
||||
mutated: true,
|
||||
});
|
||||
});
|
||||
|
||||
it('merges returned config', () => {
|
||||
const dummyEnv = { env: true };
|
||||
webpack.init(dummyEnv);
|
||||
webpack.useConfig(false);
|
||||
|
||||
webpack.mergeWebpack(() => {
|
||||
return {
|
||||
returned: true,
|
||||
};
|
||||
});
|
||||
|
||||
expect(webpack.resolveConfig()).toMatchObject({
|
||||
returned: true,
|
||||
});
|
||||
});
|
||||
|
||||
it('merges objects', () => {
|
||||
const dummyEnv = { env: true };
|
||||
webpack.init(dummyEnv);
|
||||
webpack.useConfig(false);
|
||||
|
||||
webpack.mergeWebpack({
|
||||
object: true,
|
||||
} as any);
|
||||
|
||||
expect(webpack.resolveConfig()).toMatchObject({
|
||||
object: true,
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user