From f8ea5b1136e6343414a525eb4fa32115efea1b4c Mon Sep 17 00:00:00 2001 From: David Taylor Date: Fri, 16 Jun 2023 15:28:03 +0100 Subject: [PATCH] DEV: Update TranslateAccelerator missing translation string (#22158) Upstream added a capital 'T' to the 'Translation missing' message in https://github.com/ruby-i18n/i18n/commit/c5c6e753f3. This caused our translate accelerator patch to diverge, and the change in case affected a number of our specs. This commit updates the translate accelerator to match the upstream casing, and introduces a spec to detect future divergence. --- lib/freedom_patches/translate_accelerator.rb | 2 +- spec/integrity/i18n_spec.rb | 2 +- spec/lib/freedom_patches/translate_accelerator_spec.rb | 8 +++++++- spec/requests/admin/email_templates_controller_spec.rb | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/freedom_patches/translate_accelerator.rb b/lib/freedom_patches/translate_accelerator.rb index a95ab7275c0..047a4754506 100644 --- a/lib/freedom_patches/translate_accelerator.rb +++ b/lib/freedom_patches/translate_accelerator.rb @@ -148,7 +148,7 @@ module I18n elsif should_raise raise I18n::MissingTranslationData.new(locale, key) else - -"translation missing: #{locale}.#{key}" + -"Translation missing: #{locale}.#{key}" end end diff --git a/spec/integrity/i18n_spec.rb b/spec/integrity/i18n_spec.rb index efe2060a261..1b50b7abec2 100644 --- a/spec/integrity/i18n_spec.rb +++ b/spec/integrity/i18n_spec.rb @@ -32,7 +32,7 @@ RSpec.describe "i18n integrity checks" do it "has an i18n key for each Site Setting" do SiteSetting.all_settings.each do |s| next if s[:plugin] == SiteSetting::SAMPLE_TEST_PLUGIN.name - expect(s[:description]).not_to match(/translation missing/) + expect(s[:description]).not_to match(/Translation missing/) end end diff --git a/spec/lib/freedom_patches/translate_accelerator_spec.rb b/spec/lib/freedom_patches/translate_accelerator_spec.rb index 16c0c9e1acf..c7a019ed554 100644 --- a/spec/lib/freedom_patches/translate_accelerator_spec.rb +++ b/spec/lib/freedom_patches/translate_accelerator_spec.rb @@ -26,7 +26,13 @@ RSpec.describe "translate accelerator" do orig = I18n.t("i_am_an_unknown_key99") expect(I18n.t("i_am_an_unknown_key99").object_id).to eq(orig.object_id) - expect(I18n.t("i_am_an_unknown_key99")).to eq("translation missing: en.i_am_an_unknown_key99") + expect(I18n.t("i_am_an_unknown_key99")).to eq("Translation missing: en.i_am_an_unknown_key99") + end + + it "has the same 'translation missing' message as upstream" do + expect(I18n.t("this_key_does_not_exist")).to eq( + I18n.translate_no_cache("this_key_does_not_exist"), + ) end it "returns the correct language" do diff --git a/spec/requests/admin/email_templates_controller_spec.rb b/spec/requests/admin/email_templates_controller_spec.rb index 4fb80b48daf..0680d982d88 100644 --- a/spec/requests/admin/email_templates_controller_spec.rb +++ b/spec/requests/admin/email_templates_controller_spec.rb @@ -450,7 +450,7 @@ RSpec.describe Admin::EmailTemplatesController do it "uses only existing email templates" do Admin::EmailTemplatesController.email_keys.each do |key| - expect(I18n.t(key)).to_not include("translation missing") + expect(I18n.t(key)).to_not include("Translation missing") end end end