Class: ElabsMatchers::Matchers::HaveImage::HaveImageMatcher

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#pageObject (readonly)

Returns the value of attribute page



9
10
11
# File 'lib/elabs_matchers/matchers/have_image.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_image.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_image.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
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/elabs_matchers/matchers/have_image.rb', line 21

def failure_message
  images = page.all("img").map do |image|
    hash = {}
    hash[:alt]   = image[:alt]   if image[:alt].present?
    hash[:src]   = image[:src]   if image[:src].present?
    hash[:id]    = image[:id]    if image[:id].present?
    hash[:class] = image[:class] if image[:class].present?
    hash
  end.to_sentence

  if ElabsMatchers.image_selector.nil?
    "expected image alt to be '#{value}' but only had the images: #{images}."
  else
    "expected to find image '#{value}' but only had the images: #{images}."
  end
end

#failure_message_when_negatedObject Also known as: failure_message_for_should_not



39
40
41
# File 'lib/elabs_matchers/matchers/have_image.rb', line 39

def failure_message_when_negated
  "expected image not to be '#{value}' but it was."
end

#matches?(page) ⇒ Boolean

Returns:

  • (Boolean)


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

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