summaryrefslogtreecommitdiff
path: root/test/ruby/test_beginendblock.rb
blob: 06b1519189a1a38d51db4dc47f38dd6c890d3872 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
require 'test/unit'
require "#{File.dirname(File.expand_path(__FILE__))}/envutil"

class TestBeginEndBlock < Test::Unit::TestCase
  DIR = File.dirname(File.expand_path(__FILE__))

  def test_beginendblock
    ruby = EnvUtil.rubybin
    io = IO.popen("\"#{ruby}\" \"#{DIR}/beginmainend.rb\"")
    assert_equal(%w(begin1 begin2 main end1 end2).join("\n") << "\n", io.read)
  end

  def test_begininmethod
    assert_raises(SyntaxError) do
      eval("def foo; BEGIN {}; end")
    end
  end

  def test_endinmethod
    assert_raises(SyntaxError) do
      eval("def foo; END {}; end")
    end
  end
end