diff --git a/test/integration/config-experimental-warning/test/index.test.js b/test/integration/config-experimental-warning/test/index.test.js index dc20cd6820471e..290e4cf69b461d 100644 --- a/test/integration/config-experimental-warning/test/index.test.js +++ b/test/integration/config-experimental-warning/test/index.test.js @@ -44,13 +44,13 @@ describe('Config Experimental Warning', () => { module.exports = { target: 'server', experimental: { - something: true + newNextLinkBehavior: true } } `) const { stderr } = await nextBuild(appDir, [], { stderr: true }) expect(stderr).toMatch( - 'You have enabled experimental feature (something) in next.config.js.' + 'You have enabled experimental feature (newNextLinkBehavior) in next.config.js.' ) }) @@ -59,13 +59,28 @@ describe('Config Experimental Warning', () => { module.exports = (phase) => ({ target: 'server', experimental: { - something: true + newNextLinkBehavior: true } }) `) const { stderr } = await nextBuild(appDir, [], { stderr: true }) expect(stderr).toMatch( - 'You have enabled experimental feature (something) in next.config.js.' + 'You have enabled experimental feature (newNextLinkBehavior) in next.config.js.' + ) + }) + + it('should not show warning with default value', async () => { + configFile.write(` + module.exports = (phase) => ({ + target: 'server', + experimental: { + newNextLinkBehavior: false + } + }) + `) + const { stderr } = await nextBuild(appDir, [], { stderr: true }) + expect(stderr).not.toMatch( + 'You have enabled experimental feature (newNextLinkBehavior) in next.config.js.' ) }) @@ -73,14 +88,14 @@ describe('Config Experimental Warning', () => { configFile.write(` module.exports = { experimental: { - something: true, - another: 1, + newNextLinkBehavior: true, + legacyBrowsers: false, } } `) const { stderr } = await nextBuild(appDir, [], { stderr: true }) expect(stderr).toMatch( - 'You have enabled experimental features (something, another) in next.config.js.' + 'You have enabled experimental features (newNextLinkBehavior, legacyBrowsers) in next.config.js.' ) }) @@ -88,14 +103,60 @@ describe('Config Experimental Warning', () => { configFileMjs.write(` const config = { experimental: { - something: true, + newNextLinkBehavior: true, } } export default config `) const { stderr } = await nextBuild(appDir, [], { stderr: true }) expect(stderr).toMatch( - 'You have enabled experimental feature (something) in next.config.mjs.' + 'You have enabled experimental feature (newNextLinkBehavior) in next.config.mjs.' + ) + }) + + it('should show warning with next.config.js from object with non-exist experimental', async () => { + configFile.write(` + const config = { + experimental: { + foo: true + } + } + module.exports = config + `) + const { stderr } = await nextBuild(appDir, [], { stderr: true }) + expect(stderr).toMatch( + 'You have defined experimental feature (foo) in next.config.js that does not exists in this version' + ) + }) + + it('should show warning with next.config.mjs from object with non-exist experimental', async () => { + configFileMjs.write(` + const config = { + experimental: { + foo: true + } + } + export default config + `) + const { stderr } = await nextBuild(appDir, [], { stderr: true }) + expect(stderr).toMatch( + 'You have defined experimental feature (foo) in next.config.mjs that does not exists in this version' + ) + }) + + it('should show warning with next.config.js from object with multiple non-exist experimental', async () => { + configFile.write(` + const config = { + experimental: { + foo: true, + bar: false + } + } + module.exports = config + `) + const { stderr } = await nextBuild(appDir, [], { stderr: true }) + expect(stderr).toMatch( + 'You have defined experimental features (foo, bar) in next.config.js that do not exist in this version' ) }) })