Module: Test::Unit::Capybara::Assertions
- Defined in:
- lib/test/unit/capybara.rb
Constant Summary collapse
Instance Method Summary collapse
-
#assert_all(*args) ⇒ Array<::Capybara::Element>
The found elements.
-
#assert_body(expected, options = {}) {|expected_response, actual_response| ... } ⇒ Object
Passes if @expected@ == @source@.
- #assert_not_find(*args, &block) ⇒ Object
-
#flunk_find(base_node, options = {}) ⇒ Object
Fails always with Capybara::Node::Element is not found message.
Instance Method Details
#assert_all(*args) ⇒ Array<::Capybara::Element> #assert_all(node, *args) ⇒ Array<::Capybara::Element>
Returns The found elements.
271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 |
# File 'lib/test/unit/capybara.rb', line 271 def assert_all(*args) node = nil node = args.shift if args[0].is_a?(::Capybara::Node::Base) args = normalize_page_finder_arguments(args) format = <<-EOT <?>(?) expected to find one or more elements in <?> EOT current_context = node || page.send(:current_scope) current_context_source = node_source(current_context) = AssertionMessage.literal(current_context_source) = (args[:message], format, args[:locator], args[:kind], ) if node elements = node.all(*args[:finder_arguments]) else elements = all(*args[:finder_arguments]) end assert_block() do not elements.empty? end elements end |
#assert_body(expected, options = {}) {|expected_response, actual_response| ... } ⇒ Object
Passes if @expected@ == @source@. @source@ is a method provided by Capybara::DSL.
@source@ may be parsed depended on response Content-Type before comparing. Here are parsed Content-Types:
-
@“application/json”@ := It’s parsed by @JSON.parse@.
191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 |
# File 'lib/test/unit/capybara.rb', line 191 def assert_body(expected, ={}, &block) content_type = [:content_type] actual_response = { :content_type => page_content_type, :body => parsed_page_body, } expected_response = {:body => expected} if content_type expected_response[:content_type] = normalize_content_type(content_type) else actual_response.delete(:content_type) end if block_given? expected_response, actual_response = yield(expected_response, actual_response) end assert_equal(expected_response, actual_response) end |
#assert_not_find(*args, &block) ⇒ Object #assert_not_find(node, *args, &block) ⇒ Object
368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 |
# File 'lib/test/unit/capybara.rb', line 368 def assert_not_find(*args, &block) node = nil node = args.shift if args[0].is_a?(::Capybara::Node::Base) args = normalize_page_finder_arguments(args) if node element = node.first(*args[:finder_arguments]) else element = first(*args[:finder_arguments]) end format = <<-EOT <?>(?) expected to not find a element but was <?> in <?> EOT element_source = nil element_source = node_source(element) if element current_context = node || page.send(:current_scope) current_context_source = node_source(current_context) = AssertionMessage.literal(current_context_source) = (args[:message], format, args[:locator], args[:kind], AssertionMessage.literal(element_source), ) assert_block() do element.nil? end end |
#flunk_find(base_node, options = {}) ⇒ Object
Fails always with Capybara::Node::Element is not found message.
412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 |
# File 'lib/test/unit/capybara.rb', line 412 def flunk_find(base_node, ={}) format = <<-EOT <?>(?) expected to find a element in <?> EOT base_html = AssertionMessage.literal(node_source(base_node)) = ([:message], format, [:locator], [:kind], base_html) assert_block() do false end end |