aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/zero/controller.rb2
-rw-r--r--spec/unit/controller/call_spec.rb14
2 files changed, 15 insertions, 1 deletions
diff --git a/lib/zero/controller.rb b/lib/zero/controller.rb
index febb23e..b42e500 100644
--- a/lib/zero/controller.rb
+++ b/lib/zero/controller.rb
@@ -50,7 +50,7 @@ module Zero
# @param env [Hash] a rack compatible environment
def initialize(env)
@request = self.class.request.new(env)
- @response = self.class.response
+ @response = self.class.response.new
@renderer = self.class.renderer
end
diff --git a/spec/unit/controller/call_spec.rb b/spec/unit/controller/call_spec.rb
index 7ff6c40..6cc56a4 100644
--- a/spec/unit/controller/call_spec.rb
+++ b/spec/unit/controller/call_spec.rb
@@ -24,4 +24,18 @@ describe Zero::Controller, '.call' do
r = Zero::Request.new(env)
expect(r.params['foo']).to eq('bar')
end
+
+ context "with the response" do
+ let(:response_class) { mock }
+ before :each do
+ Zero::Controller.response = response_class
+ response_class.should_receive(:new)
+ end
+
+ after :each do
+ Zero::Controller.response = nil
+ end
+
+ it { subject }
+ end
end