Module: Capybara::RSpecMatchers

Defined in:
lib/capybara/rspec/compound.rb,
lib/capybara/rspec/matchers.rb

Defined Under Namespace

Modules: Compound Classes: BecomeClosed, HaveAllSelectors, HaveCurrentPath, HaveNoSelectors, HaveSelector, HaveText, HaveTitle, MatchSelector, Matcher, NegatedMatcher

Instance Method Summary collapse

Instance Method Details

#become_closed(**options) ⇒ Object

Wait for window to become closed.

Examples:

expect(window).to become_closed(wait: 0.8)

Parameters:

  • options (Hash)

    optional param

Options Hash (**options):

  • :wait (Numeric) — default: Capybara.default_max_wait_time

    Maximum wait time



381
382
383
# File 'lib/capybara/rspec/matchers.rb', line 381

def become_closed(**options)
  BecomeClosed.new(options)
end

#have_all_of_selectors(*args, &optional_filter_block) ⇒ Object

RSpec matcher for whether the element(s) matching a group of selectors exist See Node::Matcher#assert_all_of_selectors



265
266
267
# File 'lib/capybara/rspec/matchers.rb', line 265

def have_all_of_selectors(*args, &optional_filter_block)
  HaveAllSelectors.new(*args, &optional_filter_block)
end

#have_button(locator = nil, **options, &optional_filter_block) ⇒ Object

RSpec matcher for buttons See Node::Matchers#has_button?



328
329
330
# File 'lib/capybara/rspec/matchers.rb', line 328

def have_button(locator = nil, **options, &optional_filter_block)
  HaveSelector.new(:button, locator, options, &optional_filter_block)
end

#have_checked_field(locator = nil, **options, &optional_filter_block) ⇒ Object

RSpec matcher for checked fields See Node::Matchers#has_checked_field?



340
341
342
# File 'lib/capybara/rspec/matchers.rb', line 340

def have_checked_field(locator = nil, **options, &optional_filter_block)
  HaveSelector.new(:field, locator, options.merge(checked: true), &optional_filter_block)
end

#have_css(css, **options, &optional_filter_block) ⇒ Object

RSpec matcher for whether elements(s) matching a given css selector exist See Node::Matchers#has_css?



294
295
296
# File 'lib/capybara/rspec/matchers.rb', line 294

def have_css(css, **options, &optional_filter_block)
  HaveSelector.new(:css, css, options, &optional_filter_block)
end

#have_current_path(path, **options) ⇒ Object

RSpec matcher for the current path See SessionMatchers#assert_current_path



316
317
318
# File 'lib/capybara/rspec/matchers.rb', line 316

def have_current_path(path, **options)
  HaveCurrentPath.new(path, options)
end

#have_field(locator = nil, **options, &optional_filter_block) ⇒ Object

RSpec matcher for links See Node::Matchers#has_field?



334
335
336
# File 'lib/capybara/rspec/matchers.rb', line 334

def have_field(locator = nil, **options, &optional_filter_block)
  HaveSelector.new(:field, locator, options, &optional_filter_block)
end

RSpec matcher for links See Node::Matchers#has_link?



322
323
324
# File 'lib/capybara/rspec/matchers.rb', line 322

def have_link(locator = nil, **options, &optional_filter_block)
  HaveSelector.new(:link, locator, options, &optional_filter_block)
end

#have_none_of_selectors(*args, &optional_filter_block) ⇒ Object

RSpec matcher for whether no element(s) matching a group of selectors exist See Node::Matcher#assert_none_of_selectors



271
272
273
# File 'lib/capybara/rspec/matchers.rb', line 271

def have_none_of_selectors(*args, &optional_filter_block)
  HaveNoSelectors.new(*args, &optional_filter_block)
end

#have_select(locator = nil, **options, &optional_filter_block) ⇒ Object

RSpec matcher for select elements See Node::Matchers#has_select?



352
353
354
# File 'lib/capybara/rspec/matchers.rb', line 352

def have_select(locator = nil, **options, &optional_filter_block)
  HaveSelector.new(:select, locator, options, &optional_filter_block)
end

#have_selector(*args, &optional_filter_block) ⇒ Object

RSpec matcher for whether the element(s) matching a given selector exist See Node::Matcher#assert_selector



259
260
261
# File 'lib/capybara/rspec/matchers.rb', line 259

def have_selector(*args, &optional_filter_block)
  HaveSelector.new(*args, &optional_filter_block)
end

#have_table(locator = nil, **options, &optional_filter_block) ⇒ Object

RSpec matcher for table elements See Node::Matchers#has_table?



358
359
360
# File 'lib/capybara/rspec/matchers.rb', line 358

def have_table(locator = nil, **options, &optional_filter_block)
  HaveSelector.new(:table, locator, options, &optional_filter_block)
end

#have_text(*args) ⇒ Object Also known as: have_content

RSpec matcher for text content See SessionMatchers#assert_text



305
306
307
# File 'lib/capybara/rspec/matchers.rb', line 305

def have_text(*args)
  HaveText.new(*args)
end

#have_title(title, **options) ⇒ Object



310
311
312
# File 'lib/capybara/rspec/matchers.rb', line 310

def have_title(title, **options)
  HaveTitle.new(title, options)
end

#have_unchecked_field(locator = nil, **options, &optional_filter_block) ⇒ Object

RSpec matcher for unchecked fields See Node::Matchers#has_unchecked_field?



346
347
348
# File 'lib/capybara/rspec/matchers.rb', line 346

def have_unchecked_field(locator = nil, **options, &optional_filter_block)
  HaveSelector.new(:field, locator, options.merge(unchecked: true), &optional_filter_block)
end

#have_xpath(xpath, **options, &optional_filter_block) ⇒ Object

RSpec matcher for whether elements(s) matching a given xpath selector exist See Node::Matchers#has_xpath?



283
284
285
# File 'lib/capybara/rspec/matchers.rb', line 283

def have_xpath(xpath, **options, &optional_filter_block)
  HaveSelector.new(:xpath, xpath, options, &optional_filter_block)
end

#match_css(css, **options, &optional_filter_block) ⇒ Object

RSpec matcher for whether the current element matches a given css selector



299
300
301
# File 'lib/capybara/rspec/matchers.rb', line 299

def match_css(css, **options, &optional_filter_block)
  MatchSelector.new(:css, css, options, &optional_filter_block)
end

#match_selector(*args, &optional_filter_block) ⇒ Object

RSpec matcher for whether the current element matches a given selector See Node::Matchers#assert_matches_selector



277
278
279
# File 'lib/capybara/rspec/matchers.rb', line 277

def match_selector(*args, &optional_filter_block)
  MatchSelector.new(*args, &optional_filter_block)
end

#match_xpath(xpath, **options, &optional_filter_block) ⇒ Object

RSpec matcher for whether the current element matches a given xpath selector



288
289
290
# File 'lib/capybara/rspec/matchers.rb', line 288

def match_xpath(xpath, **options, &optional_filter_block)
  MatchSelector.new(:xpath, xpath, options, &optional_filter_block)
end