Module: Test::Unit::Assertions
- Defined in:
- lib/og/test/assertions.rb
Overview
– Og related assertions. ++
Constant Summary collapse
- STATUS_MAP =
{ :success => 200, :ok => 200, :redirect => 307 }
Instance Method Summary collapse
- #assert_content_type(ctype, msg) ⇒ Object
-
#assert_cookie(options = {}) ⇒ Object
:section: Cookies related assertions.
- #assert_cookie_equal(name, value, msg = nil) ⇒ Object
- #assert_cookie_has(name, msg = nil) ⇒ Object
- #assert_cookie_has_no(name, msg = nil) ⇒ Object
- #assert_not_redirected(options = {}) ⇒ Object
- #assert_output(options = {}) ⇒ Object
- #assert_output_match(re, msg) ⇒ Object (also: #assert_output_contains, #assert_output_contains_not)
- #assert_output_not_match(re, msg) ⇒ Object
-
#assert_redirected(options = {}) ⇒ Object
:section: Redirection assertions.
-
#assert_response(options = {}) ⇒ Object
Check the status of the response.
-
#assert_session(options = {}) ⇒ Object
:section: Session related assertions.
- #assert_session_equal(key, value, msg = nil) ⇒ Object
- #assert_session_has(key, msg = nil) ⇒ Object
- #assert_session_has_no(key, msg = nil) ⇒ Object
- #assert_status(status, msg) ⇒ Object
-
#format_msg(message, extra) ⇒ Object
:section: Utility methods.
Instance Method Details
#assert_content_type(ctype, msg) ⇒ Object
75 76 77 78 |
# File 'lib/og/test/assertions.rb', line 75 def assert_content_type(ctype, msg) msg = format_msg("Content type is not '#{ctype}' as expected", msg) assert_block(msg) { @context.content_type == ctype } end |
#assert_cookie(options = {}) ⇒ Object
:section: Cookies related assertions.
112 113 114 115 116 117 118 119 120 121 122 123 |
# File 'lib/og/test/assertions.rb', line 112 def ( = {}) msg = [:msg] if key = [:has] (key, msg) end if key = [:has_no] || [:no] (key, msg) end if key = [:key] and value = [:value] (key, value, msg) end end |
#assert_cookie_equal(name, value, msg = nil) ⇒ Object
135 136 137 138 139 140 141 142 |
# File 'lib/og/test/assertions.rb', line 135 def (name, value, msg = nil) unless = @context.(name) msg = format_msg("Cookie '#{name}' not found", msg) assert_block(msg) { false } end msg = format_msg("The value of cookie '#{name}' is '#{.value}' but was expected '#{value}'", msg) assert_block(msg) { .value == value } end |
#assert_cookie_has(name, msg = nil) ⇒ Object
125 126 127 128 |
# File 'lib/og/test/assertions.rb', line 125 def (name, msg = nil) msg = format_msg("Cookie '#{name}' not found", msg) assert_block(msg) { @context.(name) } end |
#assert_cookie_has_no(name, msg = nil) ⇒ Object
130 131 132 133 |
# File 'lib/og/test/assertions.rb', line 130 def (name, msg = nil) msg = format_msg("Unexpected cookie '#{name}' found", msg) assert_block(msg) { !@context.(name) } end |
#assert_not_redirected(options = {}) ⇒ Object
160 161 162 163 164 |
# File 'lib/og/test/assertions.rb', line 160 def assert_not_redirected( = {}) msg = [:msg] msg = format_msg("Unexpected redirection (location = '#{@context.response_headers['location']}')", msg) assert_block(msg) { !@context.redirect? } end |
#assert_output(options = {}) ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/og/test/assertions.rb', line 50 def assert_output( = {}) msg = [:msg] if re = [:match] || [:contains] assert_output_match(re, msg) end if re = [:no_match] || [:contains_no] assert_output_not_match(re, msg) end if content_type = [:content_type] assert_content_type(content_type, msg) end end |
#assert_output_match(re, msg) ⇒ Object Also known as: assert_output_contains, assert_output_contains_not
63 64 65 66 |
# File 'lib/og/test/assertions.rb', line 63 def assert_output_match(re, msg) msg = format_msg("Rendered output does not match '#{re.source}'", msg) assert_block(msg) { @context.body =~ Regexp.new(re) } end |
#assert_output_not_match(re, msg) ⇒ Object
69 70 71 72 |
# File 'lib/og/test/assertions.rb', line 69 def assert_output_not_match(re, msg) msg = format_msg("Rendered output matches '#{re.source}'", msg) assert_block(msg) { @context.out =~ Regexp.new(re) } end |
#assert_redirected(options = {}) ⇒ Object
:section: Redirection assertions.
148 149 150 151 152 153 154 155 156 157 158 |
# File 'lib/og/test/assertions.rb', line 148 def assert_redirected( = {}) msg = [:msg] msg = format_msg("No redirection (status = #{@context.status})", msg) assert_block(msg) { @context.redirect? } if to = [:to] msg = format_msg("Not redirected to '#{to}'", msg) assert_block(msg) { @context.response_headers['location'] == "http://#{to}" } end end |
#assert_response(options = {}) ⇒ Object
Check the status of the response.
21 22 23 24 25 26 27 28 29 30 |
# File 'lib/og/test/assertions.rb', line 21 def assert_response( = {}) unless .is_a? Hash = { :status => } end msg = [:msg] if status = .fetch(:status, :success) status = STATUS_MAP[status] if STATUS_MAP.has_key?(status) assert_status(status, msg) end end |
#assert_session(options = {}) ⇒ Object
:section: Session related assertions.
82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/og/test/assertions.rb', line 82 def assert_session( = {}) msg = [:msg] if key = [:has] assert_session_has(key, msg) end if key = [:has_no] || [:no] assert_session_has_no(key, msg) end if key = [:key] and value = [:value] assert_session_equal(key, value, msg) end end |
#assert_session_equal(key, value, msg = nil) ⇒ Object
105 106 107 108 |
# File 'lib/og/test/assertions.rb', line 105 def assert_session_equal(key, value, msg = nil) msg = format_msg("The value of session object '#{key}' is '#{@context.session[key]}' but was expected '#{value}'", msg) assert_block(msg) { @context.session[key] == value } end |
#assert_session_has(key, msg = nil) ⇒ Object
95 96 97 98 |
# File 'lib/og/test/assertions.rb', line 95 def assert_session_has(key, msg = nil) msg = format_msg("Object '#{key}' not found in session", msg) assert_block(msg) { @context.session[key] } end |
#assert_session_has_no(key, msg = nil) ⇒ Object
100 101 102 103 |
# File 'lib/og/test/assertions.rb', line 100 def assert_session_has_no(key, msg = nil) msg = format_msg("Unexpected object '#{key}' found in session", msg) assert_block(msg) { !@context.session[key] } end |
#assert_status(status, msg) ⇒ Object
32 33 34 35 |
# File 'lib/og/test/assertions.rb', line 32 def assert_status(status, msg) msg = format_msg("Status not '#{status}'", msg) assert_block(msg) { @context.status == status } end |
#format_msg(message, extra) ⇒ Object
:section: Utility methods
168 169 170 171 |
# File 'lib/og/test/assertions.rb', line 168 def format_msg(, extra) # :nodoc: extra += ', ' if extra return "#{extra}#{}" end |