summaryrefslogtreecommitdiff
path: root/spec/ruby/command_line/dash_r_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/command_line/dash_r_spec.rb')
-rw-r--r--spec/ruby/command_line/dash_r_spec.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/spec/ruby/command_line/dash_r_spec.rb b/spec/ruby/command_line/dash_r_spec.rb
new file mode 100644
index 0000000000..0de9ba2e24
--- /dev/null
+++ b/spec/ruby/command_line/dash_r_spec.rb
@@ -0,0 +1,28 @@
+require_relative '../spec_helper'
+
+describe "The -r command line option" do
+ before :each do
+ @script = fixture __FILE__, "require.rb"
+ @test_file = fixture __FILE__, "test_file"
+ end
+
+ it "requires the specified file" do
+ out = ruby_exe(@script, options: "-r #{@test_file}")
+ out.should.include?("REQUIRED")
+ out.should.include?(@test_file + ".rb")
+ end
+
+ it "requires the file before parsing the main script" do
+ out = ruby_exe(fixture(__FILE__, "bad_syntax.rb"), options: "-r #{@test_file}", args: "2>&1", exit_status: 1)
+ $?.should_not.success?
+ out.should.include?("REQUIRED")
+ out.should.include?("SyntaxError")
+ end
+
+ it "does not require the file if the main script file does not exist" do
+ out = `#{ruby_exe.to_a.join(' ')} -r #{@test_file} #{fixture(__FILE__, "does_not_exist.rb")} 2>&1`
+ $?.should_not.success?
+ out.should_not.include?("REQUIRED")
+ out.should.include?("No such file or directory")
+ end
+end