Module: Test::Unit::Assertions
- Defined in:
- lib/nitro/test/assertions.rb
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
71 72 73 74 |
# File 'lib/nitro/test/assertions.rb', line 71 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.
108 109 110 111 112 113 114 115 116 117 118 119 |
# File 'lib/nitro/test/assertions.rb', line 108 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
131 132 133 134 135 136 137 138 |
# File 'lib/nitro/test/assertions.rb', line 131 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
121 122 123 124 |
# File 'lib/nitro/test/assertions.rb', line 121 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
126 127 128 129 |
# File 'lib/nitro/test/assertions.rb', line 126 def (name, msg = nil) msg = format_msg("Unexpected cookie '#{name}' found", msg) assert_block(msg) { !@context.(name) } end |
#assert_not_redirected(options = {}) ⇒ Object
156 157 158 159 160 |
# File 'lib/nitro/test/assertions.rb', line 156 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
46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/nitro/test/assertions.rb', line 46 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
59 60 61 62 |
# File 'lib/nitro/test/assertions.rb', line 59 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
65 66 67 68 |
# File 'lib/nitro/test/assertions.rb', line 65 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.
144 145 146 147 148 149 150 151 152 153 154 |
# File 'lib/nitro/test/assertions.rb', line 144 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.
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/nitro/test/assertions.rb', line 17 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.
78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/nitro/test/assertions.rb', line 78 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
101 102 103 104 |
# File 'lib/nitro/test/assertions.rb', line 101 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
91 92 93 94 |
# File 'lib/nitro/test/assertions.rb', line 91 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
96 97 98 99 |
# File 'lib/nitro/test/assertions.rb', line 96 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
28 29 30 31 |
# File 'lib/nitro/test/assertions.rb', line 28 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
164 165 166 167 |
# File 'lib/nitro/test/assertions.rb', line 164 def format_msg(, extra) # :nodoc: extra += ', ' if extra return "#{extra}#{}" end |