Sha256: 138533b74f50742e48f1341c39e8d3d6de91bd5750e7ae66308f4ad265eecf03

Contents?: true

Size: 1.08 KB

Versions: 48

Compression:

Stored size: 1.08 KB

Contents

require 'spec_helper'

describe Headers do
  before do
    @headers = Headers.new
  end
  
  it 'should allow duplicate on some fields' do
    @headers['Set-Cookie'] = 'twice'
    @headers['Set-Cookie'] = 'is cooler the once'
    
    @headers.to_s.should == "Set-Cookie: twice\r\nSet-Cookie: is cooler the once\r\n"
  end
  
  it 'should overwrite value on non duplicate fields' do
    @headers['Host'] = 'this is unique'
    @headers['Host'] = 'so is this'

    @headers.to_s.should == "Host: this is unique\r\n"
  end
  
  it 'should output to string' do
    @headers['Host'] = 'localhost:3000'
    @headers['Set-Cookie'] = 'twice'
    @headers['Set-Cookie'] = 'is cooler the once'
    
    @headers.to_s.should == "Host: localhost:3000\r\nSet-Cookie: twice\r\nSet-Cookie: is cooler the once\r\n"
  end

  it 'should ignore nil values' do
    @headers['Something'] = nil
    @headers.to_s.should_not include('Something: ')
  end

  it 'should format Time values correctly' do
    time = Time.now
    @headers['Modified-At'] = time
    @headers.to_s.should include("Modified-At: #{time.httpdate}")
  end
end

Version data entries

48 entries across 48 versions & 2 rubygems

Version Path
classiccms-0.7.5 vendor/bundle/gems/thin-1.3.1/spec/headers_spec.rb
classiccms-0.7.4 vendor/bundle/gems/thin-1.3.1/spec/headers_spec.rb
classiccms-0.7.3 vendor/bundle/gems/thin-1.3.1/spec/headers_spec.rb
classiccms-0.7.2 vendor/bundle/gems/thin-1.3.1/spec/headers_spec.rb
classiccms-0.7.1 vendor/bundle/gems/thin-1.3.1/spec/headers_spec.rb
classiccms-0.7.0 vendor/bundle/gems/thin-1.3.1/spec/headers_spec.rb
classiccms-0.6.9 vendor/bundle/gems/thin-1.3.1/spec/headers_spec.rb
classiccms-0.6.8 vendor/bundle/gems/thin-1.3.1/spec/headers_spec.rb
classiccms-0.6.7 vendor/bundle/gems/thin-1.3.1/spec/headers_spec.rb
classiccms-0.6.6 vendor/bundle/gems/thin-1.3.1/spec/headers_spec.rb
classiccms-0.6.5 vendor/bundle/gems/thin-1.3.1/spec/headers_spec.rb
classiccms-0.6.4 vendor/bundle/gems/thin-1.3.1/spec/headers_spec.rb
classiccms-0.6.3 vendor/bundle/gems/thin-1.3.1/spec/headers_spec.rb
classiccms-0.6.2 vendor/bundle/gems/thin-1.3.1/spec/headers_spec.rb
classiccms-0.6.1 vendor/bundle/gems/thin-1.3.1/spec/headers_spec.rb
classiccms-0.6.0 vendor/bundle/gems/thin-1.3.1/spec/headers_spec.rb
classiccms-0.5.17 vendor/bundle/gems/thin-1.3.1/spec/headers_spec.rb
classiccms-0.5.16 vendor/bundle/gems/thin-1.3.1/spec/headers_spec.rb
classiccms-0.5.15 vendor/bundle/gems/thin-1.3.1/spec/headers_spec.rb
classiccms-0.5.14 vendor/bundle/gems/thin-1.3.1/spec/headers_spec.rb