Changeset 1225
- Timestamp:
- 12/09/07 22:46:33 (1 year ago)
- Files:
-
- ruport/trunk/lib/ruport/formatter.rb (modified) (1 diff)
- ruport/trunk/lib/ruport/formatter/template.rb (modified) (1 diff)
- ruport/trunk/lib/ruport/renderer.rb (modified) (1 diff)
- ruport/trunk/test/renderer_test.rb (modified) (2 diffs)
- ruport/trunk/test/template_test.rb (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
ruport/trunk/lib/ruport/formatter.rb
r1224 r1225 188 188 # Returns the template currently set for this formatter. 189 189 def template 190 Template[options.template] 190 Template[options.template] rescue nil || Template[:default] 191 191 end 192 192 ruport/trunk/lib/ruport/formatter/template.rb
r1195 r1225 167 167 templates[label] or raise Ruport::Formatter::TemplateNotDefined 168 168 end 169 170 # Returns the default template. 171 def self.default 172 templates[:default] 173 end 169 174 end ruport/trunk/lib/ruport/renderer.rb
r1216 r1225 460 460 end 461 461 462 if formatter.respond_to?(:apply_template) && options.template 463 formatter.apply_template 464 end 462 if formatter.respond_to?(:apply_template) && options.template != false 463 formatter.apply_template if options.template || 464 Ruport::Formatter::Template.default 465 end 465 466 466 467 prepare self.class.first_stage if self.class.first_stage ruport/trunk/test/renderer_test.rb
r1223 r1225 72 72 class TestRenderer < Test::Unit::TestCase 73 73 74 def teardown 75 Ruport::Formatter::Template.instance_variable_set(:@templates, nil) 76 end 77 74 78 def test_trivial 75 79 actual = OldSchoolRenderer.render(:text) … … 78 82 79 83 context "when using templates" do 80 def specify_apply_template_should_be_called 81 Ruport::Formatter::Template.create(:stub) 82 Table(%w[a b c]).to_csv(:template => :stub) do |r| 83 r.formatter.expects(:apply_template) 84 end 85 end 86 87 def specify_undefined_template_should_throw_sensible_error 88 assert_raises(Ruport::Formatter::TemplateNotDefined) do 89 Table(%w[a b c]).to_csv(:template => :sub) 90 end 91 end 84 def specify_apply_template_should_be_called 85 Ruport::Formatter::Template.create(:stub) 86 Table(%w[a b c]).to_csv(:template => :stub) do |r| 87 r.formatter.expects(:apply_template) 88 end 89 end 90 91 def specify_undefined_template_should_throw_sensible_error 92 assert_raises(Ruport::Formatter::TemplateNotDefined) do 93 Table(%w[a b c]).to_csv(:template => :sub) 94 end 95 end 96 end 97 98 context "when using default templates" do 99 def specify_default_template_should_be_called 100 Ruport::Formatter::Template.create(:default) 101 Table(%w[a b c]).to_csv do |r| 102 r.formatter.expects(:apply_template) 103 assert r.formatter.template == Ruport::Formatter::Template[:default] 104 end 105 end 106 107 def specify_specific_should_override_default 108 Ruport::Formatter::Template.create(:default) 109 Ruport::Formatter::Template.create(:stub) 110 Table(%w[a b c]).to_csv(:template => :stub) do |r| 111 r.formatter.expects(:apply_template) 112 assert r.formatter.template == Ruport::Formatter::Template[:stub] 113 end 114 end 115 116 def specify_should_be_able_to_disable_templates 117 Ruport::Formatter::Template.create(:default) 118 Table(%w[a b c]).to_csv(:template => false) do |r| 119 r.formatter.expects(:apply_template).never 120 end 121 end 92 122 end 93 123 ruport/trunk/test/template_test.rb
r1167 r1225 6 6 def setup 7 7 @template_class = Ruport::Formatter::Template.dup 8 end 9 10 def teardown 11 Ruport::Formatter::Template.instance_variable_set(:@templates, nil) 8 12 end 9 13 … … 33 37 assert_equal :letter, 34 38 Ruport::Formatter::Template[:bar].page_format[:paper_size] 35 end 39 end 40 41 def test_default_template 42 assert_nil Ruport::Formatter::Template.default 43 Ruport::Formatter::Template.create(:default) 44 assert_equal Ruport::Formatter::Template[:default], 45 Ruport::Formatter::Template.default 46 end 36 47 37 48 end
