File tree Expand file tree Collapse file tree 2 files changed +8
-4
lines changed Expand file tree Collapse file tree 2 files changed +8
-4
lines changed Original file line number Diff line number Diff line change @@ -9,6 +9,7 @@ module ViewSpecMethods
9
9
# When class is `::ActionView::TestCase::TestController`, these methods
10
10
# are exposed in view specs on the `controller` object.
11
11
def add_to ( klass )
12
+ return if klass . instance_methods . include? ( :extra_params ) && klass . instance_methods . include? ( :extra_params= )
12
13
return if klass . instance_methods . include? ( "extra_params" ) && klass . instance_methods . include? ( "extra_params=" )
13
14
14
15
klass . module_exec do
@@ -45,9 +46,10 @@ def extra_params
45
46
46
47
# Removes methods `extra_params=` and `extra_params` from the indicated class.
47
48
def remove_from ( klass )
49
+ methods = klass . instance_methods
48
50
klass . module_exec do
49
- undef extra_params = if klass . instance_methods . include? ( :extra_params= )
50
- undef extra_params if klass . instance_methods . include? ( :extra_params )
51
+ undef extra_params = if methods . include? ( :extra_params= ) || methods . include? ( "extra_params=" )
52
+ undef extra_params if methods . include? ( :extra_params ) || methods . include? ( "extra_params" )
51
53
end
52
54
end
53
55
end
Original file line number Diff line number Diff line change @@ -13,8 +13,8 @@ class ::VCSampleClass; end
13
13
it "adds them as instance methods" do
14
14
ViewSpecMethods . add_to ( VCSampleClass )
15
15
16
- expect ( VCSampleClass . instance_methods ) . to include ( :extra_params= )
17
- expect ( VCSampleClass . instance_methods ) . to include ( :extra_params )
16
+ expect ( VCSampleClass . instance_methods ) . to ( include ( "extra_params=" ) . or ( include ( :extra_params= ) ) )
17
+ expect ( VCSampleClass . instance_methods ) . to ( include ( "extra_params" ) . or ( include ( :extra_params ) ) )
18
18
end
19
19
end
20
20
@@ -43,7 +43,9 @@ def extra_params=; end
43
43
it "removes them" do
44
44
ViewSpecMethods . remove_from ( VCSampleClass )
45
45
46
+ expect ( VCSampleClass . instance_methods ) . to_not include ( "extra_params=" )
46
47
expect ( VCSampleClass . instance_methods ) . to_not include ( :extra_params= )
48
+ expect ( VCSampleClass . instance_methods ) . to_not include ( "extra_params" )
47
49
expect ( VCSampleClass . instance_methods ) . to_not include ( :extra_params )
48
50
end
49
51
end
You can’t perform that action at this time.
0 commit comments