зеркало из https://github.com/github/ruby.git
* 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:
Родитель
94e5d6ba19
Коммит
d8cf22793b
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче