Revert "Revert "Skip webpack loader test in Turbopack"" (#60514)

Reverts vercel/next.js#60513

Closes NEXT-2056
This commit is contained in:
Tim Neutkens 2024-01-11 13:26:18 +01:00 committed by GitHub
parent 3a7bd19fe5
commit 7c1d50a1bc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 89 additions and 77 deletions

View file

@ -335,11 +335,15 @@ describe('ReactRefreshRegression app', () => {
})
// https://github.com/vercel/next.js/issues/13574
test('custom loader mdx should have Fast Refresh enabled', async () => {
const files = new Map()
files.set(
'next.config.js',
outdent`
// Test is skipped with Turbopack as the package uses webpack loaders
;(process.env.TURBOPACK ? describe.skip : describe)(
'Turbopack skipped tests',
() => {
test('custom loader mdx should have Fast Refresh enabled', async () => {
const files = new Map()
files.set(
'next.config.js',
outdent`
const withMDX = require("@next/mdx")({
extension: /\\.mdx?$/,
});
@ -347,44 +351,46 @@ describe('ReactRefreshRegression app', () => {
pageExtensions: ["js", "mdx"],
});
`
)
files.set('app/content.mdx', `Hello World!`)
files.set(
'app/page.js',
outdent`
)
files.set('app/content.mdx', `Hello World!`)
files.set(
'app/page.js',
outdent`
'use client'
import MDX from './content.mdx'
export default function Page() {
return <div id="content"><MDX /></div>
}
`
)
)
const { session, cleanup } = await sandbox(next, files)
expect(
await session.evaluate(
() => document.querySelector('#content').textContent
)
).toBe('Hello World!')
const { session, cleanup } = await sandbox(next, files)
expect(
await session.evaluate(
() => document.querySelector('#content').textContent
)
).toBe('Hello World!')
let didNotReload = await session.patch('app/content.mdx', `Hello Foo!`)
expect(didNotReload).toBe(true)
expect(await session.hasRedbox(false)).toBe(false)
expect(
await session.evaluate(
() => document.querySelector('#content').textContent
)
).toBe('Hello Foo!')
let didNotReload = await session.patch('app/content.mdx', `Hello Foo!`)
expect(didNotReload).toBe(true)
expect(await session.hasRedbox(false)).toBe(false)
expect(
await session.evaluate(
() => document.querySelector('#content').textContent
)
).toBe('Hello Foo!')
didNotReload = await session.patch('app/content.mdx', `Hello Bar!`)
expect(didNotReload).toBe(true)
expect(await session.hasRedbox(false)).toBe(false)
expect(
await session.evaluate(
() => document.querySelector('#content').textContent
)
).toBe('Hello Bar!')
didNotReload = await session.patch('app/content.mdx', `Hello Bar!`)
expect(didNotReload).toBe(true)
expect(await session.hasRedbox(false)).toBe(false)
expect(
await session.evaluate(
() => document.querySelector('#content').textContent
)
).toBe('Hello Bar!')
await cleanup()
})
await cleanup()
})
}
)
})

View file

@ -295,49 +295,55 @@ describe('ReactRefreshRegression', () => {
})
// https://github.com/vercel/next.js/issues/13574
test('custom loader (mdx) should have Fast Refresh enabled', async () => {
const { session, cleanup } = await sandbox(
next,
new Map([
[
'next.config.js',
outdent`
const withMDX = require("@next/mdx")({
extension: /\\.mdx?$/,
});
module.exports = withMDX({
pageExtensions: ["js", "mdx"],
});
`,
],
['pages/mdx.mdx', `Hello World!`],
]),
'/mdx'
)
expect(
await session.evaluate(
() => document.querySelector('#__next').textContent
)
).toBe('Hello World!')
// Test is skipped with Turbopack as the package uses webpack loaders
;(process.env.TURBOPACK ? describe.skip : describe)(
'Turbopack skipped tests',
() => {
test('custom loader (mdx) should have Fast Refresh enabled', async () => {
const { session, cleanup } = await sandbox(
next,
new Map([
[
'next.config.js',
outdent`
const withMDX = require("@next/mdx")({
extension: /\\.mdx?$/,
});
module.exports = withMDX({
pageExtensions: ["js", "mdx"],
});
`,
],
['pages/mdx.mdx', `Hello World!`],
]),
'/mdx'
)
expect(
await session.evaluate(
() => document.querySelector('#__next').textContent
)
).toBe('Hello World!')
let didNotReload = await session.patch('pages/mdx.mdx', `Hello Foo!`)
expect(didNotReload).toBe(true)
expect(await session.hasRedbox(false)).toBe(false)
expect(
await session.evaluate(
() => document.querySelector('#__next').textContent
)
).toBe('Hello Foo!')
let didNotReload = await session.patch('pages/mdx.mdx', `Hello Foo!`)
expect(didNotReload).toBe(true)
expect(await session.hasRedbox(false)).toBe(false)
expect(
await session.evaluate(
() => document.querySelector('#__next').textContent
)
).toBe('Hello Foo!')
didNotReload = await session.patch('pages/mdx.mdx', `Hello Bar!`)
expect(didNotReload).toBe(true)
expect(await session.hasRedbox(false)).toBe(false)
expect(
await session.evaluate(
() => document.querySelector('#__next').textContent
)
).toBe('Hello Bar!')
didNotReload = await session.patch('pages/mdx.mdx', `Hello Bar!`)
expect(didNotReload).toBe(true)
expect(await session.hasRedbox(false)).toBe(false)
expect(
await session.evaluate(
() => document.querySelector('#__next').textContent
)
).toBe('Hello Bar!')
await cleanup()
})
await cleanup()
})
}
)
})