Module: Capybara::RSpecMatchers

Defined in:
lib/capybara/rspec/matchers.rb,
lib/capybara/rspec/matchers/base.rb,
lib/capybara/rspec/matchers/compound.rb,
lib/capybara/rspec/matchers/have_text.rb,
lib/capybara/rspec/matchers/have_title.rb,
lib/capybara/rspec/matchers/count_sugar.rb,
lib/capybara/rspec/matchers/match_style.rb,
lib/capybara/rspec/matchers/match_style.rb,
lib/capybara/rspec/matchers/have_sibling.rb,
lib/capybara/rspec/matchers/become_closed.rb,
lib/capybara/rspec/matchers/have_ancestor.rb,
lib/capybara/rspec/matchers/have_selector.rb,
lib/capybara/rspec/matchers/spatial_sugar.rb,
lib/capybara/rspec/matchers/match_selector.rb,
lib/capybara/rspec/matchers/have_current_path.rb

Defined Under Namespace

Modules: CountSugar, Matchers, SpatialSugar

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)

    a customizable set of options

Options Hash (**options):



203
204
205
# File 'lib/capybara/rspec/matchers.rb', line 203

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

#have_all_of_selectorsObject

RSpec matcher for whether the element(s) matching a group of selectors exist.



25
26
27
# File 'lib/capybara/rspec/matchers.rb', line 25

def have_all_of_selectors(...)
  Matchers::HaveAllSelectors.new(...)
end

#have_ancestorObject

RSpec matcher for whether ancestor element(s) matching a given selector exist.



192
193
194
# File 'lib/capybara/rspec/matchers.rb', line 192

def have_ancestor(...)
  Matchers::HaveAncestor.new(...)
end

#have_any_of_selectorsObject

RSpec matcher for whether the element(s) matching any of a group of selectors exist.



39
40
41
# File 'lib/capybara/rspec/matchers.rb', line 39

def have_any_of_selectors(...)
  Matchers::HaveAnySelectors.new(...)
end

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

RSpec matcher for buttons.



# File 'lib/capybara/rspec/matchers.rb', line 96

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

RSpec matcher for checked fields.



# File 'lib/capybara/rspec/matchers.rb', line 122

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

RSpec matcher for whether elements(s) matching a given css selector exist



# File 'lib/capybara/rspec/matchers.rb', line 65

#have_current_path(path, **options, &optional_filter_block) ⇒ Object

RSpec matcher for the current path.



147
148
149
# File 'lib/capybara/rspec/matchers.rb', line 147

def have_current_path(path, **options, &optional_filter_block)
  Matchers::HaveCurrentPath.new(path, **options, &optional_filter_block)
end

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

RSpec matcher for elements.



# File 'lib/capybara/rspec/matchers.rb', line 86

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

RSpec matcher for form fields.



# File 'lib/capybara/rspec/matchers.rb', line 101

RSpec matcher for links.



# File 'lib/capybara/rspec/matchers.rb', line 91

#have_none_of_selectorsObject

RSpec matcher for whether no element(s) matching a group of selectors exist.



32
33
34
# File 'lib/capybara/rspec/matchers.rb', line 32

def have_none_of_selectors(...)
  Matchers::HaveNoSelectors.new(...)
end

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

RSpec matcher for select elements.



# File 'lib/capybara/rspec/matchers.rb', line 106

#have_selectorObject

RSpec matcher for whether the element(s) matching a given selector exist.



18
19
20
# File 'lib/capybara/rspec/matchers.rb', line 18

def have_selector(...)
  Matchers::HaveSelector.new(...)
end

#have_siblingObject

RSpec matcher for whether sibling element(s) matching a given selector exist.



185
186
187
# File 'lib/capybara/rspec/matchers.rb', line 185

def have_sibling(...)
  Matchers::HaveSibling.new(...)
end

#have_style(styles = nil, **options) ⇒ Object

Deprecated.


162
163
164
165
# File 'lib/capybara/rspec/matchers.rb', line 162

def have_style(styles = nil, **options)
  Capybara::Helpers.warn "DEPRECATED: have_style is deprecated, please use match_style : #{Capybara::Helpers.filter_backtrace(caller)}"
  match_style(styles, **options)
end

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

RSpec matcher for table elements.



116
117
118
119
120
# File 'lib/capybara/rspec/matchers.rb', line 116

%i[checked unchecked].each do |state|
  define_method "have_#{state}_field" do |locator = nil, **options, &optional_filter_block|
    Matchers::HaveSelector.new(:field, locator, **options.merge(state => true), &optional_filter_block)
  end
end

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

RSpec matcher for text content.



135
136
137
# File 'lib/capybara/rspec/matchers.rb', line 135

def have_text(text_or_type, *args, **options)
  Matchers::HaveText.new(text_or_type, *args, **options)
end

#have_title(title, **options) ⇒ Object



140
141
142
# File 'lib/capybara/rspec/matchers.rb', line 140

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

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

RSpec matcher for unchecked fields.



# File 'lib/capybara/rspec/matchers.rb', line 127

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

RSpec matcher for whether elements(s) matching a given xpath selector exist.



# File 'lib/capybara/rspec/matchers.rb', line 60

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

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



80
81
82
83
84
# File 'lib/capybara/rspec/matchers.rb', line 80

%i[link button field select table element].each do |selector|
  define_method "have_#{selector}" do |locator = nil, **options, &optional_filter_block|
    Matchers::HaveSelector.new(selector, locator, **options, &optional_filter_block)
  end
end

#match_selectorObject

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



46
47
48
# File 'lib/capybara/rspec/matchers.rb', line 46

def match_selector(...)
  Matchers::MatchSelector.new(...)
end

#match_style(styles = nil, **options) ⇒ Object

RSpec matcher for element style.



154
155
156
157
# File 'lib/capybara/rspec/matchers.rb', line 154

def match_style(styles = nil, **options)
  styles, options = options, {} if styles.nil?
  Matchers::MatchStyle.new(styles, **options)
end

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

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



# File 'lib/capybara/rspec/matchers.rb', line 70