From d5d0cb6a0c179b0ea657572a464489dd40a3544d Mon Sep 17 00:00:00 2001 From: Samantaz Fox Date: Mon, 22 Mar 2021 23:57:32 +0000 Subject: [PATCH] Add spec (test case) for locale files consistency --- spec/locales_spec.cr | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 spec/locales_spec.cr diff --git a/spec/locales_spec.cr b/spec/locales_spec.cr new file mode 100644 index 00000000..0bdfc13b --- /dev/null +++ b/spec/locales_spec.cr @@ -0,0 +1,31 @@ +require "spec" +require "json" +require "../src/invidious/helpers/i18n.cr" + +describe "Locales" do + + describe "#consistency" do + locales_list = LOCALES.keys.select! { |key| key != "en-US" } + + locales_list.each do |locale| + puts "\nChecking locale #{locale}" + failed = false + + # Use "en-US" as the reference + LOCALES["en-US"].each_key do |ref_key| + # Catch exception in order to give a hint on what caused + # the failure, and test one locale completely before failing + begin + LOCALES[locale].has_key?(ref_key).should be_true + rescue + failed = true + puts " Missing key in locale #{locale}: '#{ref_key}'" + end + end + + # Throw failed assertion exception in here + failed.should be_false + end + end + +end