Module: Minitest::Extra::Matchers::DOM

Defined in:
lib/minitest/extra/matchers/dom.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(_) ⇒ Object



7
8
9
10
# File 'lib/minitest/extra/matchers/dom.rb', line 7

def self.included(_)
  Object.infect_an_assertion :assert_dom_equal, :must_equal_dom
  Object.infect_an_assertion :assert_attr_equal, :must_have_attr
end

Instance Method Details

#assert_attr_equal(value, element, name) ⇒ Object



22
23
24
25
26
# File 'lib/minitest/extra/matchers/dom.rb', line 22

def assert_attr_equal(value, element, name)
  actual = Nokogiri::HTML.fragment(element).child.attr(name)

  assert_equal value, actual
end

#assert_dom_equal(expected, actual, opts = {}) ⇒ Object



12
13
14
15
16
17
18
19
20
# File 'lib/minitest/extra/matchers/dom.rb', line 12

def assert_dom_equal(expected, actual, opts = {})
  expected_dom = Nokogiri::HTML.fragment(expected)
  actual_dom   = Nokogiri::HTML.fragment(actual)

  assert(EquivalentXml.equivalent?(actual, expected, opts),
         ['expected:', expected_dom.to_s,
          'actual:', actual_dom.to_s].join("\n"))

end