@@ -57,6 +57,8 @@ const { readFileSync } = require('fs');
5757 assert . strictEqual ( fileName , originalSource ) ;
5858 assert . strictEqual ( lineNumber , 3 ) ;
5959 assert . strictEqual ( columnNumber , 6 ) ;
60+ assert ( Array . isArray ( sourceMap . lineLengths ) ) ;
61+ assert ( ! sourceMap . lineLengths . some ( ( len ) => ( typeof len !== 'number' ) ) ) ;
6062}
6163
6264// findSourceMap() can be used in Error.prepareStackTrace() to lookup
@@ -116,7 +118,10 @@ const { readFileSync } = require('fs');
116118 const payload = JSON . parse ( readFileSync (
117119 require . resolve ( '../fixtures/source-map/disk.map' ) , 'utf8'
118120 ) ) ;
119- const sourceMap = new SourceMap ( payload ) ;
121+ const lineLengths = readFileSync (
122+ require . resolve ( '../fixtures/source-map/disk.map' ) , 'utf8'
123+ ) . replace ( / \n $ / , '' ) . split ( '\n' ) . map ( ( l ) => l . length ) ;
124+ const sourceMap = new SourceMap ( payload , { lineLengths } ) ;
120125 const {
121126 originalLine,
122127 originalColumn,
@@ -125,6 +130,11 @@ const { readFileSync } = require('fs');
125130 assert . strictEqual ( originalLine , 2 ) ;
126131 assert . strictEqual ( originalColumn , 4 ) ;
127132 assert ( originalSource . endsWith ( 'disk.js' ) ) ;
133+ const sourceMapLineLengths = sourceMap . lineLengths ;
134+ for ( let i = 0 ; i < sourceMapLineLengths . length ; i ++ ) {
135+ assert . strictEqual ( sourceMapLineLengths [ i ] , lineLengths [ i ] ) ;
136+ }
137+ assert . strictEqual ( sourceMapLineLengths . length , lineLengths . length ) ;
128138 // The stored payload should be a clone:
129139 assert . strictEqual ( payload . mappings , sourceMap . payload . mappings ) ;
130140 assert . notStrictEqual ( payload , sourceMap . payload ) ;
0 commit comments