@@ -11,6 +11,7 @@ import {
1111 FailedLogMessages ,
1212} from "./interface.js" ;
1313import chalk from "chalk" ;
14+ import assert from "node:assert" ;
1415
1516const { readFile, writeFile } = promises ;
1617
@@ -32,12 +33,13 @@ export class ExecutionResultSummary {
3233 return failedInfo ;
3334 }
3435
35- #processAssertInfo( failedInfo : AssertFailMessage , expectInfo : ExpectInfo ) {
36+ #processAssertInfo( failedInfo : AssertFailMessage , expectInfo : ExpectInfo | null ) {
3637 for ( const [ testcaseName , value ] of json2map < AssertMessage [ ] > ( failedInfo ) ) {
3738 const errorMsgs : string [ ] = [ ] ;
3839 for ( const msg of value ) {
39- const [ index , actualValue , expectValue ] = msg ;
40- const debugLocation = expectInfo [ index ] ;
40+ const [ expectInfoIndex , actualValue , expectValue ] = msg ;
41+ assert ( expectInfo !== null && "missing expect info!" ) ;
42+ const debugLocation = expectInfo [ expectInfoIndex ] ;
4143 let errorMsg = `${ debugLocation ?? "" } value: ${ actualValue } expect: ${ expectValue } ` ;
4244 if ( errorMsg . length > 160 ) {
4345 errorMsg = `${ debugLocation ?? "" } \nvalue: \n ${ actualValue } \nexpect: \n ${ expectValue } ` ;
@@ -72,7 +74,7 @@ export class ExecutionResultSummary {
7274 if ( result . fail > 0 ) {
7375 try {
7476 const expectContent = await readFile ( expectInfoFilePath , { encoding : "utf8" } ) ;
75- const expectInfo = JSON . parse ( expectContent ) as ExpectInfo ;
77+ const expectInfo = JSON . parse ( expectContent ) as ExpectInfo | null ;
7678 this . #processAssertInfo( result . failedInfo , expectInfo ) ;
7779 this . #processCrashInfo( result . crashInfo ) ;
7880 this . #processLogMessages( result . failedLogMessages ) ;
0 commit comments