Project

General

Profile

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

class SafeRenderTest < ActiveSupport::TestCase
def setup
@host = FactoryGirl.create(:host)
@safe_render = SafeRender.new(:variables => { :host => @host })
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 @host.name, 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','#{@host.name}']", 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'=>'#{@host.name}'}", 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','#{@host.name}',['level2','#{@host.name}']]", s
end
end
(87-87/107)