From 7d274ff6fbb97c3ac8ee0ce6903f0e77b05e0b07 Mon Sep 17 00:00:00 2001 From: akr Date: Sat, 17 Jun 2006 05:59:29 +0000 Subject: * lib/pathname.rb (Kernel#Pathname): new method. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/pathname/test_pathname.rb | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) (limited to 'test/pathname/test_pathname.rb') diff --git a/test/pathname/test_pathname.rb b/test/pathname/test_pathname.rb index 20351fa0f8..ecf7a71be5 100644 --- a/test/pathname/test_pathname.rb +++ b/test/pathname/test_pathname.rb @@ -5,8 +5,16 @@ require 'pathname' require 'fileutils' require 'tmpdir' +require 'enumerator' class TestPathname < Test::Unit::TestCase + + if RUBY_VERSION < "1.9" + FUNCALL = :__send__ + else + FUNCALL = :funcall + end + def self.define_assertion(name, &block) @defassert_num ||= {} @defassert_num[name] ||= 0 @@ -115,7 +123,7 @@ class TestPathname < Test::Unit::TestCase # has_trailing_separator?(path) -> bool def has_trailing_separator?(path) - Pathname.allocate.funcall(:has_trailing_separator?, path) + Pathname.allocate.send(FUNCALL, :has_trailing_separator?, path) end defassert(:has_trailing_separator?, false, "/") @@ -124,11 +132,11 @@ class TestPathname < Test::Unit::TestCase defassert(:has_trailing_separator?, true, "a/") def add_trailing_separator(path) - Pathname.allocate.funcall(:add_trailing_separator, path) + Pathname.allocate.send(FUNCALL, :add_trailing_separator, path) end def del_trailing_separator(path) - Pathname.allocate.funcall(:del_trailing_separator, path) + Pathname.allocate.send(FUNCALL, :del_trailing_separator, path) end defassert(:del_trailing_separator, "/", "/") @@ -313,6 +321,10 @@ class TestPathname < Test::Unit::TestCase assert_equal(p1, p2) end + def test_initialize_nul + assert_raise(ArgumentError) { Pathname.new("a\0") } + end + class AnotherStringLike # :nodoc: def initialize(s) @s = s end def to_str() @s end @@ -374,6 +386,9 @@ class TestPathname < Test::Unit::TestCase assert_equal(nil, "a" <=> Pathname.new("a")) end + def pathsub(path, pat, repl) Pathname.new(path).sub(pat, repl).to_s end + defassert(:pathsub, "a.o", "a.c", /\.c\z/, ".o") + def root?(path) Pathname.new(path).root? end @@ -464,4 +479,8 @@ class TestPathname < Test::Unit::TestCase Pathname.new("/usr/bin/ruby").each_filename {|f| result << f } assert_equal(%w[usr bin ruby], result) end + + def test_kernel_pathname + assert_equal(Pathname.new("a"), Pathname("a")) + end end -- cgit v1.2.3