summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/zero/response.rb2
-rw-r--r--spec/unit/response/response_spec.rb8
2 files changed, 9 insertions, 1 deletions
diff --git a/lib/zero/response.rb b/lib/zero/response.rb
index 2886a0d..b8aeff0 100644
--- a/lib/zero/response.rb
+++ b/lib/zero/response.rb
@@ -42,7 +42,7 @@ module Zero
# Also creates one, if it does not exists
#
def content_length
- header['Content-Length'] = body.join.length
+ header['Content-Length'] = body.join.bytesize
end
end
diff --git a/spec/unit/response/response_spec.rb b/spec/unit/response/response_spec.rb
index 21d6e31..e58b0d0 100644
--- a/spec/unit/response/response_spec.rb
+++ b/spec/unit/response/response_spec.rb
@@ -1,3 +1,4 @@
+# encoding: UTF-8
require 'spec_helper'
describe Zero::Response do
@@ -60,6 +61,13 @@ describe Zero::Response do
subject.header['Content-Length'].should eq(6)
end
+
+ it "sets the content_length to the bytesize of the message body" do
+ subject.body = ['föö', 'bär']
+ subject.content_length
+
+ subject.header['Content-Length'].should eq(9)
+ end
end
end \ No newline at end of file