File tree Expand file tree Collapse file tree 1 file changed +18
-6
lines changed Expand file tree Collapse file tree 1 file changed +18
-6
lines changed Original file line number Diff line number Diff line change @@ -65,11 +65,16 @@ def foo=(val)
65
65
66
66
it "allows assignment operators" do
67
67
klass = Class . new do
68
- attr_accessor :m
68
+ attr_reader :m
69
69
70
70
def initialize
71
71
@m = 0
72
72
end
73
+
74
+ def m = ( v )
75
+ @m = v
76
+ 42
77
+ end
73
78
end
74
79
75
80
obj = klass . new
@@ -83,20 +88,26 @@ def initialize
83
88
84
89
it "allows ||= operator" do
85
90
klass = Class . new do
86
- attr_accessor :m
91
+ attr_reader :m
87
92
88
93
def initialize
89
- @m = true
94
+ @m = false
95
+ end
96
+
97
+ def m = ( v )
98
+ @m = v
99
+ 42
90
100
end
91
101
end
92
102
93
103
obj = klass . new
94
104
95
- ( obj &.m &&= false ) . should == false
96
- obj . m . should == false
105
+ ( obj &.m ||= true ) . should == true
106
+ obj . m . should == true
97
107
98
108
obj = nil
99
- ( obj &.m &&= false ) . should == nil
109
+ ( obj &.m ||= true ) . should == nil
110
+ obj . should == nil
100
111
end
101
112
102
113
it "allows &&= operator" do
@@ -115,6 +126,7 @@ def initialize
115
126
116
127
obj = nil
117
128
( obj &.m &&= false ) . should == nil
129
+ obj . should == nil
118
130
end
119
131
120
132
it "does not call the operator method lazily with an assignment operator" do
You can’t perform that action at this time.
0 commit comments