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 |