summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-bin-mrbc
diff options
context:
space:
mode:
authorKOBAYASHI Shuji <[email protected]>2020-12-03 23:32:13 +0900
committerKOBAYASHI Shuji <[email protected]>2020-12-04 09:22:13 +0900
commit4452041ebb56b17c720ca459e3a312ec2c145187 (patch)
tree0be0543faf3f3b02688ed7a8da911dbd15a952a5 /mrbgems/mruby-bin-mrbc
parentf6ad16384146afa7ec875697c80e200c23cb5b12 (diff)
downloadmruby-4452041ebb56b17c720ca459e3a312ec2c145187.tar.gz
mruby-4452041ebb56b17c720ca459e3a312ec2c145187.zip
Move `mrbc` test to `mruby-bin-mrbc` gem from `mruby-compiler` gem
Diffstat (limited to 'mrbgems/mruby-bin-mrbc')
-rw-r--r--mrbgems/mruby-bin-mrbc/bintest/mrbc.rb30
1 files changed, 30 insertions, 0 deletions
diff --git a/mrbgems/mruby-bin-mrbc/bintest/mrbc.rb b/mrbgems/mruby-bin-mrbc/bintest/mrbc.rb
new file mode 100644
index 000000000..f4d9208b3
--- /dev/null
+++ b/mrbgems/mruby-bin-mrbc/bintest/mrbc.rb
@@ -0,0 +1,30 @@
+require 'tempfile'
+
+assert('Compiling multiple files without new line in last line. #2361') do
+ a, b, out = Tempfile.new('a.rb'), Tempfile.new('b.rb'), Tempfile.new('out.mrb')
+ a.write('module A; end')
+ a.flush
+ b.write('module B; end')
+ b.flush
+ result = `#{cmd('mrbc')} -c -o #{out.path} #{a.path} #{b.path} 2>&1`
+ assert_equal "#{cmd('mrbc')}:#{a.path}:Syntax OK", result.chomp
+ assert_equal 0, $?.exitstatus
+end
+
+assert('parsing function with void argument') do
+ a, out = Tempfile.new('a.rb'), Tempfile.new('out.mrb')
+ a.write('f ()')
+ a.flush
+ result = `#{cmd('mrbc')} -c -o #{out.path} #{a.path} 2>&1`
+ assert_equal "#{cmd('mrbc')}:#{a.path}:Syntax OK", result.chomp
+ assert_equal 0, $?.exitstatus
+end
+
+assert('embedded document with invalid terminator') do
+ a, out = Tempfile.new('a.rb'), Tempfile.new('out.mrb')
+ a.write("=begin\n=endx\n")
+ a.flush
+ result = `#{cmd('mrbc')} -c -o #{out.path} #{a.path} 2>&1`
+ assert_equal "#{a.path}:3:0: embedded document meets end of file", result.chomp
+ assert_equal 1, $?.exitstatus
+end