Skip to content

Commit 1e3070a

Browse files
Tests: Fixed optional dependencies in pattern tests (#2242)
The pattern tests still used peer dependencies, so I updated them to use optional and modify dependencies instead.
1 parent 462ad57 commit 1e3070a

File tree

1 file changed

+23
-6
lines changed

1 file changed

+23
-6
lines changed

tests/pattern-tests.js

+23-6
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,30 @@ for (const lang in languages) {
1717
testPatterns(Prism);
1818
});
1919

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+
}
2341

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]);
2744
testPatterns(Prism);
2845
});
2946
}

0 commit comments

Comments
 (0)