Sha256: 6e0d9874ea852f6c05d6439f0a0c93dddff37520e712f26725688b50dea9e7c4

Contents?: true

Size: 1.16 KB

Versions: 2

Compression:

Stored size: 1.16 KB

Contents

require 'uri'

describe "URI::FTP#path=" do
  before :each do
    @url = URI.parse('ftp://example.com')
  end

  ruby_version_is "1.8.6"..."1.8.7" do
    it "does not strip the leading /" do
      @url.path = '/foo'
      @url.path.should == '/foo'
    end
  end

  ruby_version_is "1.8.7"..."1.9" do
    it "requires a leading /" do
      lambda { @url.path = 'foo' }.should raise_error(URI::InvalidComponentError)
    end

    it "strips the leading /" do
      @url.path = '/foo'
      @url.path.should == 'foo'
    end
  end

  ruby_version_is "1.9" do
    it "does not require a leading /" do
      @url.path = 'foo'
      @url.path.should == 'foo'
    end

    it "does not strip the leading /" do
      @url.path = '/foo'
      @url.path.should == '/foo'
    end
  end
end

describe "URI::FTP#path" do
  ruby_version_is "1.8.6"..."1.8.7" do
    it "copies the path section of the URI without modification" do
      url = URI.parse('ftp://example.com/%2Ffoo')

      url.path.should == '/%2Ffoo'
    end
  end

  ruby_version_is "1.8.7" do
    it "unescapes the leading /" do
      url = URI.parse('ftp://example.com/%2Ffoo')

      url.path.should == '/foo'
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rubysl-uri-1.0.0 spec/ftp/path_spec.rb
rubysl-uri-2.0.0 spec/ftp/path_spec.rb