ruby-changes:35439
From: hsbt <ko1@a...>
Date: Thu, 11 Sep 2014 10:03:37 +0900 (JST)
Subject: [ruby-changes:35439] hsbt:r47521 (trunk): * lib/rdoc.rb, lib/rdoc, test/rdoc: Update to RDoc 4.2.0.alpha(21b241a)
hsbt 2014-09-11 10:03:22 +0900 (Thu, 11 Sep 2014) New Revision: 47521 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=47521 Log: * lib/rdoc.rb, lib/rdoc, test/rdoc: Update to RDoc 4.2.0.alpha(21b241a) Modified files: trunk/ChangeLog trunk/lib/rdoc/markup/attribute_manager.rb trunk/lib/rdoc/method_attr.rb trunk/lib/rdoc/ruby_lex.rb trunk/lib/rdoc/token_stream.rb trunk/test/rdoc/test_rdoc_markup_attribute_manager.rb trunk/test/rdoc/test_rdoc_method_attr.rb trunk/test/rdoc/test_rdoc_ruby_lex.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 47520) +++ ChangeLog (revision 47521) @@ -1,3 +1,7 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1 +Thu Sep 11 10:03:16 2014 SHIBATA Hiroshi <shibata.hiroshi@g...> + + * lib/rdoc.rb, lib/rdoc, test/rdoc: Update to RDoc 4.2.0.alpha(21b241a) + Wed Sep 10 17:52:25 2014 Koichi Sasada <ko1@a...> * compile.c (rb_vm_addr2insn): rename to rb_vm_insn_addr2insn Index: lib/rdoc/markup/attribute_manager.rb =================================================================== --- lib/rdoc/markup/attribute_manager.rb (revision 47520) +++ lib/rdoc/markup/attribute_manager.rb (revision 47521) @@ -130,7 +130,7 @@ class RDoc::Markup::AttributeManager https://github.com/ruby/ruby/blob/trunk/lib/rdoc/markup/attribute_manager.rb#L130 # first do matching ones tags = @matching_word_pairs.keys.join("") - re = /(^|\W)([#{tags}])([#:\\]?[\w.\/-]+?\S?)\2(\W|$)/ + re = /(^|\W)([#{tags}])([#\\]?[\w:.\/-]+?\S?)\2(\W|$)/ 1 while str.gsub!(re) do attr = @matching_word_pairs[$2] Index: lib/rdoc/ruby_lex.rb =================================================================== --- lib/rdoc/ruby_lex.rb (revision 47520) +++ lib/rdoc/ruby_lex.rb (revision 47521) @@ -1184,9 +1184,9 @@ class RDoc::RubyLex https://github.com/ruby/ruby/blob/trunk/lib/rdoc/ruby_lex.rb#L1184 str = if ltype == quoted and %w[" ' /].include? ltype then ltype.dup elsif RUBY_VERSION > '1.9' then - "%#{type or PERCENT_LTYPE.key ltype}#{PERCENT_PAREN_REV[quoted]}" + "%#{type or PERCENT_LTYPE.key ltype}#{PERCENT_PAREN_REV[quoted]||quoted}" else - "%#{type or PERCENT_LTYPE.index ltype}#{PERCENT_PAREN_REV[quoted]}" + "%#{type or PERCENT_LTYPE.index ltype}#{PERCENT_PAREN_REV[quoted]||quoted}" end subtype = nil Index: lib/rdoc/token_stream.rb =================================================================== --- lib/rdoc/token_stream.rb (revision 47520) +++ lib/rdoc/token_stream.rb (revision 47521) @@ -88,7 +88,7 @@ module RDoc::TokenStream https://github.com/ruby/ruby/blob/trunk/lib/rdoc/token_stream.rb#L88 # Returns a string representation of the token stream def tokens_to_s - token_stream.map { |token| token.text }.join '' + token_stream.compact.map { |token| token.text }.join '' end end Index: lib/rdoc/method_attr.rb =================================================================== --- lib/rdoc/method_attr.rb (revision 47520) +++ lib/rdoc/method_attr.rb (revision 47521) @@ -361,7 +361,12 @@ class RDoc::MethodAttr < RDoc::CodeObjec https://github.com/ruby/ruby/blob/trunk/lib/rdoc/method_attr.rb#L361 end def pretty_print q # :nodoc: - alias_for = @is_alias_for ? "alias for #{@is_alias_for.name}" : nil + alias_for = + if @is_alias_for.respond_to? :name then + "alias for #{@is_alias_for.name}" + elsif Array === @is_alias_for then + "alias for #{@is_alias_for.last}" + end q.group 2, "[#{self.class.name} #{full_name} #{visibility}", "]" do if alias_for then Index: test/rdoc/test_rdoc_method_attr.rb =================================================================== --- test/rdoc/test_rdoc_method_attr.rb (revision 47520) +++ test/rdoc/test_rdoc_method_attr.rb (revision 47521) @@ -156,6 +156,33 @@ class TestRDocMethodAttr < XrefTestCase https://github.com/ruby/ruby/blob/trunk/test/rdoc/test_rdoc_method_attr.rb#L156 refute_equal @c1_m, @parent_m end + def test_pretty_print + temp_dir do |tmpdir| + s = RDoc::RI::Store.new tmpdir + s.rdoc = @rdoc + + top_level = s.add_file 'file.rb' + meth_bang = RDoc::AnyMethod.new nil, 'method!' + meth_bang.record_location top_level + + meth_bang_alias = RDoc::Alias.new nil, 'method!', 'method_bang', '' + meth_bang_alias.record_location top_level + + klass = top_level.add_class RDoc::NormalClass, 'Object' + klass.add_method meth_bang + + meth_bang.add_alias meth_bang_alias, klass + + s.save + + meth_alias_from_store = s.load_method 'Object', '#method_bang' + + expected = "[RDoc::AnyMethod Object#method_bang public alias for method!]" + actual = mu_pp meth_alias_from_store + assert_equal expected, actual + end + end + def test_to_s assert_equal 'RDoc::AnyMethod: C1#m', @c1_m.to_s assert_equal 'RDoc::AnyMethod: C2#b', @c2_b.to_s Index: test/rdoc/test_rdoc_markup_attribute_manager.rb =================================================================== --- test/rdoc/test_rdoc_markup_attribute_manager.rb (revision 47520) +++ test/rdoc/test_rdoc_markup_attribute_manager.rb (revision 47521) @@ -130,6 +130,9 @@ class TestRDocMarkupAttributeManager < R https://github.com/ruby/ruby/blob/trunk/test/rdoc/test_rdoc_markup_attribute_manager.rb#L130 assert_equal(["cat ", @tt_on, "and", @tt_off, " dog"], @am.flow("cat +and+ dog")) + assert_equal(["cat ", @tt_on, "X::Y", @tt_off, " dog"], + @am.flow("cat +X::Y+ dog")) + assert_equal(["cat ", @bold_on, "a_b_c", @bold_off, " dog"], @am.flow("cat *a_b_c* dog")) Index: test/rdoc/test_rdoc_ruby_lex.rb =================================================================== --- test/rdoc/test_rdoc_ruby_lex.rb (revision 47520) +++ test/rdoc/test_rdoc_ruby_lex.rb (revision 47521) @@ -231,6 +231,17 @@ U https://github.com/ruby/ruby/blob/trunk/test/rdoc/test_rdoc_ruby_lex.rb#L231 assert_equal expected, tokens end + def test_class_tokenize_percent_w_quote + tokens = RDoc::RubyLex.tokenize '%w"hi"', nil + + expected = [ + @TK::TkDSTRING.new( 0, 1, 0, '%w"hi"'), + @TK::TkNL .new( 6, 1, 6, "\n"), + ] + + assert_equal expected, tokens + end + def test_class_tokenize_regexp tokens = RDoc::RubyLex.tokenize "/hay/", nil -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/