1require File.expand_path '../xref_test_case', __FILE__ 2 3class TestRDocMethodAttr < XrefTestCase 4 5 def test_block_params_equal 6 7 m = RDoc::MethodAttr.new(nil, 'foo') 8 9 m.block_params = '' 10 assert_equal '', m.block_params 11 12 m.block_params = 'a_var' 13 assert_equal 'a_var', m.block_params 14 15 m.block_params = '()' 16 assert_equal '', m.block_params 17 18 m.block_params = '(a_var, b_var)' 19 assert_equal 'a_var, b_var', m.block_params 20 21 m.block_params = '.to_s + "</#{element.upcase}>"' 22 assert_equal '', m.block_params 23 24 m.block_params = 'i.name' 25 assert_equal 'name', m.block_params 26 27 m.block_params = 'attr.expanded_name, attr.value' 28 assert_equal 'expanded_name, value', m.block_params 29 30 m.block_params = 'expanded_name, attr.value' 31 assert_equal 'expanded_name, value', m.block_params 32 33 m.block_params = 'attr.expanded_name, value' 34 assert_equal 'expanded_name, value', m.block_params 35 36 m.block_params = '(@base_notifier)' 37 assert_equal 'base_notifier', m.block_params 38 39 m.block_params = 'if @signal_status == :IN_LOAD' 40 assert_equal '', m.block_params 41 42 m.block_params = 'e if e.kind_of? Element' 43 assert_equal 'e', m.block_params 44 45 m.block_params = '(e, f) if e.kind_of? Element' 46 assert_equal 'e, f', m.block_params 47 48 m.block_params = 'back_path, back_name' 49 assert_equal 'back_path, back_name', m.block_params 50 51 m.block_params = '(*a[1..-1])' 52 assert_equal '*a', m.block_params 53 54 m.block_params = '@@context[:node] if defined? @@context[:node].namespace' 55 assert_equal 'context', m.block_params 56 57 m.block_params = '(result, klass.const_get(constant_name))' 58 assert_equal 'result, const', m.block_params 59 60 m.block_params = 'name.to_s if (bitmap & bit) != 0' 61 assert_equal 'name', m.block_params 62 63 m.block_params = 'line unless line.deleted' 64 assert_equal 'line', m.block_params 65 66 m.block_params = 'str + rs' 67 assert_equal 'str', m.block_params 68 69 m.block_params = 'f+rs' 70 assert_equal 'f', m.block_params 71 72 m.block_params = '[user, realm, hash[user]]' 73 assert_equal 'user, realm, hash', m.block_params 74 75 m.block_params = 'proc{|rc| rc == "rc" ? irbrc : irbrc+rc| ... }' 76 assert_equal 'proc', m.block_params 77 78 m.block_params = 'lambda { |x| x.to_i }' 79 assert_equal 'lambda', m.block_params 80 81 m.block_params = '$&' 82 assert_equal 'str', m.block_params 83 84 m.block_params = 'Inflections.instance' 85 assert_equal 'instance', m.block_params 86 87 m.block_params = 'self.class::STARTED' 88 assert_equal 'STARTED', m.block_params 89 90 m.block_params = 'Test::Unit::TestCase::STARTED' 91 assert_equal 'STARTED', m.block_params 92 93 m.block_params = 'ActiveSupport::OptionMerger.new(self, options)' 94 assert_equal 'option_merger', m.block_params 95 96 m.block_params = ', msg' 97 assert_equal '', m.block_params 98 99 m.block_params = '[size.to_s(16), term, chunk, term].join' 100 assert_equal '[size, term, chunk, term].join', m.block_params 101 102 m.block_params = 'YPath.new( path )' 103 assert_equal 'y_path', m.block_params 104 105 end 106 107 def test_find_method_or_attribute_recursive 108 inc = RDoc::Include.new 'M1', nil 109 @m1.add_include inc # M1 now includes itself 110 111 assert_nil @m1_m.find_method_or_attribute 'm' 112 end 113 114 def test_full_name 115 assert_equal 'C1#m', @c1_m.full_name 116 assert_equal 'C1::m', @c1__m.full_name 117 end 118 119 def test_output_name 120 assert_equal '#m', @c1_m.output_name(@c1) 121 assert_equal '::m', @c1__m.output_name(@c1) 122 123 assert_equal 'C1#m', @c1_m.output_name(@c2) 124 assert_equal 'C1.m', @c1__m.output_name(@c2) 125 end 126 127 def test_search_record 128 @c1_m.comment = 'This is a comment.' 129 130 expected = [ 131 'm', 132 'C1#m', 133 'm', 134 'C1', 135 'C1.html#method-i-m', 136 '(foo)', 137 "<p>This is a comment.\n", 138 ] 139 140 assert_equal expected, @c1_m.search_record 141 end 142 143 def test_equals2 144 assert_equal @c1_m, @c1_m 145 refute_equal @c1_m, @parent_m 146 end 147 148 def test_to_s 149 assert_equal 'RDoc::AnyMethod: C1#m', @c1_m.to_s 150 assert_equal 'RDoc::AnyMethod: C2#b', @c2_b.to_s 151 assert_equal 'RDoc::AnyMethod: C1::m', @c1__m.to_s 152 end 153 154end 155 156