mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Update to ruby/spec@9be7c7e
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
aeeaadaad0
commit
b53cf149ad
246 changed files with 9108 additions and 548 deletions
|
@ -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
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue