1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/spec/ruby/library/pathname/new_spec.rb
Jeremy Evans ffd0820ab3 Deprecate taint/trust and related methods, and make the methods no-ops
This removes the related tests, and puts the related specs behind
version guards.  This affects all code in lib, including some
libraries that may want to support older versions of Ruby.
2019-11-18 01:00:25 +02:00

30 lines
930 B
Ruby

require_relative '../../spec_helper'
require 'pathname'
describe "Pathname.new" do
it "returns a new Pathname Object with 1 argument" do
Pathname.new('').should be_kind_of(Pathname)
end
it "raises an ArgumentError when called with \0" do
-> { Pathname.new("\0")}.should raise_error(ArgumentError)
end
ruby_version_is ''...'2.7' do
it "is tainted if path is tainted" do
path = '/usr/local/bin'.taint
Pathname.new(path).tainted?.should == true
end
end
it "raises a TypeError if not passed a String type" do
-> { Pathname.new(nil) }.should raise_error(TypeError)
-> { Pathname.new(0) }.should raise_error(TypeError)
-> { Pathname.new(true) }.should raise_error(TypeError)
-> { Pathname.new(false) }.should raise_error(TypeError)
end
it "initializes with an object with to_path" do
Pathname.new(mock_to_path('foo')).should == Pathname.new('foo')
end
end