test/test_bisu_translator.rb in bisu-1.2.0 vs test/test_bisu_translator.rb in bisu-1.2.1
- old
+ new
@@ -2,17 +2,19 @@
require 'bisu/translator'
class BisuTranslatorTest < Minitest::Test
def setup
- @lang = "portuguese"
- @locale = "portuguese"
+ @lang = "portuguese"
+ @incomplete_lang = "english"
+ @locale = "PT-PT"
kb = Bisu::KnowledgeBase.new({
- languages: [@lang],
+ languages: [@lang, @missing_lang],
keys: {
- "kRegularKey" => { @lang => "Não sabes nada João das Neves" },
+ "kRegularKey1" => { @lang => "Não sabes nada João das Neves", @incomplete_lang => "You know nothing John Snow" },
+ "kRegularKey2" => { @lang => "Não sabes isto João das Neves" },
"kIOSKey" => { @lang => "Não sabes nada \"João das Neves\"" },
"kAndroidKey1" => { @lang => "Não sabes nada 'João das Neves'" },
"kAndroidKey2" => { @lang => "Não sabes nada João das Neves..." },
"kAndroidKey3" => { @lang => "Não sabes nada João das Neves & Pícaros" },
"k1ParameterKey" => { @lang => "Não sabes nada %{name}" },
@@ -21,45 +23,64 @@
})
@tios = Bisu::Translator.new(kb, :ios)
@tand = Bisu::Translator.new(kb, :android)
@tror = Bisu::Translator.new(kb, :ror)
+
+ Bisu::Logger.silent_mode = true
end
+ def teardown
+ Bisu::Logger.silent_mode = false
+ end
+
def test_simple_translate
+ orig0 = "0: $kUnknownKey$"
orig1 = "1: $specialKComment1$"
orig2 = "2: $specialKComment2$"
orig3 = "3: $specialKLanguage$"
orig4 = "4: $specialKLocale$"
- orig5 = "5: $kRegularKey$"
+ orig5 = "5: $kRegularKey1$"
orig6_1 = "6.1: $k1ParameterKey$"
orig6_2 = "6.2: $k1ParameterKey{name:%1$s}$"
orig7_1 = "7.1: $k2ParametersKey$"
orig7_2 = "7.2: $k2ParametersKey{percentage:%2$d, name:%1$s}$"
orig7_3 = "7.3: $k2ParametersKey{name:%1$s, percentage:%2$d}$"
+ orig8_1 = "8.1: $kRegularKey1$"
+ orig8_2 = "8.2: $kRegularKey2$"
+ orig8_3 = "8.3: $kRegularKey2$"
+ loc0 = "0: $kUnknownKey$"
loc1 = "1: This file was automatically generated based on a translation template."
loc2 = "2: Remember to CHANGE THE TEMPLATE and not this file!"
loc3 = "3: #{@lang}"
loc4 = "4: #{@locale}"
loc5 = "5: Não sabes nada João das Neves"
loc6_1 = "6.1: Não sabes nada %{name}"
loc6_2 = "6.2: Não sabes nada %1$s"
loc7_1 = "7.1: Sabes %{percentage} por cento %{name}."
loc7_2 = "7.2: Sabes %2$d por cento %1$s."
loc7_3 = "7.3: Sabes %2$d por cento %1$s."
+ loc8_1 = "8.1: You know nothing John Snow"
+ loc8_2 = "8.2: Não sabes isto João das Neves"
+ loc8_3 = "8.3: $kRegularKey2$"
[@tios, @tand, @tror].each do |translator|
+ assert_equal translator.send(:localize, orig0, @lang, @locale), loc0
assert_equal translator.send(:localize, orig1, @lang, @locale), loc1
assert_equal translator.send(:localize, orig2, @lang, @locale), loc2
assert_equal translator.send(:localize, orig3, @lang, @locale), loc3
assert_equal translator.send(:localize, orig4, @lang, @locale), loc4
assert_equal translator.send(:localize, orig5, @lang, @locale), loc5
assert_equal translator.send(:localize, orig6_1, @lang, @locale), loc6_1
assert_equal translator.send(:localize, orig6_2, @lang, @locale), loc6_2
assert_equal translator.send(:localize, orig7_1, @lang, @locale), loc7_1
assert_equal translator.send(:localize, orig7_2, @lang, @locale), loc7_2
assert_equal translator.send(:localize, orig7_3, @lang, @locale), loc7_3
+
+ assert_equal translator.send(:localize, orig8_1, @incomplete_lang, @locale, @lang), loc8_1
+ assert_equal translator.send(:localize, orig8_2, @incomplete_lang, @locale, @lang), loc8_2
+ assert_equal translator.send(:localize, orig8_3, @incomplete_lang, @locale ), loc8_3
end
end
def test_ios_translate
assert_equal @tios.send(:localize, "1: $kIOSKey$", @lang, @locale), "1: Não sabes nada \\\"João das Neves\\\""