summaryrefslogtreecommitdiff
path: root/spec/ruby/core/kernel/__dir___spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/core/kernel/__dir___spec.rb')
-rw-r--r--spec/ruby/core/kernel/__dir___spec.rb11
1 files changed, 9 insertions, 2 deletions
diff --git a/spec/ruby/core/kernel/__dir___spec.rb b/spec/ruby/core/kernel/__dir___spec.rb
index 3c34277277..242adbf48b 100644
--- a/spec/ruby/core/kernel/__dir___spec.rb
+++ b/spec/ruby/core/kernel/__dir___spec.rb
@@ -5,6 +5,13 @@ describe "Kernel#__dir__" do
__dir__.should == File.realpath(File.dirname(__FILE__))
end
+ it "returns the expanded path of the directory when used in the main script" do
+ fixtures_dir = File.dirname(fixture(__FILE__, '__dir__.rb'))
+ Dir.chdir(fixtures_dir) do
+ ruby_exe("__dir__.rb").should == "__dir__.rb\n#{fixtures_dir}\n"
+ end
+ end
+
context "when used in eval with a given filename" do
it "returns File.dirname(filename)" do
eval("__dir__", nil, "foo.rb").should == "."
@@ -13,8 +20,8 @@ describe "Kernel#__dir__" do
end
context "when used in eval with top level binding" do
- it "returns the real name of the directory containing the currently-executing file" do
- eval("__dir__", binding).should == File.realpath(File.dirname(__FILE__))
+ it "returns nil" do
+ eval("__dir__", binding).should == nil
end
end
end