41 lines
978 B
Ruby
41 lines
978 B
Ruby
require File.dirname(__FILE__) + '/helper'
|
|
|
|
module SecurityFilter
|
|
def add_one(input)
|
|
"#{input} + 1"
|
|
end
|
|
end
|
|
|
|
class SecurityTest < Test::Unit::TestCase
|
|
include Liquid
|
|
|
|
def test_no_instance_eval
|
|
text = %( {{ '1+1' | instance_eval }} )
|
|
expected = %| 1+1 |
|
|
|
|
assert_equal expected, Template.parse(text).render(@assigns)
|
|
end
|
|
|
|
def test_no_existing_instance_eval
|
|
text = %( {{ '1+1' | __instance_eval__ }} )
|
|
expected = %| 1+1 |
|
|
|
|
assert_equal expected, Template.parse(text).render(@assigns)
|
|
end
|
|
|
|
|
|
def test_no_instance_eval_after_mixing_in_new_filter
|
|
text = %( {{ '1+1' | instance_eval }} )
|
|
expected = %| 1+1 |
|
|
|
|
assert_equal expected, Template.parse(text).render(@assigns)
|
|
end
|
|
|
|
|
|
def test_no_instance_eval_later_in_chain
|
|
text = %( {{ '1+1' | add_one | instance_eval }} )
|
|
expected = %| 1+1 + 1 |
|
|
|
|
assert_equal expected, Template.parse(text).render(@assigns, :filters => SecurityFilter)
|
|
end
|
|
end |