Skip to content

Commit 3624628

Browse files
authored
Expand RDoc::Attr#dd_alias test cases for aliased attributes access types (#1612)
This is a continuation of #1605. The original PR ensured that aliased attr_accessor attributes have the correct access type ('R' or 'W') instead of always being 'RW'. This PR adds test cases to verify that aliased reader and writer `RDoc::Attr`s are created with the correct access type ('R' or 'W').
1 parent 52e0817 commit 3624628

1 file changed

Lines changed: 12 additions & 8 deletions

File tree

test/rdoc/code_object/attr_test.rb

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -188,17 +188,21 @@ def test_type
188188
end
189189

190190
[
191-
['bar', 'baz', 'R'],
192-
['bar=', 'baz=', 'W']
193-
].each do |original_name, new_name, expected_rw|
194-
define_method("test_add_alias_#{new_name}_for_an_attribute_accessor") do
191+
[{ rw: 'RW', type: :accessor }, { old_name: 'bar', new_name: 'baz' }, 'R'],
192+
[{ rw: 'RW', type: :accessor }, { old_name: 'bar=', new_name: 'baz=' }, 'W'],
193+
[{ rw: 'R', type: :reader }, { old_name: 'bar', new_name: 'baz' }, 'R'],
194+
[{ rw: 'W', type: :writer }, { old_name: 'bar=', new_name: 'baz=' }, 'W']
195+
].each do |orig_attr, an_alias, exp_rw|
196+
define_method(
197+
"test_add_alias_#{an_alias[:new_name]}_for_attr_#{orig_attr[:type]}_sets_correct_rw"
198+
) do
195199
context = RDoc::Context.new
196-
attr = RDoc::Attr.new nil, 'bar', 'RW', ''
197-
an_alias = RDoc::Alias.new nil, original_name, new_name, ''
200+
attr = RDoc::Attr.new nil, 'bar', orig_attr[:rw], ''
201+
als = RDoc::Alias.new nil, an_alias[:old_name], an_alias[:new_name], ''
198202

199-
new_attr = attr.add_alias an_alias, context
203+
new_attr = attr.add_alias als, context
200204

201-
assert_equal expected_rw, new_attr.rw
205+
assert_equal exp_rw, new_attr.rw
202206
end
203207
end
204208
end

0 commit comments

Comments
 (0)