mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
Add a test case on error recovery in the module scope. (#3892)
This is a test case related for #3888
This commit is contained in:
parent
9e39dd2f3c
commit
0117e2b3fa
|
@ -16,8 +16,8 @@ async function check (contentFn, regex) {
|
|||
|
||||
export default (context, render) => {
|
||||
describe('Hot Module Reloading', () => {
|
||||
describe('syntax error', () => {
|
||||
it('should detect the error and recover', async () => {
|
||||
describe('errors', () => {
|
||||
it('should detect syntax errors and recover', async () => {
|
||||
const browser = await webdriver(context.appPort, '/hmr/about')
|
||||
const text = await browser
|
||||
.elementByCss('p').text()
|
||||
|
@ -73,6 +73,36 @@ export default (context, render) => {
|
|||
|
||||
browser.close()
|
||||
})
|
||||
|
||||
it('should detect runtime errors on the module scope', async () => {
|
||||
const browser = await webdriver(context.appPort, '/hmr/about')
|
||||
const text = await browser
|
||||
.elementByCss('p').text()
|
||||
expect(text).toBe('This is the about page.')
|
||||
|
||||
const aboutPagePath = join(__dirname, '../', 'pages', 'hmr', 'about.js')
|
||||
|
||||
const originalContent = readFileSync(aboutPagePath, 'utf8')
|
||||
const erroredContent = originalContent.replace('export', 'aa=20;\nexport')
|
||||
|
||||
// change the content
|
||||
writeFileSync(aboutPagePath, erroredContent, 'utf8')
|
||||
|
||||
await check(
|
||||
() => browser.elementByCss('body').text(),
|
||||
/aa is not defined/
|
||||
)
|
||||
|
||||
// add the original content
|
||||
writeFileSync(aboutPagePath, originalContent, 'utf8')
|
||||
|
||||
await check(
|
||||
() => browser.elementByCss('body').text(),
|
||||
/This is the about page/
|
||||
)
|
||||
|
||||
browser.close()
|
||||
})
|
||||
})
|
||||
|
||||
describe('delete a page and add it back', () => {
|
||||
|
|
Loading…
Reference in a new issue