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 |