Skip to content
This repository was archived by the owner on Jun 21, 2023. It is now read-only.

Commit 191f379

Browse files
authored
Separate node polyfill test from basic suite (vercel#26550)
* Separate node polyfill test from basic suite * update test
1 parent 0344c35 commit 191f379

File tree

4 files changed

+55
-46
lines changed

4 files changed

+55
-46
lines changed

test/integration/basic/test/index.test.js

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import { join } from 'path'
44
import { renderViaHTTP, findPort, launchApp, killApp } from 'next-test-utils'
5-
import webdriver from 'next-webdriver'
65

76
// test suits
87
import hmr from './hmr'
@@ -21,54 +20,9 @@ describe('Basic Features', () => {
2120
context.server = await launchApp(join(__dirname, '../'), context.appPort, {
2221
env: { __NEXT_TEST_WITH_DEVTOOL: 1 },
2322
})
24-
25-
// pre-build all pages at the start
26-
await Promise.all([
27-
renderViaHTTP(context.appPort, '/process-env'),
28-
29-
renderViaHTTP(context.appPort, '/hmr/about'),
30-
renderViaHTTP(context.appPort, '/hmr/style'),
31-
renderViaHTTP(context.appPort, '/hmr/contact'),
32-
renderViaHTTP(context.appPort, '/hmr/counter'),
33-
])
3423
})
3524
afterAll(() => killApp(context.server))
3625

37-
it('should polyfill Node.js modules', async () => {
38-
const browser = await webdriver(context.appPort, '/node-browser-polyfills')
39-
40-
console.error({
41-
logs: await browser.log('browser'),
42-
content: await browser.eval('document.documentElement.innerHTML'),
43-
})
44-
45-
await browser.waitForCondition('window.didRender')
46-
47-
const data = await browser
48-
.waitForElementByCss('#node-browser-polyfills')
49-
.text()
50-
const parsedData = JSON.parse(data)
51-
52-
expect(parsedData.vm).toBe(105)
53-
expect(parsedData.hash).toBe(
54-
'b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9'
55-
)
56-
expect(parsedData.buffer).toBe('hello world')
57-
expect(parsedData.stream).toBe(true)
58-
expect(parsedData.assert).toBe(true)
59-
expect(parsedData.constants).toBe(7)
60-
expect(parsedData.domain).toBe(true)
61-
expect(parsedData.http).toBe(true)
62-
expect(parsedData.https).toBe(true)
63-
expect(parsedData.os).toBe('\n')
64-
expect(parsedData.path).toBe('/hello/world/test.txt')
65-
expect(parsedData.process).toBe('browser')
66-
expect(parsedData.querystring).toBe('a=b')
67-
expect(parsedData.stringDecoder).toBe(true)
68-
expect(parsedData.sys).toBe(true)
69-
expect(parsedData.timers).toBe(true)
70-
})
71-
7226
dynamic(context, (p, q) => renderViaHTTP(context.appPort, p, q))
7327
hmr(context, (p, q) => renderViaHTTP(context.appPort, p, q))
7428
errorRecovery(context, (p, q) => renderViaHTTP(context.appPort, p, q))
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
module.exports = {
2+
onDemandEntries: {
3+
// Make sure entries are not getting disposed.
4+
maxInactiveAge: 1000 * 60 * 60,
5+
},
6+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
/* eslint-env jest */
2+
3+
import { join } from 'path'
4+
import webdriver from 'next-webdriver'
5+
import { findPort, launchApp, killApp } from 'next-test-utils'
6+
7+
jest.setTimeout(1000 * 60 * 2)
8+
9+
const appDir = join(__dirname, '../')
10+
let appPort
11+
let app
12+
13+
describe('Basic Features', () => {
14+
beforeAll(async () => {
15+
appPort = await findPort()
16+
app = await launchApp(appDir, appPort)
17+
})
18+
afterAll(() => killApp(app))
19+
20+
it('should polyfill Node.js modules', async () => {
21+
const browser = await webdriver(appPort, '/node-browser-polyfills')
22+
23+
await browser.waitForCondition('window.didRender')
24+
25+
const data = await browser
26+
.waitForElementByCss('#node-browser-polyfills')
27+
.text()
28+
const parsedData = JSON.parse(data)
29+
30+
expect(parsedData.vm).toBe(105)
31+
expect(parsedData.hash).toBe(
32+
'b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9'
33+
)
34+
expect(parsedData.buffer).toBe('hello world')
35+
expect(parsedData.stream).toBe(true)
36+
expect(parsedData.assert).toBe(true)
37+
expect(parsedData.constants).toBe(7)
38+
expect(parsedData.domain).toBe(true)
39+
expect(parsedData.http).toBe(true)
40+
expect(parsedData.https).toBe(true)
41+
expect(parsedData.os).toBe('\n')
42+
expect(parsedData.path).toBe('/hello/world/test.txt')
43+
expect(parsedData.process).toBe('browser')
44+
expect(parsedData.querystring).toBe('a=b')
45+
expect(parsedData.stringDecoder).toBe(true)
46+
expect(parsedData.sys).toBe(true)
47+
expect(parsedData.timers).toBe(true)
48+
})
49+
})

0 commit comments

Comments
 (0)