Permalink
Browse files

Add test for recently fixed bugs

  • Loading branch information...
yhara committed Dec 1, 2016
1 parent 61ac564 commit 3f83ec64a82410cdc16863f8242eaea30dec026f
Showing with 52 additions and 0 deletions.
  1. +13 −0 test/t/array.rb
  2. +12 −0 test/t/class.rb
  3. +7 −0 test/t/hash.rb
  4. +20 −0 test/t/syntax.rb
View
@@ -82,6 +82,14 @@
a = [1,2,3,4,5]
a[2...4] = 6
assert_equal([1,2,6,5], a)
# passing self (#3274)
a = [1,2,3]
a[1,0] = a
assert_equal([1,1,2,3,2,3], a)
a = [1,2,3]
a[-1,0] = a
assert_equal([1,2,1,2,3,3], a)
end
assert('Array#clear', '15.2.12.5.6') do
@@ -98,6 +106,11 @@
assert('Array#concat', '15.2.12.5.8') do
assert_equal([1,2,3,4], [1, 2].concat([3, 4]))
# passing self (#3302)
a = [1,2,3]
a.concat(a)
assert_equal([1,2,3,1,2,3], a)
end
assert('Array#delete_at', '15.2.12.5.9') do
View
@@ -397,6 +397,18 @@ def class_variable
assert_equal("value", ClassVariableInModuleTest.class_variable)
end
assert('overriding class variable with a module (#3235)') do
module ModuleWithCVar
@@class_variable = 1
end
class CVarOverrideTest
@@class_variable = 2
include ModuleWithCVar
assert_equal(1, @@class_variable)
end
end
assert('class with non-class/module outer raises TypeError') do
assert_raise(TypeError) { class 0::C1; end }
assert_raise(TypeError) { class []::C2; end }
View
@@ -16,6 +16,13 @@
a = { 'abc' => 'abc' }
assert_equal 'abc', a['abc']
# Hash#[] should call #default (#3272)
hash = {}
def hash.default(k); self[k] = 1; end
hash[:foo] += 1
assert_equal 2, hash[:foo]
end
assert('Hash#[]=', '15.2.13.4.3') do
View
@@ -47,6 +47,19 @@ def o.foo
end
end
assert('redo in a for loop (#3275)') do
sum = 0
for i in 1..10
sum += i
i -= 1
if i > 0
redo
end
end
assert_equal 220, sum
end
assert('Abbreviated variable assignment', '11.4.2.3.2') do
a ||= 1
b &&= 1
@@ -255,6 +268,13 @@ def b
assert_equal 2, g
end
assert('multiple assignment (empty array rhs #3236, #3239)') do
a,b,*c = []; assert_equal [nil, nil, []], [a, b, c]
a,b,*c = [1]; assert_equal [1, nil, []], [a, b, c]
a,b,*c = [nil]; assert_equal [nil,nil, []], [a, b, c]
a,b,*c = [[]]; assert_equal [[], nil, []], [a, b, c]
end
assert('Return values of case statements') do
a = [] << case 1
when 3 then 2

0 comments on commit 3f83ec6

Please sign in to comment.