diff --git a/tests/configs/data/en.json b/tests/configs/data/en.json new file mode 100644 index 00000000..5614b23c --- /dev/null +++ b/tests/configs/data/en.json @@ -0,0 +1,32 @@ +{ + "LOADING": "Loading …", + + "TODAY": "Today", + "TOMORROW": "Tomorrow", + "DAYAFTERTOMORROW": "In 2 days", + "RUNNING": "Ends in", + "EMPTY": "No upcoming events.", + + "WEEK": "Week {weekNumber}", + + "N": "N", + "NNE": "NNE", + "NE": "NE", + "ENE": "ENE", + "E": "E", + "ESE": "ESE", + "SE": "SE", + "SSE": "SSE", + "S": "S", + "SSW": "SSW", + "SW": "SW", + "WSW": "WSW", + "W": "W", + "WNW": "WNW", + "NW": "NW", + "NNW": "NNW", + + "UPDATE_NOTIFICATION": "MagicMirror² update available.", + "UPDATE_NOTIFICATION_MODULE": "Update available for MODULE_NAME module.", + "UPDATE_INFO": "The current installation is COMMIT_COUNT behind on the BRANCH_NAME branch." +} diff --git a/tests/unit/classes/translator_spec.js b/tests/unit/classes/translator_spec.js index 6241928b..de3d95a7 100644 --- a/tests/unit/classes/translator_spec.js +++ b/tests/unit/classes/translator_spec.js @@ -5,48 +5,66 @@ const fs = require("fs"); const {JSDOM} = require("jsdom"); const express = require("express"); -const translations = { - "MMM-Module": { - "Hello": "Hallo", - "Hello {username}": "Hallo {username}" - } -}; - -const coreTranslations = { - "Hello": "XXX", - "Hello {username}": "XXX", - "FOO": "Foo", - "BAR {something}": "Bar {something}" -}; - -const translationsFallback = { - "MMM-Module": { - "Hello": "XXX", - "Hello {username}": "XXX", - "FOO": "XXX", - "BAR {something}": "XXX", - "A key": "A translation" - } -}; - -const coreTranslationsFallback = { - "FOO": "XXX", - "BAR {something}": "XXX", - "Hello": "XXX", - "Hello {username}": "XXX", - "A key": "XXX", - "Fallback": "core fallback" -}; - -function setTranslations(Translator) { - Translator.translations = translations; - Translator.coreTranslations = coreTranslations; - Translator.translationsFallback = translationsFallback; - Translator.coreTranslationsFallback = coreTranslationsFallback; -} - describe("Translator", function() { + let server; + + before(function() { + const app = express(); + + app.get("/translations/:file", function(req, res) { + res.status(200) + .header("Access-Control-Allow-Origin", "*") + .json(require(path.join(__dirname, "..", "..", "..", "tests", "configs", "data", req.params.file))); + }); + + server = app.listen(3000); + }); + + after(function() { + server.close(); + }); + describe("translate", function() { + const translations = { + "MMM-Module": { + "Hello": "Hallo", + "Hello {username}": "Hallo {username}" + } + }; + + const coreTranslations = { + "Hello": "XXX", + "Hello {username}": "XXX", + "FOO": "Foo", + "BAR {something}": "Bar {something}" + }; + + const translationsFallback = { + "MMM-Module": { + "Hello": "XXX", + "Hello {username}": "XXX", + "FOO": "XXX", + "BAR {something}": "XXX", + "A key": "A translation" + } + }; + + const coreTranslationsFallback = { + "FOO": "XXX", + "BAR {something}": "XXX", + "Hello": "XXX", + "Hello {username}": "XXX", + "A key": "XXX", + "Fallback": "core fallback" + }; + + function setTranslations(Translator) { + Translator.translations = translations; + Translator.coreTranslations = coreTranslations; + Translator.translationsFallback = translationsFallback; + Translator.coreTranslationsFallback = coreTranslationsFallback; + } + it("should return custom module translation", function(done) { const dom = new JSDOM(`\ + \ +