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