--- /dev/null
+require File.dirname(__FILE__) + '/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
\ No newline at end of file