@@ -8,29 +8,39 @@ const EXAMPLE = `%%foo
8
8
bar
9
9
` ;
10
10
11
- const EXPECTED : IExtractedCode = {
12
- foreign_code : 'bar\n' ,
13
- host_code : EXAMPLE ,
14
- range : { end : { column : 0 , line : 2 } , start : { column : 0 , line : 1 } } ,
15
- virtual_shift : null
11
+ let FIXTURES : { [ key : string ] : IExtractedCode } = {
12
+ 'does extract foo' : {
13
+ foreign_code : 'bar\n' ,
14
+ host_code : EXAMPLE ,
15
+ range : { end : { column : 0 , line : 2 } , start : { column : 0 , line : 1 } } ,
16
+ virtual_shift : null
17
+ } ,
18
+ 'does NOT extract bar' : {
19
+ foreign_code : null ,
20
+ host_code : 'baz' ,
21
+ range : null ,
22
+ virtual_shift : null
23
+ } ,
24
+ 'does NOT extract foobar' : {
25
+ foreign_code : null ,
26
+ host_code : EXAMPLE . replace ( 'foo' , 'foobar' ) ,
27
+ range : null ,
28
+ virtual_shift : null
29
+ }
16
30
} ;
17
31
18
- const NOT_EXPECTED : IExtractedCode = {
19
- foreign_code : null ,
20
- host_code : 'baz' ,
21
- range : null ,
22
- virtual_shift : null
32
+ FIXTURES [ 'does extract foo -v bar' ] = {
33
+ ...FIXTURES [ 'does extract foo' ] ,
34
+ host_code : EXAMPLE . replace ( 'foo' , 'foo -v' )
23
35
} ;
24
36
25
37
describe ( 'The foo extractor' , ( ) => {
26
- it ( 'extracts %%foo bar' , ( ) => {
27
- const extracted = extractor . extract_foreign_code ( EXAMPLE ) ;
28
- expect ( extracted ) . to . have . length ( 1 ) ;
29
- expect ( extracted [ 0 ] ) . to . deep . equal ( EXPECTED ) ;
30
- } ) ;
31
- it ( 'does not extract baz' , ( ) => {
32
- const extracted = extractor . extract_foreign_code ( 'baz' ) ;
33
- expect ( extracted ) . to . have . length ( 1 ) ;
34
- expect ( extracted [ 0 ] ) . to . deep . equal ( NOT_EXPECTED ) ;
35
- } ) ;
38
+ test . each ( Object . entries ( FIXTURES ) ) (
39
+ '%s' ,
40
+ ( _ : string , expected : IExtractedCode ) => {
41
+ const extracted = extractor . extract_foreign_code ( expected . host_code ) ;
42
+ expect ( extracted ) . to . have . length ( 1 ) ;
43
+ expect ( extracted [ 0 ] ) . to . deep . equal ( expected ) ;
44
+ }
45
+ ) ;
36
46
} ) ;
0 commit comments