summaryrefslogtreecommitdiff
path: root/trunk/test/ruby/test_primitive.rb
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/test/ruby/test_primitive.rb')
-rw-r--r--trunk/test/ruby/test_primitive.rb397
1 files changed, 0 insertions, 397 deletions
diff --git a/trunk/test/ruby/test_primitive.rb b/trunk/test/ruby/test_primitive.rb
deleted file mode 100644
index 8ffbe549d6..0000000000
--- a/trunk/test/ruby/test_primitive.rb
+++ /dev/null
@@ -1,397 +0,0 @@
-require 'test/unit'
-
-class TestRubyPrimitive < Test::Unit::TestCase
-
- def test_not
- assert_equal false, !true
- assert_equal true, !false
- assert_equal true, !nil
- assert_equal false, !(1+1)
- assert_equal false, !!nil
- assert_equal true, !!1
- end
-
- def test_lvar
- a = 1
- assert_equal 1, a
- b = 2
- assert_equal 1, a
- a = b = 3
- assert_equal 3, a
- assert_equal 3, b
- a = b = c = 4
- assert_equal 4, a
- assert_equal 4, b
- assert_equal 4, c
- end
-
- C = 1
- class A
- Const = 1
- class B
- Const = 2
- class C
- Const = 3
- def const
- Const
- end
- end
- end
- end
- (1..2).map {
- A::B::C::Const
- }
-
- def test_constant
- assert_equal 1, C
- assert_equal 1, C
- assert_equal 1, A::Const
- assert_equal 2, A::B::Const
- assert_equal 3, A::B::C::Const
- assert_equal 3, A::B::C.new.const
- assert_equal 1, ::TestRubyPrimitive::A::Const
- A::B::C.send(:remove_const, :Const)
- assert_equal 2, A::B::C.new.const
- assert_raise(TypeError) {
- C::CONST
- }
- end
-
- class A2
- class B2
- class C2
- C = 7
- end
- end
- end
-
- def test_constant_cache
- i = 0
- while i < 3
- r = A2::B2::C2::C
- i += 1
- end
- assert_equal 7, r
- end
-
- class A3
- class B3
- C = 99
- end
- end
- i = 0
- while i < 3
- r = A3::B3::C # cache
- class A3::B3
- remove_const :C
- end
- A3::B3::C = i ** i
- i += 1
- end
-
- def test_constant_cache2
- assert_equal 4, A3::B3::C
- end
-
- class A4
- Const = 7
- (1..3).map {
- $test_ruby_primitive_constant_cache3 = self::Const
- }
- end
-
- def test_constant_cache3
- assert_equal 7, $test_ruby_primitive_constant_cache3
- end
-
- class A5
- Const = 8
- (1..3).map {
- $test_ruby_primitive_constant_cache4 = eval('self')::Const
- }
- end
-
- def test_constatant_cache4
- assert_equal 8, $test_ruby_primitive_constant_cache4
- end
-
- class A6
- Const = 0
- def self.foo
- self::Const
- end
- end
- class B6 < A6
- Const = 1
- end
- class C6 < B6
- Const = 2
- end
- $test_ruby_primitive_constant_cache5 = [A6.foo, B6.foo, C6.foo]
-
- def test_constant_cache5
- assert_equal [0, 1, 2], $test_ruby_primitive_constant_cache5
- end
-
- def test_gvar
- $test_ruby_primitive_gvar = 7
- assert_equal 7, $test_ruby_primitive_gvar
- assert_equal 7, $test_ruby_primitive_gvar
- $test_ruby_primitive_gvar = 88
- assert_equal 88, $test_ruby_primitive_gvar
- assert_equal 88, $test_ruby_primitive_gvar
- assert_equal 7, ($test_ruby_primitive_gvar = 7)
- assert_equal 7, ($test_ruby_primitive_gvar = 7)
- end
-
- class A7
- @@c = 1
- def m
- @@c += 1
- end
- end
-
- def test_cvar_from_instance_method
- assert_equal 2, A7.new.m
- assert_equal 3, A7.new.m
- assert_equal 4, A7.new.m
- end
-
- class A8
- @@c = 1
- class << self
- def m
- @@c += 1
- end
- end
- end
-
- def test_cvar_from_singleton_method
- assert_equal 2, A8.m
- assert_equal 3, A8.m
- assert_equal 4, A8.m
- end
-
- class A9
- @@c = 1
- def self.m
- @@c += 1
- end
- end
-
- def test_cvar_from_singleton_method2
- assert_equal 2, A9.m
- assert_equal 3, A9.m
- assert_equal 4, A9.m
- end
-
- class A10
- attr_accessor :a
- end
-
- def test_opassign
- i = 0
- i += 1
- assert_equal 1, i
-
- @iv = 2
- @iv += 2
- assert_equal 4, @iv
-
- @@cv ||= 1
- assert_equal 1, @@cv
- @@cv &&= 2
- assert_equal 2, @@cv
- @@cv ||= 99
- assert_equal 2, @@cv
-
- $gv = 3
- $gv += 4
- assert_equal 7, $gv
-
- obj = A10.new
- obj.a = 9
- obj.a &&= 7
- assert_equal 7, obj.a
-
- obj.a = nil
- obj.a ||= 2
- assert_equal 2, obj.a
-
- obj.a &&= 3
- assert_equal 3, obj.a
-
- a = []
- a[0] ||= 3
- assert_equal 3, a[0]
- a[0] &&= 7
- assert_equal 7, a[0]
- a[0] ||= 3
- assert_equal 7, a[0]
- end
-
- def test_opassign_and_or
- a = 1
- a ||= 2
- assert_equal 1, a
- a = nil
- a ||= 2
- assert_equal 2, a
- a = 1
- a &&= 3
- assert_equal 3, a
- a = nil
- a &&= 4
- assert_nil a
-
- h = {}
- h[0] ||= 1
- assert_equal 1, h[0]
- h = {}
- h[0] &&= 1
- assert_nil h[0]
- h = {0 => 7}
- h[0] ||= 1
- assert_equal 7, h[0]
- h = {0 => 7}
- h[0] &&= 1
- assert_equal 1, h[0]
- end
-
- def test_backref
- /a(b)(c)d/ =~ 'xyzabcdefgabcdefg'
- assert_equal 'b', $1
- assert_equal 'c', $2
- assert_nil $3
- assert_instance_of MatchData, $~
- assert_equal 'abcd', $&
- assert_equal 'xyz', $`
- assert_equal 'efgabcdefg', $'
- assert_equal 'c', $+
-
- /(?!)/ =~ 'xyzabcdefgabcdefg'
- assert_nil $1
- assert_nil $2
- assert_nil $3
- assert_nil $~
- assert_nil $&
- assert_nil $`
- assert_nil $'
- assert_nil $+
- end
-
- def test_fact
- assert_equal 306057512216440636035370461297268629388588804173576999416776741259476533176716867465515291422477573349939147888701726368864263907759003154226842927906974559841225476930271954604008012215776252176854255965356903506788725264321896264299365204576448830388909753943489625436053225980776521270822437639449120128678675368305712293681943649956460498166450227716500185176546469340112226034729724066333258583506870150169794168850353752137554910289126407157154830282284937952636580145235233156936482233436799254594095276820608062232812387383880817049600000000000000000000000000000000000000000000000000000000000000000000000000, fact(300)
- end
-
- def fact(n)
- if n > 1
- n * fact(n - 1)
- else
- 1
- end
- end
-
- def test_mul
- assert_equal 0, 2 * 0
- assert_equal 0, 0 * 2
- assert_equal 4, 2 * 2
- end
-
- class MyNum
- def /(a)
- a * 100
- end
- end
-
- def test_div
- assert_equal 1, 3 / 2
- assert_equal 1.5, 3.0 / 2.0
- assert_equal 300, MyNum.new / 3
- end
-
- class MyArr
- def length
- 'string'
- end
- end
-
- def test_length
- assert_equal 0, [].length
- assert_equal 1, [1].length
- assert_equal 2, [1,2].length
- assert_equal 0, {}.length
- assert_equal 1, {1=>1}.length
- assert_equal 2, {1=>1, 2=>2}.length
- assert_equal 'string', MyArr.new.length
- end
-
- class MyNum2
- def %(a)
- a * 100
- end
- end
-
- def test_mod
- assert_equal 2, 5 % 3
- assert_equal 1.0, 3.0 % 2.0
- assert_equal 300, MyNum2.new % 3
- end
-
- class MyObj
- def [](*args)
- args
- end
-
- def []=(*args)
- args
- end
- end
-
- def test_aref
- a = [0,1]
- assert_equal 0, a[0]
- assert_equal 1, a[1]
- assert_nil a[2]
- h = {0=>0, 1=>1}
- obj = MyObj.new
- assert_equal 0, h[0]
- assert_equal 1, h[1]
- assert_nil h[2]
- assert_equal [0], obj[0]
- assert_equal [0,1], obj[0,1]
- assert_equal [0,1,2], obj[0,1,2]
- end
-
- def test_aset
- obj = MyObj.new
- assert_equal 7, (obj[0] = 7)
- assert_equal 7, (obj[0,1] = 7)
- assert_equal 7, (obj[0,1,2] = 7)
- end
-
- class MyObj2
- def attr=(*args)
- args
- end
- end
-
- def test_attr_setter
- obj = MyObj2.new
- assert_equal 1, (obj.attr = 1)
- end
-
- def test_list_expand
- a = []
- assert_equal [0], [0, *a]
- a = [1]
- assert_equal [0,1], [0, *a]
- a = [1,2]
- assert_equal [0,1,2], [0, *a]
- a = [1,2,3]
- assert_equal [0,1,2,3], [0, *a]
- #a = [1,2,3]
- #assert_equal [0,1,2,3,4], [0, *a, 4]
- end
-
-end