1 module RenderTestHelper
3 def assert_renders(expected, input, url = nil, host = nil)
4 output = get_render_output(input, url, host)
5 message = "<#{expected.inspect}> expected but was <#{output.inspect}>"
6 assert_block(message) { expected == output }
9 def assert_render_match(regexp, input, url = nil)
10 regexp = Regexp.new(regexp) if regexp.kind_of? String
11 output = get_render_output(input, url)
12 message = "<#{output.inspect}> expected to be =~ <#{regexp.inspect}>"
13 assert_block(message) { output =~ regexp }
16 def assert_render_error(expected_error_message, input, url = nil)
17 output = get_render_output(input, url)
18 message = "expected error message <#{expected_error_message.inspect}> expected but none was thrown"
19 assert_block(message) { false }
21 message = "expected error message <#{expected_error_message.inspect}> but was <#{e.message.inspect}>"
22 assert_block(message) { expected_error_message === e.message }
25 def assert_headers(expected_headers, url = nil)
27 headers = @page.headers
28 message = "<#{expected_headers.inspect}> expected but was <#{headers.inspect}>"
29 assert_block(message) { expected_headers == headers }
32 def assert_page_renders(page_name, expected, message = nil)
33 page = pages(page_name)
35 message = "<#{expected.inspect}> expected, but was <#{output.inspect}>"
36 assert_block(message) { expected == output }
39 def assert_snippet_renders(snippet_name, expected, message = nil)
40 snippet = snippets(snippet_name)
41 output = @page.render_snippet(snippet)
42 message = "<#{expected.inspect}> expected, but was <#{output.inspect}>"
43 assert_block(message) { expected == output }
48 def get_render_output(input, url, host = nil)
50 @page.send(:parse, input)
53 def setup_page(url = nil, host = nil)
54 @page.request = ActionController::TestRequest.new
55 @page.request.request_uri = (url || @page.url)
56 @page.request.host = host || "testhost.tld"
57 @page.response = ActionController::TestResponse.new