зеркало из https://github.com/github/ruby.git
141 строка
2.9 KiB
Ruby
141 строка
2.9 KiB
Ruby
# frozen_string_literal: true
|
|
require 'rdoc/test_case'
|
|
|
|
class TestRDocGeneratorPOTPOEntry < RDoc::TestCase
|
|
|
|
def test_msgid_normal
|
|
assert_equal <<-'ENTRY', entry("Hello", {}).to_s
|
|
msgid "Hello"
|
|
msgstr ""
|
|
ENTRY
|
|
end
|
|
|
|
def test_msgid_multiple_lines
|
|
assert_equal <<-'ENTRY', entry("Hello\nWorld", {}).to_s
|
|
msgid ""
|
|
"Hello\n"
|
|
"World"
|
|
msgstr ""
|
|
ENTRY
|
|
end
|
|
|
|
def test_msgid_tab
|
|
assert_equal <<-'ENTRY', entry("Hello\tWorld", {}).to_s
|
|
msgid "Hello\tWorld"
|
|
msgstr ""
|
|
ENTRY
|
|
end
|
|
|
|
def test_msgid_back_slash
|
|
assert_equal <<-'ENTRY', entry("Hello \\ World", {}).to_s
|
|
msgid "Hello \\ World"
|
|
msgstr ""
|
|
ENTRY
|
|
end
|
|
|
|
def test_msgid_double_quote
|
|
assert_equal <<-'ENTRY', entry("Hello \"World\"!", {}).to_s
|
|
msgid "Hello \"World\"!"
|
|
msgstr ""
|
|
ENTRY
|
|
end
|
|
|
|
def test_translator_comment_normal
|
|
options = {:translator_comment => "Greeting"}
|
|
assert_equal <<-'ENTRY', entry("Hello", options).to_s
|
|
# Greeting
|
|
msgid "Hello"
|
|
msgstr ""
|
|
ENTRY
|
|
end
|
|
|
|
def test_translator_comment_multiple_lines
|
|
options = {:translator_comment => "Greeting\nfor morning"}
|
|
assert_equal <<-'ENTRY', entry("Hello", options).to_s
|
|
# Greeting
|
|
# for morning
|
|
msgid "Hello"
|
|
msgstr ""
|
|
ENTRY
|
|
end
|
|
|
|
def test_extracted_comment_normal
|
|
options = {:extracted_comment => "Object"}
|
|
assert_equal <<-'ENTRY', entry("Hello", options).to_s
|
|
#. Object
|
|
msgid "Hello"
|
|
msgstr ""
|
|
ENTRY
|
|
end
|
|
|
|
def test_extracted_comment_multiple_lines
|
|
options = {:extracted_comment => "Object\nMorning#greeting"}
|
|
assert_equal <<-'ENTRY', entry("Hello", options).to_s
|
|
#. Object
|
|
#. Morning#greeting
|
|
msgid "Hello"
|
|
msgstr ""
|
|
ENTRY
|
|
end
|
|
|
|
def test_references_normal
|
|
options = {:references => [["lib/rdoc.rb", 29]]}
|
|
assert_equal <<-'ENTRY', entry("Hello", options).to_s
|
|
#: lib/rdoc.rb:29
|
|
msgid "Hello"
|
|
msgstr ""
|
|
ENTRY
|
|
end
|
|
|
|
def test_references_multiple
|
|
options = {:references => [["lib/rdoc.rb", 29], ["lib/rdoc/i18n.rb", 9]]}
|
|
assert_equal <<-'ENTRY', entry("Hello", options).to_s
|
|
#: lib/rdoc.rb:29
|
|
#: lib/rdoc/i18n.rb:9
|
|
msgid "Hello"
|
|
msgstr ""
|
|
ENTRY
|
|
end
|
|
|
|
def test_flags_normal
|
|
options = {:flags => ["fuzzy"]}
|
|
assert_equal <<-'ENTRY', entry("Hello", options).to_s
|
|
#, fuzzy
|
|
msgid "Hello"
|
|
msgstr ""
|
|
ENTRY
|
|
end
|
|
|
|
def test_flags_multiple
|
|
options = {:flags => ["fuzzy", "ruby-format"]}
|
|
assert_equal <<-'ENTRY', entry("Hello", options).to_s
|
|
#, fuzzy,ruby-format
|
|
msgid "Hello"
|
|
msgstr ""
|
|
ENTRY
|
|
end
|
|
|
|
def test_full
|
|
options = {
|
|
:translator_comment => "Greeting",
|
|
:extracted_comment => "Morning#greeting",
|
|
:references => [["lib/rdoc.rb", 29]],
|
|
:flags => ["fuzzy"],
|
|
}
|
|
assert_equal <<-'ENTRY', entry("Hello", options).to_s
|
|
# Greeting
|
|
#. Morning#greeting
|
|
#: lib/rdoc.rb:29
|
|
#, fuzzy
|
|
msgid "Hello"
|
|
msgstr ""
|
|
ENTRY
|
|
end
|
|
|
|
private
|
|
def entry(msgid, options)
|
|
RDoc::Generator::POT::POEntry.new(msgid, options)
|
|
end
|
|
|
|
end
|