Sha256: 97497f652a4f8b5e21c4a46d90f96c258a5f10e27d2d14a1f9b9504f92bf5cee

Contents?: true

Size: 1.74 KB

Versions: 3

Compression:

Stored size: 1.74 KB

Contents

require File.join(File.dirname(__FILE__), '..', 'spec_helper')

describe HTTParty::Response do
  describe "initialization" do
    before do
      @response_object = {'foo' => 'bar'}
      @body = "{foo:'bar'}"
      @code = '200'
      @response = HTTParty::Response.new(@response_object, @body, @code)
    end
    
    it "should set delegate" do
      @response.delegate.should == @response_object
    end
    
    it "should set body" do
      @response.body.should == @body
    end
    
    it "should set code" do
      @response.code.should.to_s == @code
    end

    it "should set code as a Fixnum" do
      @response.code.should be_an_instance_of(Fixnum)
    end
  end
  
  it "should be able to set headers during initialization" do
    response = HTTParty::Response.new({'foo' => 'bar'}, "{foo:'bar'}", 200, {'foo' => 'bar'})
    response.headers.should == {'foo' => 'bar'}
  end
  
  it "should send missing methods to delegate" do
    response = HTTParty::Response.new({'foo' => 'bar'}, "{foo:'bar'}", 200)
    response['foo'].should == 'bar'
  end
  
  it "should be able to iterate delegate if it is array" do
    response = HTTParty::Response.new([{'foo' => 'bar'}, {'foo' => 'baz'}], "[{foo:'bar'}, {foo:'baz'}]", 200)
    response.size.should == 2
    lambda {
      response.each { |item| }
    }.should_not raise_error
  end
  
  xit "should allow hashes to be accessed with dot notation" do
    response = HTTParty::Response.new({'foo' => 'bar'}, "{foo:'bar'}", 200)
    response.foo.should == 'bar'
  end
  
  xit "should allow nested hashes to be accessed with dot notation" do
    response = HTTParty::Response.new({'foo' => {'bar' => 'baz'}}, "{foo: {bar:'baz'}}", 200)
    response.foo.should == {'bar' => 'baz'}
    response.foo.bar.should == 'baz'
  end
end

Version data entries

3 entries across 3 versions & 3 rubygems

Version Path
cluon-httparty-0.4.3 spec/httparty/response_spec.rb
jnunemaker-httparty-0.4.2 spec/httparty/response_spec.rb
httparty-0.4.2 spec/httparty/response_spec.rb