diff options
Diffstat (limited to 'spec/rubyspec/core/binding/eval_spec.rb')
-rw-r--r-- | spec/rubyspec/core/binding/eval_spec.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/spec/rubyspec/core/binding/eval_spec.rb b/spec/rubyspec/core/binding/eval_spec.rb new file mode 100644 index 0000000000..cedd5fcdf9 --- /dev/null +++ b/spec/rubyspec/core/binding/eval_spec.rb @@ -0,0 +1,27 @@ +require File.expand_path('../../../spec_helper', __FILE__) +require File.expand_path('../fixtures/classes', __FILE__) + +describe "Binding#eval" do + it "behaves like Kernel.eval(..., self)" do + obj = BindingSpecs::Demo.new(1) + bind = obj.get_binding + + bind.eval("@secret += square(3)").should == 10 + bind.eval("a").should be_true + + bind.eval("class Inside; end") + bind.eval("Inside.name").should == "BindingSpecs::Demo::Inside" + end + + describe "with a file given" do + it "does not store the filename permanently" do + obj = BindingSpecs::Demo.new(1) + bind = obj.get_binding + + bind.eval("__FILE__", "test.rb").should == "test.rb" + bind.eval("__FILE__").should_not == "test.rb" + end + end + + it "needs to be reviewed for spec completeness" +end |