From fcbf63e62c627deae76c1b8cb8c0876c536ed811 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Mon, 16 Mar 2020 18:49:26 +0900 Subject: Fresh start --- jni/ruby/test/rdoc/test_rdoc_i18n_text.rb | 123 ++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 jni/ruby/test/rdoc/test_rdoc_i18n_text.rb (limited to 'jni/ruby/test/rdoc/test_rdoc_i18n_text.rb') diff --git a/jni/ruby/test/rdoc/test_rdoc_i18n_text.rb b/jni/ruby/test/rdoc/test_rdoc_i18n_text.rb new file mode 100644 index 0000000..c47f03c --- /dev/null +++ b/jni/ruby/test/rdoc/test_rdoc_i18n_text.rb @@ -0,0 +1,123 @@ +require 'rdoc/test_case' + +class TestRDocI18nText < RDoc::TestCase + + def test_multiple_paragraphs + paragraph1 = <<-PARAGRAPH.strip +RDoc produces HTML and command-line documentation for Ruby projects. RDoc +includes the +rdoc+ and +ri+ tools for generating and displaying documentation +from the command-line. + PARAGRAPH + + paragraph2 = <<-PARAGRAPH.strip +This command generates documentation for all the Ruby and C source +files in and below the current directory. These will be stored in a +documentation tree starting in the subdirectory +doc+. + PARAGRAPH + + raw = <<-RAW +#{paragraph1} + +#{paragraph2} + RAW + + expected = [ + { + :type => :paragraph, + :paragraph => paragraph1, + :line_no => 1, + }, + { + :type => :paragraph, + :paragraph => paragraph2, + :line_no => 5, + }, + ] + assert_equal expected, extract_messages(raw) + end + + def test_translate_multiple_paragraphs + paragraph1 = <<-PARAGRAPH.strip +Paragraph 1. + PARAGRAPH + paragraph2 = <<-PARAGRAPH.strip +Paragraph 2. + PARAGRAPH + + raw = <<-RAW +#{paragraph1} + +#{paragraph2} + RAW + + expected = <<-TRANSLATED +Paragraphe 1. + +Paragraphe 2. + TRANSLATED + assert_equal expected, translate(raw) + end + + def test_translate_not_transalted_message + nonexistent_paragraph = <<-PARAGRAPH.strip +Nonexistent paragraph. + PARAGRAPH + + raw = <<-RAW +#{nonexistent_paragraph} + RAW + + expected = <<-TRANSLATED +#{nonexistent_paragraph} + TRANSLATED + assert_equal expected, translate(raw) + end + + def test_translate_keep_empty_lines + raw = <<-RAW +Paragraph 1. + + + + +Paragraph 2. + RAW + + expected = <<-TRANSLATED +Paragraphe 1. + + + + +Paragraphe 2. + TRANSLATED + assert_equal expected, translate(raw) + end + + private + + def extract_messages(raw) + text = RDoc::I18n::Text.new(raw) + messages = [] + text.extract_messages do |message| + messages << message + end + messages + end + + def locale + locale = RDoc::I18n::Locale.new('fr') + messages = locale.instance_variable_get(:@messages) + messages['markdown'] = 'markdown (markdown in fr)' + messages['Hello'] = 'Bonjour (Hello in fr)' + messages['Paragraph 1.'] = 'Paragraphe 1.' + messages['Paragraph 2.'] = 'Paragraphe 2.' + locale + end + + def translate(raw) + text = RDoc::I18n::Text.new(raw) + text.translate(locale) + end + +end -- cgit v1.2.3