@@ -9,6 +9,14 @@ import puppeteer from 'puppeteer';
99
1010import { deserialize } from '../dist/deserialize.js' ;
1111
12+ function expectIncludes ( actual : string , expected : string ) {
13+ if ( ! actual . includes ( expected ) ) {
14+ throw new Error (
15+ `Expected substring not found.\n\nExpected:\n${ expected } \n\nActual:\n${ actual } ` ,
16+ ) ;
17+ }
18+ }
19+
1220const require = createRequire ( import . meta. url ) ;
1321const serializeScript = fs . readFileSync ( require . resolve ( '../dist/serialize.js' ) , 'utf-8' ) ;
1422const defaultOptions = { browserRootDir : import . meta. dirname , cwd : import . meta. dirname } ;
@@ -350,11 +358,11 @@ describe('serialize deserialize', { timeout: 10000 }, function () {
350358 } ) ;
351359 const deserialized = await deserialize ( serialized , defaultOptions ) ;
352360 assert . equal ( typeof deserialized , 'string' ) ;
353- assert . ok ( deserialized . includes ( 'my error msg' ) ) ;
354- assert . ok ( deserialized . includes ( '2:23' ) ) ;
355- assert . ok ( deserialized . includes ( '3:23' ) ) ;
356- assert . ok ( deserialized . includes ( '4:23' ) ) ;
357- assert . ok ( deserialized . includes ( '5:35' ) ) ;
361+ expectIncludes ( deserialized , 'my error msg' ) ;
362+ expectIncludes ( deserialized , '2:23' ) ;
363+ expectIncludes ( deserialized , '3:23' ) ;
364+ expectIncludes ( deserialized , '4:23' ) ;
365+ expectIncludes ( deserialized , '5:35' ) ;
358366 } ) ;
359367
360368 it ( 'handles errors in objects' , async ( ) => {
@@ -366,11 +374,11 @@ describe('serialize deserialize', { timeout: 10000 }, function () {
366374 } ) ;
367375 const deserialized = await deserialize ( serialized , defaultOptions ) ;
368376 assert . equal ( typeof deserialized . myError , 'string' ) ;
369- assert . ok ( deserialized . myError . includes ( 'my error msg' ) ) ;
370- assert . ok ( deserialized . myError . includes ( '2:23' ) ) ;
371- assert . ok ( deserialized . myError . includes ( '3:23' ) ) ;
372- assert . ok ( deserialized . myError . includes ( '4:23' ) ) ;
373- assert . ok ( deserialized . myError . includes ( '5:46' ) ) ;
377+ expectIncludes ( deserialized . myError , 'my error msg' ) ;
378+ expectIncludes ( deserialized . myError , '2:23' ) ;
379+ expectIncludes ( deserialized . myError , '3:23' ) ;
380+ expectIncludes ( deserialized . myError , '4:23' ) ;
381+ expectIncludes ( deserialized . myError , '5:46' ) ;
374382 } ) ;
375383
376384 it ( 'handles errors in arrays' , async ( ) => {
@@ -382,20 +390,20 @@ describe('serialize deserialize', { timeout: 10000 }, function () {
382390 } ) ;
383391 const deserialized = await deserialize ( serialized , defaultOptions ) ;
384392 assert . equal ( typeof deserialized [ 0 ] , 'string' ) ;
385- assert . ok ( deserialized [ 0 ] . includes ( 'my error msg' ) ) ;
386- assert . ok ( deserialized [ 0 ] . includes ( '2:23' ) ) ;
387- assert . ok ( deserialized [ 0 ] . includes ( '3:23' ) ) ;
388- assert . ok ( deserialized [ 0 ] . includes ( '4:23' ) ) ;
389- assert . ok ( deserialized [ 0 ] . includes ( '5:36' ) ) ;
393+ expectIncludes ( deserialized [ 0 ] , 'my error msg' ) ;
394+ expectIncludes ( deserialized [ 0 ] , '2:23' ) ;
395+ expectIncludes ( deserialized [ 0 ] , '3:23' ) ;
396+ expectIncludes ( deserialized [ 0 ] , '4:23' ) ;
397+ expectIncludes ( deserialized [ 0 ] , '5:36' ) ;
390398 assert . equal ( typeof deserialized [ 1 ] , 'string' ) ;
391- assert . ok ( deserialized [ 1 ] . includes ( 'my error msg' ) ) ;
392- assert . ok ( deserialized [ 1 ] . includes ( '2:23' ) ) ;
393- assert . ok ( deserialized [ 1 ] . includes ( '3:23' ) ) ;
394- assert . ok ( deserialized [ 1 ] . includes ( '5:41' ) ) ;
399+ expectIncludes ( deserialized [ 1 ] , 'my error msg' ) ;
400+ expectIncludes ( deserialized [ 1 ] , '2:23' ) ;
401+ expectIncludes ( deserialized [ 1 ] , '3:23' ) ;
402+ expectIncludes ( deserialized [ 1 ] , '5:41' ) ;
395403 assert . equal ( typeof deserialized [ 2 ] , 'string' ) ;
396- assert . ok ( deserialized [ 2 ] . includes ( 'my error msg' ) ) ;
397- assert . ok ( deserialized [ 2 ] . includes ( '2:23' ) ) ;
398- assert . ok ( deserialized [ 2 ] . includes ( '5:46' ) ) ;
404+ expectIncludes ( deserialized [ 2 ] , 'my error msg' ) ;
405+ expectIncludes ( deserialized [ 2 ] , '2:23' ) ;
406+ expectIncludes ( deserialized [ 2 ] , '5:46' ) ;
399407 } ) ;
400408
401409 it ( 'can map stack trace locations' , async ( ) => {
@@ -410,8 +418,8 @@ describe('serialize deserialize', { timeout: 10000 }, function () {
410418 mapStackLocation : l => ( { ...l , filePath : `${ l . filePath } __MAPPED__` , line : 1 , column : 2 } ) ,
411419 } ) ;
412420 assert . equal ( typeof deserialized , 'string' ) ;
413- assert . ok ( deserialized . includes ( 'my error msg' ) ) ;
414- assert . ok ( deserialized . includes ( `__MAPPED__:1:2` ) ) ;
421+ expectIncludes ( deserialized , 'my error msg' ) ;
422+ expectIncludes ( deserialized , `__MAPPED__:1:2` ) ;
415423 } ) ;
416424
417425 it ( 'mapped stack traces can be async' , async ( ) => {
@@ -429,8 +437,8 @@ describe('serialize deserialize', { timeout: 10000 }, function () {
429437 } ,
430438 } ) ;
431439 assert . equal ( typeof deserialized , 'string' ) ;
432- assert . ok ( deserialized . includes ( 'my error msg' ) ) ;
433- assert . ok ( deserialized . includes ( `__MAPPED__:1:2` ) ) ;
440+ expectIncludes ( deserialized , 'my error msg' ) ;
441+ expectIncludes ( deserialized , `__MAPPED__:1:2` ) ;
434442 } ) ;
435443
436444 it ( 'can define a cwd below current directory' , async ( ) => {
@@ -445,11 +453,11 @@ describe('serialize deserialize', { timeout: 10000 }, function () {
445453 cwd : path . resolve ( import . meta. dirname , '..' ) ,
446454 } ) ;
447455 assert . equal ( typeof deserialized , 'string' ) ;
448- assert . ok ( deserialized . includes ( 'my error msg' ) ) ;
449- assert . ok ( deserialized . includes ( `2:23` ) ) ;
450- assert . ok ( deserialized . includes ( `3:23` ) ) ;
451- assert . ok ( deserialized . includes ( `4:23` ) ) ;
452- assert . ok ( deserialized . includes ( `5:35` ) ) ;
456+ expectIncludes ( deserialized , 'my error msg' ) ;
457+ expectIncludes ( deserialized , `2:23` ) ;
458+ expectIncludes ( deserialized , `3:23` ) ;
459+ expectIncludes ( deserialized , `4:23` ) ;
460+ expectIncludes ( deserialized , `5:35` ) ;
453461 } ) ;
454462
455463 it ( 'can define a cwd above current directory' , async ( ) => {
@@ -464,11 +472,11 @@ describe('serialize deserialize', { timeout: 10000 }, function () {
464472 browserRootDir : path . resolve ( import . meta. dirname , '..' ) ,
465473 } ) ;
466474 assert . equal ( typeof deserialized , 'string' ) ;
467- assert . ok ( deserialized . includes ( 'my error msg' ) ) ;
468- assert . ok ( deserialized . includes ( `2:23` ) ) ;
469- assert . ok ( deserialized . includes ( `3:23` ) ) ;
470- assert . ok ( deserialized . includes ( `4:23` ) ) ;
471- assert . ok ( deserialized . includes ( `5:35` ) ) ;
475+ expectIncludes ( deserialized , 'my error msg' ) ;
476+ expectIncludes ( deserialized , `2:23` ) ;
477+ expectIncludes ( deserialized , `3:23` ) ;
478+ expectIncludes ( deserialized , `4:23` ) ;
479+ expectIncludes ( deserialized , `5:35` ) ;
472480 } ) ;
473481
474482 it ( 'handles null' , async ( ) => {
0 commit comments