diff options
author | Bob Van Landuyt <bob@vanlanduyt.co> | 2017-08-30 10:53:23 +0300 |
---|---|---|
committer | Bob Van Landuyt <bob@vanlanduyt.co> | 2017-08-31 21:13:02 +0200 |
commit | 2c4f9b7a73cf5de875b2c77880c040e845960a9a (patch) | |
tree | 8e4bdd898c7ca19d2eded2ca1fd27bdb2be873c0 /spec | |
parent | f35a5d0d9919810b14d95808f099a3c652fb17b9 (diff) | |
download | gitlab-ce-2c4f9b7a73cf5de875b2c77880c040e845960a9a.tar.gz |
Check for newlines in different methods on TranslationEntry
Diffstat (limited to 'spec')
-rw-r--r-- | spec/fixtures/newlines.po | 7 | ||||
-rw-r--r-- | spec/lib/gitlab/i18n/po_linter_spec.rb | 7 | ||||
-rw-r--r-- | spec/lib/gitlab/i18n/translation_entry_spec.rb | 27 |
3 files changed, 41 insertions, 0 deletions
diff --git a/spec/fixtures/newlines.po b/spec/fixtures/newlines.po index 773d9b23db8..f5bc86f39a7 100644 --- a/spec/fixtures/newlines.po +++ b/spec/fixtures/newlines.po @@ -39,3 +39,10 @@ msgstr[2] "" "with" "multiple" "lines" + +msgid "multiline plural id" +msgid_plural "" +"Plural" +"Id" +msgstr[0] "first" +msgstr[1] "second" diff --git a/spec/lib/gitlab/i18n/po_linter_spec.rb b/spec/lib/gitlab/i18n/po_linter_spec.rb index c40e8ff63bb..0fa4e05c7b1 100644 --- a/spec/lib/gitlab/i18n/po_linter_spec.rb +++ b/spec/lib/gitlab/i18n/po_linter_spec.rb @@ -46,6 +46,13 @@ describe Gitlab::I18n::PoLinter do expect(errors[message_id]).to include(expected_message) end + + it 'raises an error when the plural id is defined over multiple lines' do + message_id = 'multiline plural id' + expected_message = "plural is defined over multiple lines, this breaks some tooling." + + expect(errors[message_id]).to include(expected_message) + end end context 'with an invalid po' do diff --git a/spec/lib/gitlab/i18n/translation_entry_spec.rb b/spec/lib/gitlab/i18n/translation_entry_spec.rb index 7d97942a1d5..e48ba28be0e 100644 --- a/spec/lib/gitlab/i18n/translation_entry_spec.rb +++ b/spec/lib/gitlab/i18n/translation_entry_spec.rb @@ -103,4 +103,31 @@ describe Gitlab::I18n::TranslationEntry do expect(entry).not_to have_singular end end + + describe '#msgid_contains_newlines'do + it 'is true when the msgid is an array' do + data = { msgid: %w(hello world) } + entry = described_class.new(data) + + expect(entry.msgid_contains_newlines?).to be_truthy + end + end + + describe '#plural_id_contains_newlines'do + it 'is true when the msgid is an array' do + data = { plural_id: %w(hello world) } + entry = described_class.new(data) + + expect(entry.plural_id_contains_newlines?).to be_truthy + end + end + + describe '#translations_contain_newlines'do + it 'is true when the msgid is an array' do + data = { msgstr: %w(hello world) } + entry = described_class.new(data) + + expect(entry.translations_contain_newlines?).to be_truthy + end + end end |