File tree 1 file changed +23
-6
lines changed
1 file changed +23
-6
lines changed Original file line number Diff line number Diff line change @@ -17,13 +17,30 @@ for (const lang in languages) {
17
17
testPatterns ( Prism ) ;
18
18
} ) ;
19
19
20
- /** @type {undefined | string | string[] } */
21
- let peerDeps = languages [ lang ] . peerDependencies ;
22
- peerDeps = ! peerDeps ? [ ] : ( Array . isArray ( peerDeps ) ? peerDeps : [ peerDeps ] ) ;
20
+ function toArray ( value ) {
21
+ if ( Array . isArray ( value ) ) {
22
+ return value ;
23
+ } else if ( value != null ) {
24
+ return [ value ] ;
25
+ } else {
26
+ return [ ] ;
27
+ }
28
+ }
29
+
30
+ let optional = toArray ( languages [ lang ] . optional ) ;
31
+ let modify = toArray ( languages [ lang ] . modify ) ;
32
+
33
+ if ( optional . length > 0 || modify . length > 0 ) {
34
+ let name = `Patterns of '${ lang } '` ;
35
+ if ( optional . length > 0 ) {
36
+ name += ` + optional dependencies '${ optional . join ( "', '" ) } '` ;
37
+ }
38
+ if ( modify . length > 0 ) {
39
+ name += ` + modify dependencies '${ modify . join ( "', '" ) } '` ;
40
+ }
23
41
24
- if ( peerDeps . length > 0 ) {
25
- describe ( `Patterns of '${ lang } ' + peer dependencies '${ peerDeps . join ( "', '" ) } '` , function ( ) {
26
- const Prism = PrismLoader . createInstance ( [ ...peerDeps , lang ] ) ;
42
+ describe ( name , function ( ) {
43
+ const Prism = PrismLoader . createInstance ( [ ...optional , ...modify , lang ] ) ;
27
44
testPatterns ( Prism ) ;
28
45
} ) ;
29
46
}
You can’t perform that action at this time.
0 commit comments