summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-bin-mirb/bintest/mirb.rb
blob: ea13eb0d24c26c3766c163d7fe275ce1851db819 (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
25
26
27
28
29
30
31
32
33
34
35
require 'open3'

assert('mirb normal operations') do
  o, s = Open3.capture2('bin/mirb', :stdin_data => "a=1\nb=2\na+b\n")
  assert_true o.include?('=> 3')
  assert_true o.include?('=> 2')
end

assert('regression for #1563') do
  o, s = Open3.capture2('bin/mirb', :stdin_data => "a=1;b=2;c=3\nb\nc")
  assert_true o.include?('=> 3')
end

assert('regression for #1706') do
  o, s = Open3.capture2('bin/mirb', :stdin_data => %{
    if false
      a = 1
      b = 1
    end
    puts "a: \#{a.inspect}"
    puts "b: \#{b.inspect}"
  })
  assert_true o.include?('a: nil')
  assert_true o.include?('b: nil')

  o, s = Open3.capture2('bin/mirb', :stdin_data => %{
    a = 1
    b = 2
    if false
      c = 3
    end
    puts "c: \#{c.inspect}"
  })
  assert_true o.include?('c: nil')
end