forked from midou/invidious
		
	Add spec (test case) for locale files consistency
This commit is contained in:
		
							
								
								
									
										31
									
								
								spec/locales_spec.cr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								spec/locales_spec.cr
									
									
									
									
									
										Normal file
									
								
							@@ -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
 | 
			
		||||
		Reference in New Issue
	
	Block a user