From 29e140b655f569ffac35904bca4f475602d98771 Mon Sep 17 00:00:00 2001 From: DBA Date: Sun, 22 Aug 2010 19:55:02 +0800 Subject: [PATCH] StandardFilters - added escape_once, based on ActionView --- lib/liquid/standardfilters.rb | 4 ++++ test/standard_filter_test.rb | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/lib/liquid/standardfilters.rb b/lib/liquid/standardfilters.rb index 0f08264c..c9e2f145 100644 --- a/lib/liquid/standardfilters.rb +++ b/lib/liquid/standardfilters.rb @@ -29,6 +29,10 @@ module Liquid CGI.escapeHTML(input) rescue input end + def escape_once(input) + ActionView::Helpers::TagHelper.escape_once(input) rescue input + end + alias_method :h, :escape # Truncate a string down to x characters diff --git a/test/standard_filter_test.rb b/test/standard_filter_test.rb index 10944ebc..35226e59 100644 --- a/test/standard_filter_test.rb +++ b/test/standard_filter_test.rb @@ -47,6 +47,10 @@ class StandardFiltersTest < Test::Unit::TestCase assert_equal '<strong>', @filters.h('') end + def test_escape_once + assert_equal '<strong>', @filters.escape_once(@filters.escape('')) + end + def test_truncatewords assert_equal 'one two three', @filters.truncatewords('one two three', 4) assert_equal 'one two...', @filters.truncatewords('one two three', 2)