OSDN Git Service

Replaced mongrel with thin
[redminele/redminele.git] / ruby / lib / ruby / gems / 1.8 / gems / thin-1.2.11-x86-mswin32 / spec / headers_spec.rb
diff --git a/ruby/lib/ruby/gems/1.8/gems/thin-1.2.11-x86-mswin32/spec/headers_spec.rb b/ruby/lib/ruby/gems/1.8/gems/thin-1.2.11-x86-mswin32/spec/headers_spec.rb
new file mode 100644 (file)
index 0000000..98ee470
--- /dev/null
@@ -0,0 +1,40 @@
+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