* lib/pathname.rb (Pathname#initialize): fix pathname initialization

by pathname.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2004-05-27 12:41:10 +00:00
Родитель 94e5d6ba19
Коммит d8cf22793b
2 изменённых файлов: 14 добавлений и 1 удалений

Просмотреть файл

@ -1,3 +1,8 @@
Thu May 27 21:37:50 2004 Tanaka Akira <akr@m17n.org>
* lib/pathname.rb (Pathname#initialize): fix pathname initialization
by pathname.
Thu May 27 20:02:09 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
* io.c (rb_io_fwrite): check all case errno != 0 [ruby-dev:23648]

Просмотреть файл

@ -187,7 +187,8 @@ class Pathname
# If +path+ contains a NUL character (<tt>\0</tt>), an ArgumentError is raised.
#
def initialize(path)
@path = path.to_str.dup
path = path.to_path if path.respond_to? :to_path
@path = path.dup
if /\0/ =~ @path
raise ArgumentError, "pathname contains \\0: #{@path.inspect}"
@ -890,6 +891,13 @@ if $0 == __FILE__
require 'test/unit'
class PathnameTest < Test::Unit::TestCase # :nodoc:
def test_initialize
p1 = Pathname.new('a')
assert_equal('a', p1.to_s)
p2 = Pathname.new(p1)
assert_equal(p1, p2)
end
class AnotherStringLike # :nodoc:
def initialize(s) @s = s end
def to_str() @s end