1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
eregon 2018-08-03 16:19:40 +00:00
parent aeeaadaad0
commit b53cf149ad
246 changed files with 9108 additions and 548 deletions

View file

@ -185,6 +185,19 @@ describe 'Optional variable assignments' do
describe 'using a #[]' do
before do
@a = {}
klass = Class.new do
def [](k)
@hash ||= {}
@hash[k]
end
def []=(k, v)
@hash ||= {}
@hash[k] = v
7
end
end
@b = klass.new
end
it 'leaves new variable unassigned' do
@ -226,6 +239,15 @@ describe 'Optional variable assignments' do
@a[:k].should == 20
end
it 'returns the assigned value, not the result of the []= method with ||=' do
(@b[:k] ||= 12).should == 12
end
it 'returns the assigned value, not the result of the []= method with +=' do
@b[:k] = 17
(@b[:k] += 12).should == 29
end
end
end