diff options
Diffstat (limited to 'spec/ruby/core/main/using_spec.rb')
| -rw-r--r-- | spec/ruby/core/main/using_spec.rb | 34 |
1 files changed, 26 insertions, 8 deletions
diff --git a/spec/ruby/core/main/using_spec.rb b/spec/ruby/core/main/using_spec.rb index 1fb812f5cc..314a6be416 100644 --- a/spec/ruby/core/main/using_spec.rb +++ b/spec/ruby/core/main/using_spec.rb @@ -3,13 +3,13 @@ require_relative 'fixtures/classes' describe "main.using" do it "requires one Module argument" do - lambda do + -> do eval('using', TOPLEVEL_BINDING) - end.should raise_error(ArgumentError) + end.should.raise(ArgumentError) - lambda do + -> do eval('using "foo"', TOPLEVEL_BINDING) - end.should raise_error(TypeError) + end.should.raise(TypeError) end it "uses refinements from the given module only in the target file" do @@ -17,17 +17,17 @@ describe "main.using" do load File.expand_path('../fixtures/string_refinement_user.rb', __FILE__) MainSpecs::DATA[:in_module].should == 'foo' MainSpecs::DATA[:toplevel].should == 'foo' - lambda do + -> do 'hello'.foo - end.should raise_error(NoMethodError) + end.should.raise(NoMethodError) end it "uses refinements from the given module for method calls in the target file" do require_relative 'fixtures/string_refinement' load File.expand_path('../fixtures/string_refinement_user.rb', __FILE__) - lambda do + -> do 'hello'.foo - end.should raise_error(NoMethodError) + end.should.raise(NoMethodError) MainSpecs.call_foo('hello').should == 'foo' end @@ -129,4 +129,22 @@ describe "main.using" do x.call_bar(cls2.new).should == 'bar' end + + it "raises error when called from method in wrapped script" do + -> do + load File.expand_path('../fixtures/using_in_method.rb', __FILE__), true + end.should.raise(RuntimeError) + end + + it "raises error when called on toplevel from module" do + -> do + load File.expand_path('../fixtures/using_in_main.rb', __FILE__), true + end.should.raise(RuntimeError) + end + + it "does not raise error when wrapped with module" do + -> do + load File.expand_path('../fixtures/using.rb', __FILE__), true + end.should_not.raise + end end |
