helpers actually render erb now
Oleg
committed May 11, 2011
commit f8a26d6110330deba4fe14227af33c4bfa8bc062
Showing 3
changed files with
25 additions
and 19 deletions
comfortable_mexican_sofa/view_methods.rb b/lib/comfortable_mexican_sofa/view_methods.rb
+2
-2
| @@ | @@ -25,7 +25,7 @@ module ComfortableMexicanSofa::ViewMethods |
| def cms_snippet_content(snippet_slug, cms_site = nil) | |
| return '' unless cms_site ||= (@cms_site || Cms::Site.find_by_hostname!(request.host.downcase)) | |
| return '' unless snippet = cms_site.snippets.find_by_slug(snippet_slug) | |
| - | ComfortableMexicanSofa::Tag.process_content(Cms::Page.new, snippet.content).html_safe |
| + | render :inline => ComfortableMexicanSofa::Tag.process_content(Cms::Page.new, snippet.content) |
| end | |
| # Content of a page block. This is how you get content from page:field | |
| @@ | @@ -35,7 +35,7 @@ module ComfortableMexicanSofa::ViewMethods |
| def cms_page_content(block_label, page = nil) | |
| return '' unless page ||= @cms_page | |
| return '' unless block = page.blocks.find_by_label(block_label) | |
| - | ComfortableMexicanSofa::Tag.process_content(page, block.content).html_safe |
| + | render :inline => ComfortableMexicanSofa::Tag.process_content(page, block.content) |
| end | |
| end | |
test/unit/fixtures_test.rb
+1
-1
| @@ | @@ -1,6 +1,6 @@ |
| require File.expand_path('../test_helper', File.dirname(__FILE__)) | |
| - | class ViewMethodsTest < ActiveSupport::TestCase |
| + | class FixturesTest < ActiveSupport::TestCase |
| def setup | |
| @site = cms_sites(:default) | |
test/unit/view_methods_test.rb
+22
-16
| @@ | @@ -2,32 +2,38 @@ require File.expand_path('../test_helper', File.dirname(__FILE__)) |
| class ViewMethodsTest < ActiveSupport::TestCase | |
| - | include ComfortableMexicanSofa::ViewMethods |
| + | class HelpersTestController < ActionController::Base |
| + | helper { def hello; 'hello' end } |
| + | def test_cms_snippet_content |
| + | render :inline => '<%= cms_snippet_content(:default) %>' |
| + | end |
| + | def test_cms_page_content |
| + | @cms_page = Cms::Page.root |
| + | render :inline => '<%= cms_page_content(:default_field_text) %>' |
| + | end |
| + | end |
| + | |
| + | # Simulating a call and getting resulting output |
| + | def action_result(action) |
| + | HelpersTestController.action(action).call(ActionController::TestRequest.new.env).last.body |
| + | end |
| def test_cms_snippet_content | |
| - | assert_equal 'default_snippet_content', cms_snippet_content('default', cms_sites(:default)) |
| - | assert_equal '', cms_snippet_content('not_found', cms_sites(:default)) |
| + | assert_equal 'default_snippet_content', action_result('test_cms_snippet_content') |
| end | |
| - | def test_cms_snippet_cotnent_with_tags |
| - | snippet = cms_snippets(:default) |
| - | snippet.update_attribute(:content, 'content {{cms:helper:test}}') |
| - | assert_equal 'content <%= test() %>', cms_snippet_content(:default, cms_sites(:default)) |
| + | def test_cms_snippet_content_with_tags |
| + | cms_snippets(:default).update_attribute(:content, '{{cms:helper:hello}}') |
| + | assert_equal 'hello', action_result('test_cms_snippet_content') |
| end | |
| def test_cms_page_content | |
| - | assert_equal 'default_field_text_content', cms_page_content('default_field_text', cms_pages(:default)) |
| - | assert_equal '', cms_page_content('default_field_text') |
| - | @cms_page = cms_pages(:default) |
| - | assert_equal 'default_field_text_content', cms_page_content('default_field_text') |
| - | assert_equal '', cms_page_content('not_found') |
| - | @cms_page = nil |
| + | assert_equal 'default_field_text_content', action_result('test_cms_page_content') |
| end | |
| def test_cms_page_content_with_tags | |
| - | block = cms_blocks(:default_field_text) |
| - | block.update_attribute(:content, 'content {{cms:helper:test}}') |
| - | assert_equal 'content <%= test() %>', cms_page_content(:default_field_text, cms_pages(:default)) |
| + | cms_blocks(:default_field_text).update_attribute(:content, '{{cms:helper:hello}}') |
| + | assert_equal 'hello', action_result('test_cms_page_content') |
| end | |
| end | |
| \ No newline at end of file | |