@@ -22,8 +22,12 @@ const svelte = process.env.COVERAGE ?
22
22
23
23
const cache = { } ;
24
24
25
+ let showCompiledCode = false ;
26
+
25
27
require . extensions [ '.html' ] = function ( module , filename ) {
26
28
const code = cache [ filename ] || ( cache [ filename ] = svelte . compile ( fs . readFileSync ( filename , 'utf-8' ) ) . code ) ;
29
+ if ( showCompiledCode ) console . log ( addLineNumbers ( code ) ) ; // eslint-disable-line no-console
30
+
27
31
return module . _compile ( code , filename ) ;
28
32
} ;
29
33
@@ -49,6 +53,15 @@ function env () {
49
53
} ) ;
50
54
}
51
55
56
+ function addLineNumbers ( code ) {
57
+ return code . split ( '\n' ) . map ( ( line , i ) => {
58
+ i = String ( i + 1 ) ;
59
+ while ( i . length < 3 ) i = ` ${ i } ` ;
60
+
61
+ return `${ i } : ${ line . replace ( / ^ \t + / , match => match . split ( '\t' ) . join ( ' ' ) ) } ` ;
62
+ } ) . join ( '\n' ) ;
63
+ }
64
+
52
65
describe ( 'svelte' , ( ) => {
53
66
before ( ( ) => {
54
67
function cleanChildren ( node ) {
@@ -225,6 +238,8 @@ describe( 'svelte', () => {
225
238
( config . skip ? it . skip : config . solo ? it . only : it ) ( dir , ( ) => {
226
239
let compiled ;
227
240
241
+ showCompiledCode = config . show ;
242
+
228
243
try {
229
244
const source = fs . readFileSync ( `test/compiler/${ dir } /main.html` , 'utf-8' ) ;
230
245
compiled = svelte . compile ( source ) ;
@@ -238,20 +253,14 @@ describe( 'svelte', () => {
238
253
}
239
254
240
255
const { code } = compiled ;
241
- const withLineNumbers = code . split ( '\n' ) . map ( ( line , i ) => {
242
- i = String ( i + 1 ) ;
243
- while ( i . length < 3 ) i = ` ${ i } ` ;
244
-
245
- return `${ i } : ${ line . replace ( / ^ \t + / , match => match . split ( '\t' ) . join ( ' ' ) ) } ` ;
246
- } ) . join ( '\n' ) ;
247
256
248
257
// check that no ES2015+ syntax slipped in
249
258
try {
250
259
const startIndex = code . indexOf ( 'function renderMainFragment' ) ; // may change!
251
260
const es5 = spaces ( startIndex ) + code . slice ( startIndex ) . replace ( / e x p o r t d e f a u l t .+ / , '' ) ;
252
261
acorn . parse ( es5 , { ecmaVersion : 5 } ) ;
253
262
} catch ( err ) {
254
- console . log ( withLineNumbers ) ; // eslint-disable-line no-console
263
+ if ( ! config . show ) console . log ( addLineNumbers ( code ) ) ; // eslint-disable-line no-console
255
264
throw err ;
256
265
}
257
266
@@ -262,14 +271,10 @@ describe( 'svelte', () => {
262
271
try {
263
272
SvelteComponent = require ( `./compiler/${ dir } /main.html` ) . default ;
264
273
} catch ( err ) {
265
- console . log ( withLineNumbers ) ; // eslint-disable-line no-console
274
+ if ( ! config . show ) console . log ( addLineNumbers ( code ) ) ; // eslint-disable-line no-console
266
275
throw err ;
267
276
}
268
277
269
- if ( config . show ) {
270
- console . log ( withLineNumbers ) ; // eslint-disable-line no-console
271
- }
272
-
273
278
return env ( )
274
279
. then ( window => {
275
280
const target = window . document . querySelector ( 'main' ) ;
@@ -291,7 +296,7 @@ describe( 'svelte', () => {
291
296
}
292
297
} )
293
298
. catch ( err => {
294
- if ( ! config . show ) console . log ( withLineNumbers ) ; // eslint-disable-line no-console
299
+ if ( ! config . show ) console . log ( addLineNumbers ( code ) ) ; // eslint-disable-line no-console
295
300
throw err ;
296
301
} ) ;
297
302
} ) ;
0 commit comments