summary refs log tree commit
path: root/test/spec_rack_etag.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/spec_rack_etag.rb')
-rw-r--r--test/spec_rack_etag.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/spec_rack_etag.rb b/test/spec_rack_etag.rb
new file mode 100644
index 00000000..73cd31ac
--- /dev/null
+++ b/test/spec_rack_etag.rb
@@ -0,0 +1,17 @@
+require 'test/spec'
+require 'rack/mock'
+require 'rack/etag'
+
+context "Rack::ETag" do
+  specify "sets ETag if none is set" do
+    app = lambda { |env| [200, {'Content-Type' => 'text/plain'}, ["Hello, World!"]] }
+    response = Rack::ETag.new(app).call({})
+    response[1]['ETag'].should.equal "\"65a8e27d8879283831b664bd8b7f0ad4\""
+  end
+
+  specify "does not change ETag if it is already set" do
+    app = lambda { |env| [200, {'Content-Type' => 'text/plain', 'ETag' => '"abc"'}, ["Hello, World!"]] }
+    response = Rack::ETag.new(app).call({})
+    response[1]['ETag'].should.equal "\"abc\""
+  end
+end