diff options
| -rw-r--r-- | spec/node_spec.rb | 26 | ||||
| -rw-r--r-- | spec/spec_helper.rb | 23 | 
2 files changed, 49 insertions, 0 deletions
| diff --git a/spec/node_spec.rb b/spec/node_spec.rb index 9aed852..4b4fbed 100644 --- a/spec/node_spec.rb +++ b/spec/node_spec.rb @@ -126,6 +126,32 @@ describe Zorglub do              r.header['location'].should == Node0.r(:do_partial,1,2,3)          end          # +        it "defs should be inherited" do +            r = Node5.my_call '/index' +            ar = YAML.load r.body[0] +            ar[0].should == 'js0' +            ar[1].should == 'js1' +            ar[2].should == 'js3' +            ar[3].should == 'jsx' +            ar[4].should be_nil +        end +        # +        it "defs should be method scope modified" do +            r = Node4.my_call '/more' +            ar = YAML.load r.body[0] +            ar[0].should == 'js0' +            ar[1].should == 'js1' +            ar[2].should == 'js2' +            ar[3].should be_nil +        end +        # +        it "defs should not have been modified by other method" do +            r = Node4.my_call '/index' +            ar = YAML.load r.body[0] +            ar[0].should == 'js0' +            ar[1].should == 'js1' +            ar[2].should be_nil +        end      end      #  end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 5297cb5..84aebdd 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -11,6 +11,7 @@ end  require 'yaml'  #  require 'zorglub' +require 'zorglub/defs'  #  HASH_PROC = Proc.new { |path,obj| {:path=>path,:layout=>obj.layout,:view=>obj.view,:args=>obj.args}.to_yaml }  RENDER_PROC = Proc.new { |path,obj| @@ -99,10 +100,32 @@ class Node3 < Zorglub::Node      end  end  # +class Node4 < Zorglub::Node +    defs :js,'js0','js1' +    def index +        no_layout +        defs(:js).to_yaml +    end +    def more +        no_layout +        defs(:js,'js2').to_yaml +    end +end +# +class Node5 < Node4 +    defs :js, 'js3' +    def index +        no_layout +        defs(:js,'jsx').to_yaml +    end +end +#  APP = Zorglub::App.new do      map '/node0', Node0      map '/node1', Node1      map '/node3', Node3 +    map '/node4', Node4 +    map '/node5', Node5  end  class Node2      map APP, '/node2' | 
