Sha256: 1e0cde2e5f1e280f7729478ce88cc1ec7dca893a22fb4a303be0b76890a78337

Contents?: true

Size: 1.06 KB

Versions: 4

Compression:

Stored size: 1.06 KB

Contents

require "spec_helper"
require "httpi/adapter"


describe HTTPI::Adapter do
  let(:adapter) { HTTPI::Adapter }

  describe ".use" do
    it "should set the adapter to use" do
      adapter.use.should_not == :curb

      adapter.use = :curb
      adapter.use.should == :curb

      adapter.use = nil  # reset
    end

    it "should default to use the HTTPClient adapter" do
      adapter.use.should == :httpclient
    end

    it "should raise an ArgumentError in case of an invalid adapter" do
      lambda { adapter.use = :unknown }.should raise_error(ArgumentError)
    end
  end

  describe ".load" do
    it "should return the adapter name and it's class for a given adapter" do
      adapter.load(:curb).should == [:curb, HTTPI::Adapter::Curb]
    end

    it "should return the HTTPClient adapter name and it's class by default" do
      adapter.load.should == [:httpclient, HTTPI::Adapter::HTTPClient]
    end

    it "should raise an ArgumentError in case of an invalid adapter" do
      lambda { adapter.use = :unknown }.should raise_error(ArgumentError)
    end
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
httpi-0.9.3 spec/httpi/adapter_spec.rb
httpi-0.9.2 spec/httpi/adapter_spec.rb
httpi-0.9.1 spec/httpi/adapter_spec.rb
httpi-0.9.0 spec/httpi/adapter_spec.rb