From fc3f593b5357849891b00a453e9d778560c6049e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= Date: Thu, 5 Jan 2012 12:23:39 +0100 Subject: spec: add specs for static pages generation --- spec/node_spec.rb | 15 +++++++++++++++ spec/spec_helper.rb | 21 +++++++++++++++++++++ 2 files changed, 36 insertions(+) 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 -- cgit v1.1-2-g2b99