File tree 1 file changed +24
-1
lines changed
1 file changed +24
-1
lines changed Original file line number Diff line number Diff line change @@ -10,5 +10,28 @@ module.exports = compareContents;
10
10
*/
11
11
async function compareContents ( actualContents , fileName ) {
12
12
let expectedContents = await readFile ( `test/fixtures/modified/${ fileName } ` , "utf8" ) ;
13
- expect ( actualContents ) . to . equal ( expectedContents ) ;
13
+
14
+ // Split both files into separate lines
15
+ let actualLines = actualContents . split ( "\n" ) . filter ( Boolean ) ;
16
+ let expectedLines = expectedContents . split ( "\n" ) . filter ( Boolean ) ;
17
+
18
+ let lineCount = Math . max ( actualLines . length , expectedLines . length ) ;
19
+ let chunkSize = 50 ;
20
+
21
+ // Compare each line
22
+ for ( let i = 0 ; i < lineCount ; i ++ ) {
23
+ let actual = actualLines [ i ] ;
24
+ let expected = expectedLines [ i ] ;
25
+
26
+ // Compare the lines in small chunks, since inlined SVGs can be huuuuuge,
27
+ // which makes it hard to see the differences when there are mismatches
28
+ let offset = 0 ;
29
+ while ( actual . length > offset || expected . length > offset ) {
30
+ let actaulChunk = actual . slice ( offset , offset + chunkSize ) ;
31
+ let expectedChunk = expected . slice ( offset , offset + chunkSize ) ;
32
+
33
+ expect ( actaulChunk ) . to . equal ( expectedChunk , `Line #${ i + 1 } does not match line #${ i + 1 } of ${ fileName } ` ) ;
34
+ offset += chunkSize ;
35
+ }
36
+ }
14
37
}
You can’t perform that action at this time.
0 commit comments