示例#1
0
        public void NotFoundKeysTest()
        {
            var allEnKeys = TranslationFiles
                            .Where(file => file.Language == "en")
                            .SelectMany(item => item.Translations)
                            .Select(item => item.Key);

            var allJsTranslationKeys = JavaScriptFiles
                                       .Where(f => !f.Path.Contains("Banner.js")) // skip Banner.js (translations from firebase)
                                       .SelectMany(j => j.TranslationKeys)
                                       .Select(k => k.Substring(k.IndexOf(":") + 1))
                                       .Distinct();

            var notFoundJsKeys = allJsTranslationKeys.Except(allEnKeys);

            Assert.AreEqual(0, notFoundJsKeys.Count(),
                            "Some i18n-keys are not exist in translations in 'en' language: Keys: '{0}'",
                            string.Join("\r\n", notFoundJsKeys));
        }
示例#2
0
        public void UselessTranslationKeysTest()
        {
            var allEnKeys = TranslationFiles
                            .Where(file => file.Language == "en")
                            .SelectMany(item => item.Translations)
                            .Select(item => item.Key)
                            .Where(k => !k.StartsWith("Culture_"));

            var allJsTranslationKeys = JavaScriptFiles
                                       .SelectMany(j => j.TranslationKeys)
                                       .Select(k => k.Substring(k.IndexOf(":") + 1))
                                       .Where(k => !k.StartsWith("Culture_"))
                                       .Distinct();

            var notFoundi18nKeys = allEnKeys.Except(allJsTranslationKeys);

            Assert.AreEqual(0, notFoundi18nKeys.Count(),
                            "Some i18n-keys are not found in js: \r\nKeys: '\r\n{0}'",
                            string.Join("\r\n", notFoundi18nKeys));
        }