diff options
author | Jari Vetoniemi <jari.vetoniemi@indooratlas.com> | 2020-03-16 18:49:26 +0900 |
---|---|---|
committer | Jari Vetoniemi <jari.vetoniemi@indooratlas.com> | 2020-03-30 00:39:06 +0900 |
commit | fcbf63e62c627deae76c1b8cb8c0876c536ed811 (patch) | |
tree | 64cb17de3f41a2b6fef2368028fbd00349946994 /jni/ruby/test/rdoc/test_rdoc_parser_simple.rb |
Fresh start
Diffstat (limited to 'jni/ruby/test/rdoc/test_rdoc_parser_simple.rb')
-rw-r--r-- | jni/ruby/test/rdoc/test_rdoc_parser_simple.rb | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/jni/ruby/test/rdoc/test_rdoc_parser_simple.rb b/jni/ruby/test/rdoc/test_rdoc_parser_simple.rb new file mode 100644 index 0000000..d45a993 --- /dev/null +++ b/jni/ruby/test/rdoc/test_rdoc_parser_simple.rb @@ -0,0 +1,115 @@ +require 'rdoc/test_case' + +class TestRDocParserSimple < RDoc::TestCase + + def setup + super + + @tempfile = Tempfile.new self.class.name + filename = @tempfile.path + + @top_level = @store.add_file filename + @fn = filename + @options = RDoc::Options.new + @stats = RDoc::Stats.new @store, 0 + end + + def teardown + super + + @tempfile.close! + end + + def test_initialize_metadata + parser = util_parser ":unhandled: \n" + + assert_includes @top_level.metadata, 'unhandled' + + assert_equal ":unhandled: \n", parser.content + end + + def test_remove_coding_comment + parser = util_parser <<-TEXT +# -*- mode: rdoc; coding: utf-8; fill-column: 74; -*- + +Regular expressions (<i>regexp</i>s) are patterns which describe the +contents of a string. + TEXT + + parser.scan + + expected = <<-TEXT.strip +Regular expressions (<i>regexp</i>s) are patterns which describe the +contents of a string. + TEXT + + assert_equal expected, @top_level.comment.text + end + + # RDoc stops processing comments if it finds a comment line CONTAINING + # '<tt>#--</tt>'. This can be used to separate external from internal + # comments, or to stop a comment being associated with a method, + # class, or module. Commenting CAN be turned back on with + # a line that STARTS '<tt>#++</tt>'. + # + # I've seen guys that comment their code like this: + # # This method.... + # #----------------- + # def method + # + # => either we do it only in ruby code, or we require the leading # + # (to avoid conflict with rules). + # + # TODO: require the leading #, to provide the feature in simple text files. + # Note: in ruby & C code, we require '#--' & '#++' or '*--' & '*++', + # to allow rules: + # + # # this is a comment + # #--- + # # private text + # #+++ + # # this is a rule: + # # --- + + def test_remove_private_comments + parser = util_parser "foo\n\n--\nbar\n++\n\nbaz\n" + + parser.scan + + expected = "foo\n\n\nbaz" + + assert_equal expected, @top_level.comment.text + end + + def test_remove_private_comments_rule + parser = util_parser "foo\n---\nbar" + + parser.scan + + expected = "foo\n---\nbar" + + assert_equal expected, @top_level.comment.text + end + + def test_remove_private_comments_star + parser = util_parser "* foo\n* bar\n" + + parser.scan + + assert_equal "* foo\n* bar", @top_level.comment.text + end + + def test_scan + parser = util_parser 'it *really* works' + + parser.scan + + assert_equal 'it *really* works', @top_level.comment.text + end + + def util_parser(content) + RDoc::Parser::Simple.new @top_level, @fn, content, @options, @stats + end + +end + |