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

ruby-changes:14272

From: akr <ko1@a...>
Date: Mon, 14 Dec 2009 21:01:33 +0900 (JST)
Subject: [ruby-changes:14272] Ruby:r26097 (trunk): add tests.

akr	2009-12-14 20:56:03 +0900 (Mon, 14 Dec 2009)

  New Revision: 26097

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

  Log:
    add tests.

  Modified files:
    trunk/test/test_find.rb

Index: test/test_find.rb
===================================================================
--- test/test_find.rb	(revision 26096)
+++ test/test_find.rb	(revision 26097)
@@ -24,6 +24,34 @@
     }
   end
 
+  def test_relative
+    Dir.mktmpdir {|d|
+      File.open("#{d}/a", "w")
+      Dir.mkdir("#{d}/b")
+      File.open("#{d}/b/a", "w")
+      File.open("#{d}/b/b", "w")
+      Dir.mkdir("#{d}/c")
+      a = []
+      Dir.chdir(d) {
+        Find.find(".") {|f| a << f }
+      }
+      assert_equal([".", "./a", "./b", "./b/a", "./b/b", "./c"], a)
+    }
+  end
+
+  def test_dont_follow_symlink
+    Dir.mktmpdir {|d|
+      File.open("#{d}/a", "w")
+      Dir.mkdir("#{d}/b")
+      File.open("#{d}/b/a", "w")
+      File.open("#{d}/b/b", "w")
+      File.symlink("#{d}/b", "#{d}/c")
+      a = []
+      Find.find(d) {|f| a << f }
+      assert_equal([d, "#{d}/a", "#{d}/b", "#{d}/b/a", "#{d}/b/b", "#{d}/c"], a)
+    }
+  end
+
   def test_prune
     Dir.mktmpdir {|d|
       File.open("#{d}/a", "w")
@@ -89,6 +117,30 @@
     }
   end
 
+  def test_dangling_symlink
+    Dir.mktmpdir {|d|
+      File.symlink("foo", "#{d}/bar")
+      a = []
+      Find.find(d) {|f| a << f }
+      assert_equal([d, "#{d}/bar"], a)
+      assert_raise(Errno::ENOENT) { File.stat("#{d}/bar") }
+    }
+  end
+
+  def test_enumerator
+    Dir.mktmpdir {|d|
+      File.open("#{d}/a", "w")
+      Dir.mkdir("#{d}/b")
+      File.open("#{d}/b/a", "w")
+      File.open("#{d}/b/b", "w")
+      Dir.mkdir("#{d}/c")
+      e = Find.find(d)
+      a = []
+      e.each {|f| a << f }
+      assert_equal([d, "#{d}/a", "#{d}/b", "#{d}/b/a", "#{d}/b/b", "#{d}/c"], a)
+    }
+  end
+
   class TestInclude < Test::Unit::TestCase
     include Find
 

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

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