Project

General

Profile

Download (1.4 KB) Statistics
| Branch: | Tag: | Revision:
require 'test_helper'

class SafeRenderTest < ActiveSupport::TestCase

def setup
@safe_render = SafeRender.new(:variables => { :host => hosts(:one) })
end

test 'safe_render should return raw strings when interpolate is false' do
Setting[:interpolate_erb_in_parameters] = false

s=@safe_render.parse('<%= @host.name %>')
assert_equal '<%= @host.name %>', s
end

test 'safe_render should return correct strings when interpolate is true' do
Setting[:interpolate_erb_in_parameters] = true

s=@safe_render.parse('<%= @host.name %>')
assert_equal 'my5name.mydomain.net', s
end

test 'safe_render should return correct arrays when interpolate is true' do
Setting[:interpolate_erb_in_parameters] = true

s=@safe_render.parse("['1.2.3.4','<%= @host.name %>']")
assert_equal "['1.2.3.4','my5name.mydomain.net']", s
end

test 'safe_render should return correct hashes when interpolate is true' do
Setting[:interpolate_erb_in_parameters] = true

s=@safe_render.parse("{'ip=>'1.2.3.4','name'=>'<%= @host.name %>'}")
assert_equal "{'ip=>'1.2.3.4','name'=>'my5name.mydomain.net'}", s
end

test 'safe_render can handle recursion' do
Setting[:interpolate_erb_in_parameters] = true

s=@safe_render.parse("['level1','<%= @host.name %>',['level2','<%= @host.name %>']]")
assert_equal "['level1','my5name.mydomain.net',['level2','my5name.mydomain.net']]", s
end

end
(75-75/96)