@@ -8,6 +8,26 @@ const runBrowser = require('../helpers/run-browser');
8
8
const port = require ( '../ports-map' ) . entry ;
9
9
const isWebpack5 = require ( '../helpers/isWebpack5' ) ;
10
10
11
+ const HOT_ENABLED_MESSAGE =
12
+ '[webpack-dev-server] Hot Module Replacement enabled.' ;
13
+ const LIVE_RELOAD_ENABLED_MESSAGE =
14
+ '[webpack-dev-server] Hot Module Replacement enabled.' ;
15
+
16
+ const waitForConsoleLogFinished = async ( consoleLogs ) => {
17
+ await new Promise ( ( resolve ) => {
18
+ const interval = setInterval ( ( ) => {
19
+ if (
20
+ consoleLogs . includes ( HOT_ENABLED_MESSAGE ) &&
21
+ consoleLogs . includes ( LIVE_RELOAD_ENABLED_MESSAGE )
22
+ ) {
23
+ clearInterval ( interval ) ;
24
+
25
+ resolve ( ) ;
26
+ }
27
+ } , 0 ) ;
28
+ } ) ;
29
+ } ;
30
+
11
31
describe ( 'entry' , ( ) => {
12
32
const entryFirst = path . resolve (
13
33
__dirname ,
@@ -346,7 +366,7 @@ describe('entry', () => {
346
366
347
367
page
348
368
. on ( 'console' , ( message ) => {
349
- consoleMessages . push ( message ) ;
369
+ consoleMessages . push ( message . text ( ) ) ;
350
370
} )
351
371
. on ( 'pageerror' , ( error ) => {
352
372
pageErrors . push ( error ) ;
@@ -357,11 +377,9 @@ describe('entry', () => {
357
377
} ) ;
358
378
await page . addScriptTag ( { url : `http://127.0.0.1:${ port } /runtime.js` } ) ;
359
379
await page . addScriptTag ( { url : `http://127.0.0.1:${ port } /foo.js` } ) ;
360
- await page . waitForFunction ( ( ) => window . fooChunkLoaded ) ;
380
+ await waitForConsoleLogFinished ( consoleMessages ) ;
361
381
362
- expect ( consoleMessages . map ( ( message ) => message . text ( ) ) ) . toMatchSnapshot (
363
- 'console messages'
364
- ) ;
382
+ expect ( consoleMessages ) . toMatchSnapshot ( 'console messages' ) ;
365
383
expect ( pageErrors ) . toMatchSnapshot ( 'page errors' ) ;
366
384
367
385
await browser . close ( ) ;
@@ -410,13 +428,12 @@ describe('entry', () => {
410
428
} ) ;
411
429
412
430
const { page, browser } = await runBrowser ( ) ;
413
-
414
431
const pageErrors = [ ] ;
415
432
const consoleMessages = [ ] ;
416
433
417
434
page
418
435
. on ( 'console' , ( message ) => {
419
- consoleMessages . push ( message ) ;
436
+ consoleMessages . push ( message . text ( ) ) ;
420
437
} )
421
438
. on ( 'pageerror' , ( error ) => {
422
439
pageErrors . push ( error ) ;
@@ -427,11 +444,9 @@ describe('entry', () => {
427
444
} ) ;
428
445
await page . addScriptTag ( { url : `http://127.0.0.1:${ port } /runtime.js` } ) ;
429
446
await page . addScriptTag ( { url : `http://127.0.0.1:${ port } /bar.js` } ) ;
430
- await page . waitForFunction ( ( ) => window . barChunkLoaded ) ;
447
+ await waitForConsoleLogFinished ( consoleMessages ) ;
431
448
432
- expect ( consoleMessages . map ( ( message ) => message . text ( ) ) ) . toMatchSnapshot (
433
- 'console messages'
434
- ) ;
449
+ expect ( consoleMessages ) . toMatchSnapshot ( 'console messages' ) ;
435
450
expect ( pageErrors ) . toMatchSnapshot ( 'page errors' ) ;
436
451
437
452
await browser . close ( ) ;
@@ -486,7 +501,7 @@ describe('entry', () => {
486
501
487
502
page
488
503
. on ( 'console' , ( message ) => {
489
- consoleMessages . push ( message ) ;
504
+ consoleMessages . push ( message . text ( ) ) ;
490
505
} )
491
506
. on ( 'pageerror' , ( error ) => {
492
507
pageErrors . push ( error ) ;
@@ -497,11 +512,9 @@ describe('entry', () => {
497
512
} ) ;
498
513
await page . addScriptTag ( { url : `http://127.0.0.1:${ port } /bar.js` } ) ;
499
514
await page . addScriptTag ( { url : `http://127.0.0.1:${ port } /foo.js` } ) ;
500
- await page . waitForFunction ( ( ) => window . fooChunkLoaded ) ;
515
+ await waitForConsoleLogFinished ( consoleMessages ) ;
501
516
502
- expect ( consoleMessages . map ( ( message ) => message . text ( ) ) ) . toMatchSnapshot (
503
- 'console messages'
504
- ) ;
517
+ expect ( consoleMessages ) . toMatchSnapshot ( 'console messages' ) ;
505
518
expect ( pageErrors ) . toMatchSnapshot ( 'page errors' ) ;
506
519
507
520
await browser . close ( ) ;
0 commit comments