[前][次][番号順一覧][スレッド一覧]

ruby-changes:13071

From: nobu <ko1@a...>
Date: Wed, 9 Sep 2009 16:21:59 +0900 (JST)
Subject: [ruby-changes:13071] Ruby:r24818 (trunk): * test/ruby/test_require.rb (test_relative): tests for require_relative.

nobu	2009-09-09 16:21:49 +0900 (Wed, 09 Sep 2009)

  New Revision: 24818

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=24818

  Log:
    * test/ruby/test_require.rb (test_relative): tests for require_relative.

  Modified files:
    trunk/test/ruby/test_require.rb

Index: test/ruby/test_require.rb
===================================================================
--- test/ruby/test_require.rb	(revision 24817)
+++ test/ruby/test_require.rb	(revision 24818)
@@ -198,7 +198,7 @@
 
   def test_tainted_loadpath
     t = Tempfile.new(["test_ruby_test_require", ".rb"])
-    abs_dir, file = File.dirname(t.path), File.basename(t.path)
+    abs_dir, file = File.split(t.path)
     abs_dir = File.expand_path(abs_dir).untaint
 
     assert_in_out_err([], <<-INPUT, %w(:ok), [])
@@ -244,4 +244,22 @@
       p :ok
     INPUT
   end
+
+  def test_relative
+    require 'tmpdir'
+    Dir.mktmpdir do |tmp|
+      Dir.chdir(tmp) do
+        Dir.mkdir('x')
+        File.open('x/t.rb', 'wb') {}
+        File.open('x/a.rb', 'wb') {|f| f.puts("require_relative('t.rb')")}
+        assert require('./x/t.rb')
+        assert !require(File.expand_path('x/t.rb'))
+        assert_nothing_raised(LoadError) {require('./x/a.rb')}
+        assert_raise(LoadError) {require('x/t.rb')}
+        File.unlink(*Dir.glob('x/*'))
+        Dir.rmdir("#{tmp}/x")
+        assert(!require('tmpdir'))
+      end
+    end
+  end
 end

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]