@@ -2529,6 +2529,105 @@ def m2; end
25292529 assert_equal "ARGF.readlines(a)\n ARGF.readlines(b)\n ARGF.readlines(c)\n ARGF.readlines(d)" , m2 . call_seq . chomp
25302530 end
25312531
2532+ def test_markup_code
2533+ util_parser <<~RUBY
2534+ class Foo
2535+ def bar
2536+ end
2537+ end
2538+ RUBY
2539+
2540+ m1 , = @top_level . classes . first . method_list
2541+
2542+ assert_equal <<~EXPECTED . chomp , m1 . markup_code
2543+ <span class="ruby-comment"># File #{ @filename } , line 2</span>
2544+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">bar</span>
2545+ <span class="ruby-keyword">end</span>
2546+ EXPECTED
2547+ end
2548+
2549+ def test_markup_code_with_line_numbers
2550+ @top_level . store . options . line_numbers = true
2551+ util_parser <<~RUBY
2552+ class Foo
2553+ def bar
2554+ end
2555+ end
2556+ RUBY
2557+
2558+ m1 , = @top_level . classes . first . method_list
2559+
2560+ assert_equal <<~EXPECTED . chomp , m1 . markup_code
2561+ <span class="ruby-comment"># File #{ @filename } </span>
2562+ <span class="line-num">2</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">bar</span>
2563+ <span class="line-num">3</span> <span class="ruby-keyword">end</span>
2564+ EXPECTED
2565+ end
2566+
2567+ def test_markup_code_dedent
2568+ util_parser <<~RUBY
2569+ class Foo
2570+ def bar
2571+ end
2572+
2573+ private
2574+ def baz
2575+ end
2576+ end
2577+ RUBY
2578+ m1 , m2 = @top_level . classes . first . method_list
2579+
2580+ assert_equal ( <<~EXPECTED . chomp , m1 . markup_code )
2581+ <span class="ruby-comment"># File #{ @filename } , line 2</span>
2582+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">bar</span>
2583+ <span class="ruby-keyword">end</span>
2584+ EXPECTED
2585+ assert_equal ( <<~EXPECTED . chomp , m2 . markup_code )
2586+ <span class="ruby-comment"># File #{ @filename } , line 6</span>
2587+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">baz</span>
2588+ <span class="ruby-keyword">end</span>
2589+ EXPECTED
2590+ end
2591+
2592+ def test_markup_code_empty
2593+ util_parser <<~RUBY
2594+ class Foo
2595+ ##
2596+ # :method: ghost_method
2597+
2598+ ##
2599+ # :method:
2600+ # :call-seq: ghost_method2() -> Integer
2601+ end
2602+ RUBY
2603+
2604+ m1 , m2 = @top_level . classes . first . method_list
2605+ assert_equal (
2606+ "<span class=\" ruby-comment\" ># File #{ @filename } , line 3</span>" ,
2607+ m1 . markup_code . chomp
2608+ )
2609+ assert_equal (
2610+ "<span class=\" ruby-comment\" ># File #{ @filename } , line 6</span>" ,
2611+ m2 . markup_code . chomp
2612+ )
2613+ end
2614+
2615+ def test_markup_code_empty_line_number
2616+ @top_level . store . options . line_numbers = true
2617+ util_parser <<~RUBY
2618+ class Foo
2619+ ##
2620+ # :method: ghost_method
2621+ end
2622+ RUBY
2623+
2624+ m , = @top_level . classes . first . method_list
2625+ assert_equal (
2626+ "<span class=\" ruby-comment\" ># File #{ @filename } , line 3</span>" ,
2627+ m . markup_code . chomp
2628+ )
2629+ end
2630+
25322631 def util_parser ( content )
25332632 @parser = RDoc ::Parser ::Ruby . new @top_level , content , @options , @stats
25342633 @parser . scan
0 commit comments