Sha256: c05b7fa94a2ba8b04dce4cf5d6e6dfa736dd8a7b83d604f6d581ee073ffbc8ea

Contents?: true

Size: 804 Bytes

Versions: 3

Compression:

Stored size: 804 Bytes

Contents

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
    lambda { Pathname.new("\0")}.should raise_error(ArgumentError)
  end

  it "is tainted if path is tainted" do
    path = '/usr/local/bin'.taint
    Pathname.new(path).tainted?.should == true
  end

  it "calls #to_str to convert the argument to a String" do
    obj = mock("to_str")
    obj.should_receive(:to_str).and_return("/")

    Pathname.new(obj).should == Pathname.new('/')
  end

  it "calls #to_path to convert the argument to a String" do
    obj = mock("to_path")
    obj.should_receive(:to_path).and_return("/")

    Pathname.new(obj).should == Pathname.new('/')
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rubysl-pathname-2.3 spec/new_spec.rb
rubysl-pathname-2.2 spec/new_spec.rb
rubysl-pathname-2.1.0 spec/new_spec.rb