Sha256: 9bd090d37ac877a71acb6bb5fe05579d298e345acfb7cede8c56a7dc9ba4d509

Contents?: true

Size: 1.31 KB

Versions: 1

Compression:

Stored size: 1.31 KB

Contents

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 = %! Liquid error: Error - filter 'instance_eval' in ''1+1' | instance_eval' could not be found. !
        
    assert_equal expected, Template.parse(text).render(@assigns)
  end
  
  def test_no_existing_instance_eval
    text = %( {{ '1+1' | __instance_eval__ }} )
    expected = %! Liquid error: Error - filter '__instance_eval__' in ''1+1' | __instance_eval__' could not be found. !
        
    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 = %! Liquid error: Error - filter 'instance_eval' in ''1+1' | instance_eval' could not be found. !
  
    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 = %! Liquid error: Error - filter 'instance_eval' in ''1+1' | add_one | instance_eval' could not be found. !
  
    assert_equal expected, Template.parse(text).render(@assigns, :filters => SecurityFilter)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
drnic-liquid-2.1.0 test/security_test.rb