new world
[rubydium.git] / baby / other.rb
blob7b8a29c748c5179d0abb63b3a06ee8c528734fd7
2    def test_2
3          do_blah <<SRC, "64\n"
4          # highly b0rked
5          def recurse n
6             if n != 0
7                pi n
8                recurse(n - 1)
9             end
10          end
11          recurse 1000
12 SRC
13    end
15    def test_26
16          do_blah <<SRC, "5\n-6\n"
17          class Blub
18             def two
19                pi -6
20             end
21          end
22          class Blah
23             def one
24                pi 5
25                t = Blub.new
26                t.two
27             end
28          end
29          Blah.new.one
30 SRC
31    end
33    def test_29
34          do_blah <<SRC, "5\n6\n6\n5\n6\n6\n"
35          # test problematic scoping with multiple proc call's
36          block1 = proc { a = 5; pi a }
37          a = 6
38          block2 = proc { pi a; a = 6; pi a }
39          block1.call # 5
40          block2.call # 6 6
41          block1.call # 5
42          block2.call # 6 6
43 SRC
44    end
46    def test_33
47          do_blah <<SRC, "15\n-5\n"
48          # test multiple proc call's
49          block1 = proc {
50             |p1, p2|
51             pi p1 + p2 # -> 5 + 10 == 15
52          }
53          block2 = proc {
54             |p1, p2|
55             pi p1 - p2 # -> 5 - 10 == -5
56          }
57          block1.call 5, 10
58          block2.call 5, 10
59 SRC
60    end
62    public_instance_methods.each {
63       |meth| 
64       next if meth !~ /^test.*/ or meth.to_sym == DO_TEST
65       remove_method meth.to_sym
66    } if defined? DO_TEST
68 end