summaryrefslogtreecommitdiff
path: root/spec/rubyspec/core/binding/eval_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/rubyspec/core/binding/eval_spec.rb')
-rw-r--r--spec/rubyspec/core/binding/eval_spec.rb27
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