From 7659d30625c9ed0f026e0f330f7a1dbaaad8de13 Mon Sep 17 00:00:00 2001 From: Martin Hickey Date: Mon, 17 Oct 2016 11:36:19 +0100 Subject: [PATCH] Add build task for verify translations --- package.json | 1 + src/ui/__tests__/ui_i18n_keys.js | 50 ------------------------------ tasks/build/index.js | 1 + tasks/build/verify_translations.js | 19 ++++++++++++ 4 files changed, 21 insertions(+), 50 deletions(-) delete mode 100644 src/ui/__tests__/ui_i18n_keys.js create mode 100644 tasks/build/verify_translations.js diff --git a/package.json b/package.json index f99d0f0244d4f97..86b179e597f207a 100644 --- a/package.json +++ b/package.json @@ -175,6 +175,7 @@ "event-stream": "3.3.2", "expect.js": "0.3.1", "faker": "1.1.0", + "glob-promise": "1.0.6", "grunt": "1.0.1", "grunt-aws-s3": "0.14.5", "grunt-babel": "5.0.1", diff --git a/src/ui/__tests__/ui_i18n_keys.js b/src/ui/__tests__/ui_i18n_keys.js deleted file mode 100644 index 921841c169d490f..000000000000000 --- a/src/ui/__tests__/ui_i18n_keys.js +++ /dev/null @@ -1,50 +0,0 @@ -import expect from 'expect.js'; -import verifyKeys from '../../core_plugins/i18n/server/tool/i18n_verify_keys'; -import fromRoot from '../../utils/from_root'; - -describe('Test core translation keys', function () { - - it('Jade template translation keys are translated for English' , function (done) { - let result = true; - const parsePaths = [fromRoot('/src/ui/views/*.jade')]; - const translationFiles = fromRoot('/src/core_plugins/kibana/i18n/en.json'); - const keyPattern = 'translate\\(\'(.*)\'\\)'; - const keyPatternRegEx = new RegExp(keyPattern, 'g'); - - verifyKeys.verifyTranslationKeys(parsePaths, translationFiles, keyPatternRegEx).then(function (keysNotTranslated) { - if (keysNotTranslated && Object.keys(keysNotTranslated).length > 0) { - console.log('The following keys are not translated: ', keysNotTranslated); - result = false; - } - expect(result).to.be(true); - done(); - }).catch(function (err) { - console.log(err); - result = false; - expect(result).to.be(true); - done(); - }); - }); - - it('Jade template translation keys against incorrect translations' , function (done) { - let result = true; - const parsePaths = [fromRoot('/src/ui/views/*.jade'), fromRoot('src/core_plugins/dev_mode/*.js')]; - const translationFiles = [fromRoot('/src/core_plugins/i18n/server/__tests__/data/translations/test_plugin_1/de.json')]; - const keyPattern = 'translate\\(\'(.*)\'\\)'; - const keyPatternRegEx = new RegExp(keyPattern, 'g'); - - verifyKeys.verifyTranslationKeys(parsePaths, translationFiles, keyPatternRegEx).then(function (keysNotTranslated) { - if (keysNotTranslated && Object.keys(keysNotTranslated).length > 0) { - result = false; - } - expect(result).to.be(false); - done(); - }).catch(function (err) { - console.log(err); - result = false; - expect(result).to.be(true); - done(); - }); - }); -}); - diff --git a/tasks/build/index.js b/tasks/build/index.js index 4de6a1407a36412..d4719280edc7f8f 100644 --- a/tasks/build/index.js +++ b/tasks/build/index.js @@ -11,6 +11,7 @@ module.exports = function (grunt) { '_build:babelOptions', '_build:plugins', '_build:data', + '_build:verifyTranslations', '_build:packageJson', '_build:readme', '_build:babelCache', diff --git a/tasks/build/verify_translations.js b/tasks/build/verify_translations.js new file mode 100644 index 000000000000000..c5b50e27837e36d --- /dev/null +++ b/tasks/build/verify_translations.js @@ -0,0 +1,19 @@ +import i18nVerify from '../../src/core_plugins/i18n/server/tool/i18n_verify_keys'; +import fromRoot from '../../src/utils/from_root'; + +module.exports = function (grunt) { + grunt.registerTask('_build:verifyTranslations', function () { + const parsePaths = [fromRoot('/src/ui/views/*.jade')]; + const translationFiles = fromRoot('/src/core_plugins/kibana/i18n/en.json'); + const keyPattern = 'i18n\\(\'(.*)\'\\)'; + const keyPatternRegEx = new RegExp(keyPattern, 'g'); + + i18nVerify.verifyTranslationKeys(parsePaths, translationFiles, keyPatternRegEx).then(function (keysNotTranslated) { + if (keysNotTranslated && Object.keys(keysNotTranslated).length > 0) { + console.error('Verification of the following translations keys are not translated: ', keysNotTranslated); + } else { + console.log('Verification of translations keys are a success.'); + } + }); + }); +};