1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207
|
# encoding: utf-8
require 'test_helper'
require 'i18n/gettext/helpers'
include I18n::Gettext::Helpers
class I18nGettextApiTest < I18n::TestCase
def setup
super
I18n.locale = :en
I18n.backend.store_translations :de, {
'Hi Gettext!' => 'Hallo Gettext!',
'Sentence 1. Sentence 2.' => 'Satz 1. Satz 2.',
"An apple" => { :one => 'Ein Apfel', :other => '%{count} Äpfel' },
:special => { "A special apple" => { :one => 'Ein spezieller Apfel', :other => '%{count} spezielle Äpfel' } },
:foo => { :bar => 'bar-de' },
'foo.bar' => 'Foo Bar'
}, :separator => '|'
end
# gettext
def test_gettext_uses_msg_as_default
assert_equal 'Hi Gettext!', _('Hi Gettext!')
end
def test_gettext_uses_msg_as_key
I18n.locale = :de
assert_equal 'Hallo Gettext!', gettext('Hi Gettext!')
assert_equal 'Hallo Gettext!', _('Hi Gettext!')
end
def test_gettext_uses_msg_containing_dots_as_default
assert_equal 'Sentence 1. Sentence 2.', gettext('Sentence 1. Sentence 2.')
assert_equal 'Sentence 1. Sentence 2.', _('Sentence 1. Sentence 2.')
end
def test_gettext_uses_msg_containing_dots_as_key
I18n.locale = :de
assert_equal 'Satz 1. Satz 2.', gettext('Sentence 1. Sentence 2.')
assert_equal 'Satz 1. Satz 2.', _('Sentence 1. Sentence 2.')
end
# sgettext
def test_sgettext_defaults_to_the_last_token_of_a_scoped_msgid
assert_equal 'bar', sgettext('foo|bar')
assert_equal 'bar', s_('foo|bar')
end
def test_sgettext_looks_up_a_scoped_translation
I18n.locale = :de
assert_equal 'bar-de', sgettext('foo|bar')
assert_equal 'bar-de', s_('foo|bar')
end
def test_sgettext_ignores_dots
I18n.locale = :de
assert_equal 'Foo Bar', sgettext('foo.bar')
assert_equal 'Foo Bar', s_('foo.bar')
end
# pgettext
def test_pgettext_defaults_to_msgid
assert_equal 'bar', pgettext('foo', 'bar')
assert_equal 'bar', p_('foo', 'bar')
end
def test_pgettext_looks_up_a_scoped_translation
I18n.locale = :de
assert_equal 'bar-de', pgettext('foo', 'bar')
assert_equal 'bar-de', p_('foo', 'bar')
end
# ngettext
def test_ngettext_looks_up_msg_id_as_default_singular
assert_equal 'An apple', ngettext('An apple', '%{count} apples', 1)
assert_equal 'An apple', n_('An apple', '%{count} apples', 1)
end
def test_ngettext_looks_up_msg_id_plural_as_default_plural
assert_equal '2 apples', ngettext('An apple', '%{count} apples', 2)
assert_equal '2 apples', n_('An apple', '%{count} apples', 2)
end
def test_ngettext_looks_up_a_singular
I18n.locale = :de
assert_equal 'Ein Apfel', ngettext('An apple', '%{count} apples', 1)
assert_equal 'Ein Apfel', n_('An apple', '%{count} apples', 1)
end
def test_ngettext_looks_up_a_plural
I18n.locale = :de
assert_equal '2 Äpfel', ngettext('An apple', '%{count} apples', 2)
assert_equal '2 Äpfel', n_('An apple', '%{count} apples', 2)
end
def test_ngettext_looks_up_msg_id_as_default_singular_with_alternative_syntax
assert_equal 'An apple', ngettext(['An apple', '%{count} apples'], 1)
assert_equal 'An apple', n_(['An apple', '%{count} apples'], 1)
end
def test_ngettext_looks_up_msg_id_plural_as_default_plural_with_alternative_syntax
assert_equal '2 apples', ngettext(['An apple', '%{count} apples'], 2)
assert_equal '2 apples', n_(['An apple', '%{count} apples'], 2)
end
def test_ngettext_looks_up_a_singular_with_alternative_syntax
I18n.locale = :de
assert_equal 'Ein Apfel', ngettext(['An apple', '%{count} apples'], 1)
assert_equal 'Ein Apfel', n_(['An apple', '%{count} apples'], 1)
end
def test_ngettext_looks_up_a_plural_with_alternative_syntax
I18n.locale = :de
assert_equal '2 Äpfel', ngettext(['An apple', '%{count} apples'], 2)
assert_equal '2 Äpfel', n_(['An apple', '%{count} apples'], 2)
end
# nsgettext
def test_nsgettext_looks_up_msg_id_as_default_singular
assert_equal 'A special apple', nsgettext('special|A special apple', '%{count} special apples', 1)
assert_equal 'A special apple', ns_('special|A special apple', '%{count} special apples', 1)
end
def test_nsgettext_looks_up_msg_id_plural_as_default_plural
assert_equal '2 special apples', nsgettext('special|A special apple', '%{count} special apples', 2)
assert_equal '2 special apples', ns_('special|A special apple', '%{count} special apples', 2)
end
def test_nsgettext_looks_up_a_singular
I18n.locale = :de
assert_equal 'Ein spezieller Apfel', nsgettext('special|A special apple', '%{count} special apples', 1)
assert_equal 'Ein spezieller Apfel', ns_('special|A special apple', '%{count} special apples', 1)
end
def test_nsgettext_looks_up_a_plural
I18n.locale = :de
assert_equal '2 spezielle Äpfel', nsgettext('special|A special apple', '%{count} special apples', 2)
assert_equal '2 spezielle Äpfel', ns_('special|A special apple', '%{count} special apples', 2)
end
def test_nsgettext_looks_up_msg_id_as_default_singular_with_alternative_syntax
assert_equal 'A special apple', nsgettext(['special|A special apple', '%{count} special apples'], 1)
assert_equal 'A special apple', ns_(['special|A special apple', '%{count} special apples'], 1)
end
def test_nsgettext_looks_up_msg_id_plural_as_default_plural_with_alternative_syntax
assert_equal '2 special apples', nsgettext(['special|A special apple', '%{count} special apples'], 2)
assert_equal '2 special apples', ns_(['special|A special apple', '%{count} special apples'], 2)
end
def test_nsgettext_looks_up_a_singular_with_alternative_syntax
I18n.locale = :de
assert_equal 'Ein spezieller Apfel', nsgettext(['special|A special apple', '%{count} special apples'], 1)
assert_equal 'Ein spezieller Apfel', ns_(['special|A special apple', '%{count} special apples'], 1)
end
def test_nsgettext_looks_up_a_plural_with_alternative_syntax
I18n.locale = :de
assert_equal '2 spezielle Äpfel', nsgettext(['special|A special apple', '%{count} special apples'], 2)
assert_equal '2 spezielle Äpfel', ns_(['special|A special apple', '%{count} special apples'], 2)
end
# npgettext
def test_npgettext_looks_up_msg_id_as_default_singular
assert_equal 'A special apple', npgettext('special', 'A special apple', '%{count} special apples', 1)
assert_equal 'A special apple', np_('special', 'A special apple', '%{count} special apples', 1)
end
def test_npgettext_looks_up_msg_id_plural_as_default_plural
assert_equal '2 special apples', npgettext('special', 'A special apple', '%{count} special apples', 2)
assert_equal '2 special apples', np_('special', 'A special apple', '%{count} special apples', 2)
end
def test_npgettext_looks_up_a_singular
I18n.locale = :de
assert_equal 'Ein spezieller Apfel', npgettext('special', 'A special apple', '%{count} special apples', 1)
assert_equal 'Ein spezieller Apfel', np_('special', 'A special apple', '%{count} special apples', 1)
end
def test_npgettext_looks_up_a_plural
I18n.locale = :de
assert_equal '2 spezielle Äpfel', npgettext('special', 'A special apple', '%{count} special apples', 2)
assert_equal '2 spezielle Äpfel', np_('special', 'A special apple', '%{count} special apples', 2)
end
def test_npgettext_looks_up_msg_id_as_default_singular_with_alternative_syntax
assert_equal 'A special apple', npgettext('special', ['A special apple', '%{count} special apples'], 1)
assert_equal 'A special apple', np_('special', ['A special apple', '%{count} special apples'], 1)
end
def test_npgettext_looks_up_msg_id_plural_as_default_plural_with_alternative_syntax
assert_equal '2 special apples', npgettext('special', ['A special apple', '%{count} special apples'], 2)
assert_equal '2 special apples', np_('special', ['A special apple', '%{count} special apples'], 2)
end
def test_npgettext_looks_up_a_singular_with_alternative_syntax
I18n.locale = :de
assert_equal 'Ein spezieller Apfel', npgettext('special', ['A special apple', '%{count} special apples'], 1)
assert_equal 'Ein spezieller Apfel', np_('special', ['A special apple', '%{count} special apples'], 1)
end
def test_npgettext_looks_up_a_plural_with_alternative_syntax
I18n.locale = :de
assert_equal '2 spezielle Äpfel', npgettext('special', ['A special apple', '%{count} special apples'], 2)
assert_equal '2 spezielle Äpfel', np_('special', ['A special apple', '%{count} special apples'], 2)
end
end
|