Prism loader must handle dependency array.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
diff --git a/tests/helper/prism-loader.js b/tests/helper/prism-loader.js
index 31f3689..2885ad3 100644
--- a/tests/helper/prism-loader.js
+++ b/tests/helper/prism-loader.js
@@ -19,15 +19,33 @@ module.exports = {
loadedLanguages: [],
Prism: this.createEmptyPrism()
};
- languages = Array.isArray(languages) ? languages : [languages];
- for (var i = 0, l = languages.length; i < l; i++) {
- context = this.loadLanguage(languages[i], context);
- }
+ context = this.loadLanguages(languages, context);
return context.Prism;
},
+ /**
+ * Loads the given languages and appends the config to the given Prism object
+ *
+ * @private
+ * @param {string|string[]} languages
+ * @param {{loadedLanguages: string[], Prism: Prism}} context
+ * @returns {{loadedLanguages: string[], Prism: Prism}}
+ */
+ loadLanguages: function (languages, context) {
+ if (typeof languages === 'string') {
+ languages = [languages];
+ }
+
+ var self = this;
+
+ languages.forEach(function (language) {
+ context = self.loadLanguage(language, context);
+ });
+
+ return context;
+ },
/**
* Loads the given language (including recursively loading the dependencies) and
@@ -50,7 +68,7 @@ module.exports = {
// if the language has a dependency -> load it first
if (languagesCatalog[language].require) {
- context = this.loadLanguage(languagesCatalog[language].require, context);
+ context = this.loadLanguages(languagesCatalog[language].require, context);
}
// load the language itself