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 |