Class: ElabsMatchers::Matchers::HaveAttribute::HaveAttributeMatcher

Inherits:
Struct
  • Object
show all
Defined in:
lib/elabs_matchers/matchers/have_attribute.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#labelObject

Returns the value of attribute label

Returns:

  • (Object)

    the current value of label



8
9
10
# File 'lib/elabs_matchers/matchers/have_attribute.rb', line 8

def label
  @label
end

#pageObject (readonly)

Returns the value of attribute page



9
10
11
# File 'lib/elabs_matchers/matchers/have_attribute.rb', line 9

def page
  @page
end

#valueObject

Returns the value of attribute value

Returns:

  • (Object)

    the current value of value



8
9
10
# File 'lib/elabs_matchers/matchers/have_attribute.rb', line 8

def value
  @value
end

Instance Method Details

#does_not_match?(page) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
19
# File 'lib/elabs_matchers/matchers/have_attribute.rb', line 16

def does_not_match?(page)
  @page = page
  page.has_no_selector?(selector_type, selector)
end

#failure_messageObject Also known as: failure_message_for_should



21
22
23
24
# File 'lib/elabs_matchers/matchers/have_attribute.rb', line 21

def failure_message
  attributes = page.all(:css, "li.wrapper").map(&:text).to_sentence
  "expected there to be an attribute #{label}: #{value}, but the only attributes were: #{attributes}."
end

#failure_message_when_negatedObject Also known as: failure_message_for_should_not



27
28
29
# File 'lib/elabs_matchers/matchers/have_attribute.rb', line 27

def failure_message_when_negated
  "expected there to be no attribute #{label}: #{value}, but there was."
end

#matches?(page) ⇒ Boolean

Returns:

  • (Boolean)


11
12
13
14
# File 'lib/elabs_matchers/matchers/have_attribute.rb', line 11

def matches?(page)
  @page = page
  page.has_selector?(selector_type, selector)
end