1 | require 'tempfile'
|
---|
2 |
|
---|
3 | assert('regression for #1564') do
|
---|
4 | o = `#{cmd('mruby')} -e #{shellquote('<<')} 2>&1`
|
---|
5 | assert_equal o, "-e:1:2: syntax error, unexpected tLSHFT\n"
|
---|
6 | o = `#{cmd('mruby')} -e #{shellquote('<<-')} 2>&1`
|
---|
7 | assert_equal o, "-e:1:3: syntax error, unexpected tLSHFT\n"
|
---|
8 | end
|
---|
9 |
|
---|
10 | assert('regression for #1572') do
|
---|
11 | script, bin = Tempfile.new('test.rb'), Tempfile.new('test.mrb')
|
---|
12 | File.write script.path, 'p "ok"'
|
---|
13 | system "#{cmd('mrbc')} -g -o #{bin.path} #{script.path}"
|
---|
14 | o = `#{cmd('mruby')} -b #{bin.path}`.strip
|
---|
15 | assert_equal o, '"ok"'
|
---|
16 | end
|
---|
17 |
|
---|
18 | assert '$0 value' do
|
---|
19 | script, bin = Tempfile.new('test.rb'), Tempfile.new('test.mrb')
|
---|
20 |
|
---|
21 | # .rb script
|
---|
22 | script.write "p $0\n"
|
---|
23 | script.flush
|
---|
24 | assert_equal "\"#{script.path}\"", `#{cmd('mruby')} "#{script.path}"`.chomp
|
---|
25 |
|
---|
26 | # .mrb file
|
---|
27 | `#{cmd('mrbc')} -o "#{bin.path}" "#{script.path}"`
|
---|
28 | assert_equal "\"#{bin.path}\"", `#{cmd('mruby')} -b "#{bin.path}"`.chomp
|
---|
29 |
|
---|
30 | # one liner
|
---|
31 | assert_equal '"-e"', `#{cmd('mruby')} -e #{shellquote('p $0')}`.chomp
|
---|
32 | end
|
---|
33 |
|
---|
34 | assert '__END__', '8.6' do
|
---|
35 | script = Tempfile.new('test.rb')
|
---|
36 |
|
---|
37 | script.write <<EOS
|
---|
38 | p 'test'
|
---|
39 | __END__ = 'fin'
|
---|
40 | p __END__
|
---|
41 | __END__
|
---|
42 | p 'legend'
|
---|
43 | EOS
|
---|
44 | script.flush
|
---|
45 | assert_equal "\"test\"\n\"fin\"\n", `#{cmd('mruby')} #{script.path}`
|
---|
46 | end
|
---|