diff options
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/node_spec.rb | 15 | ||||
| -rw-r--r-- | spec/spec_helper.rb | 21 | 
2 files changed, 36 insertions, 0 deletions
| diff --git a/spec/node_spec.rb b/spec/node_spec.rb index f78eb64..0a9ee10 100644 --- a/spec/node_spec.rb +++ b/spec/node_spec.rb @@ -136,6 +136,21 @@ describe Zorglub do              Node0.partial(:other_view).should == 'partial_content'          end          # +        it "static pages should be generated" do +            r = Node0.my_call '/do_static' +            r.body[0].should == 'VAL 1' +            r.header['Content-type'].should == 'text/static' +            r = Node0.my_call '/do_static' +            r.body[0].should == 'VAL 1' +            r.header['Content-type'].should == 'text/static' +            r = Node0.my_call '/do_static' +            r.body[0].should == 'VAL 1' +            r.header['Content-type'].should == 'text/static' +            r = Node0.my_call '/no_static' +            r.body[0].should == 'VAL 4' +            r.header['Content-type'].should == 'text/static' +        end +        #          it "redirect should work" do              r = Node0.my_call '/do_redirect'              r.status.should == 302 diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index c379361..c1e6d64 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -13,6 +13,7 @@ require 'yaml'  require 'zorglub'  #  HASH_PROC = Proc.new { |path,obj| {:path=>path,:layout=>obj.layout,:view=>obj.view,:args=>obj.args,:map=>obj.map}.to_yaml } +STATIC_PROC = Proc.new { |path,obj| ["VAL #{obj.value}",'text/static'] }  RENDER_PROC = Proc.new { |path,obj|      case obj.state      when :layout @@ -29,6 +30,7 @@ Zorglub::Config.register_engine 'default', nil, HASH_PROC  Zorglub::Config.register_engine 'engine-1', 'spec', HASH_PROC  Zorglub::Config.register_engine 'engine-2', 'spec', HASH_PROC  Zorglub::Config.register_engine 'real', nil, RENDER_PROC +Zorglub::Config.register_engine 'static', nil, STATIC_PROC  #  Zorglub::Config[:engine] = 'default'  Zorglub::Config.root = File.join Dir.pwd, 'spec', 'data' @@ -43,6 +45,10 @@ class Temp < Zorglub::Node  end  #  class Node0 < Zorglub::Node +    @static_cpt=0 +    class << self +        attr_accessor :static_cpt +    end      # default      def index          html @@ -66,6 +72,21 @@ class Node0 < Zorglub::Node      def do_redirect          redirect r(:do_partial,1,2,3)      end +    attr_reader :value +    def no_static +        static false +        engine 'static' +        view r('do_render') +        Node0.static_cpt+=1 +        @value = Node0.static_cpt +    end +    def do_static +        static true +        engine 'static' +        view r('do_render') +        Node0.static_cpt+=1 +        @value = Node0.static_cpt +    end  end  #  class Node1 < Zorglub::Node | 
