Sha256: ad34112ff70e062dc8ecc11d8096dce8cc18ab7007490b5832f253ef3ca23b7c

Contents?: true

Size: 913 Bytes

Versions: 27

Compression:

Stored size: 913 Bytes

Contents

# frozen_string_literal: true

RSpec.describe HTTP::URI do
  let(:example_http_uri_string)  { "http://example.com" }
  let(:example_https_uri_string) { "https://example.com" }

  subject(:http_uri)  { described_class.parse(example_http_uri_string) }
  subject(:https_uri) { described_class.parse(example_https_uri_string) }

  it "knows URI schemes" do
    expect(http_uri.scheme).to eq "http"
    expect(https_uri.scheme).to eq "https"
  end

  it "sets default ports for HTTP URIs" do
    expect(http_uri.port).to eq 80
  end

  it "sets default ports for HTTPS URIs" do
    expect(https_uri.port).to eq 443
  end

  describe "#dup" do
    it "doesn't share internal value between duplicates" do
      duplicated_uri = http_uri.dup
      duplicated_uri.host = "example.org"

      expect(duplicated_uri.to_s).to eq("http://example.org")
      expect(http_uri.to_s).to eq("http://example.com")
    end
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
http-5.1.0 spec/lib/http/uri_spec.rb
http-5.0.4 spec/lib/http/uri_spec.rb
http-5.0.3 spec/lib/http/uri_spec.rb
http-5.0.2 spec/lib/http/uri_spec.rb
http-5.0.1 spec/lib/http/uri_spec.rb
http-5.0.0 spec/lib/http/uri_spec.rb
http-4.4.1 spec/lib/http/uri_spec.rb
http-4.4.0 spec/lib/http/uri_spec.rb
http-5.0.0.pre3 spec/lib/http/uri_spec.rb
http-5.0.0.pre2 spec/lib/http/uri_spec.rb
http-4.3.0 spec/lib/http/uri_spec.rb
http-4.2.0 spec/lib/http/uri_spec.rb
http-4.1.1 spec/lib/http/uri_spec.rb
http-4.1.0 spec/lib/http/uri_spec.rb
http-4.0.5 spec/lib/http/uri_spec.rb
http-4.0.4 spec/lib/http/uri_spec.rb
http-5.0.0.pre spec/lib/http/uri_spec.rb
http-4.0.3 spec/lib/http/uri_spec.rb
http-4.0.2 spec/lib/http/uri_spec.rb
http-4.0.1 spec/lib/http/uri_spec.rb