summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2012-01-17 10:13:50 +0100
committerJérémy Zurcher <jeremy@asynk.ch>2012-01-17 10:13:50 +0100
commit65c77e80fc100d16c51a634639032fe43f2f2908 (patch)
treec16393d2ff90b9b1907d2ae73c8b46ff7264633a
parent0f1cc7ddb90c689ed4a7abc7f05cf06d3202079a (diff)
downloadzorglub-65c77e80fc100d16c51a634639032fe43f2f2908.zip
zorglub-65c77e80fc100d16c51a634639032fe43f2f2908.tar.gz
add spec for inherited before_all and after_all hooks
-rw-r--r--spec/node_spec.rb24
-rw-r--r--spec/spec_helper.rb6
2 files changed, 29 insertions, 1 deletions
diff --git a/spec/node_spec.rb b/spec/node_spec.rb
index 279ec2b..72230bc 100644
--- a/spec/node_spec.rb
+++ b/spec/node_spec.rb
@@ -127,6 +127,30 @@ describe Zorglub do
Node3.after.should == 3
end
#
+ it "inherited before_all hook should work" do
+ Node3.before = 0
+ Node3.after = 0
+ Node3.before.should == 0
+ Node8.my_call '/index'
+ Node3.before.should == 1
+ Node8.my_call '/index'
+ Node3.before.should == 2
+ Node8.my_call '/index'
+ Node3.before.should == 3
+ end
+ #
+ it "inherited after_all hook should work" do
+ Node3.before = 0
+ Node3.after = 0
+ Node3.after.should == 0
+ Node8.my_call '/index'
+ Node3.after.should == 1
+ Node8.my_call '/index'
+ Node3.after.should == 2
+ Node8.my_call '/index'
+ Node3.after.should == 3
+ end
+ #
it "should find view and layout and render them" do
r = Node0.my_call '/do_render'
r.status.should == 200
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 8c6c2bc..78ce08f 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -117,10 +117,13 @@ class Node3 < Zorglub::Node
layout! 'layout-2'
engine! 'engine-2'
def index
- (self.class.before-self.class.after).should == 1
+ (Node3.before-Node3.after).should == 1
end
end
#
+class Node8 < Node3
+end
+#
class Node4 < Zorglub::Node
no_layout!
inherited_var :js,'js0','js1'
@@ -182,6 +185,7 @@ APP = Zorglub::App.new do
map '/node5', Node5
map '/node6', Node6
map '/node7', Node7
+ map '/node8', Node8
end
class Node2
map APP, '/node2'