Sha256: 7d4afe6a64e5b14a76114d313b05d60940b28bfb919b39c37edc67fcf4b5430e
Contents?: true
Size: 1.11 KB
Versions: 6
Compression:
Stored size: 1.11 KB
Contents
# frozen_string_literal: true require 'rspec_html/matchers/base' require 'rspec_html/matchers/contain_tag' require 'rspec_html/matchers/match_text' module RSpecHTML # Provides matchers for identifying elements and text within a DOM element. module Matchers extend RSpec::Matchers::DSL extend RSpec::Matchers::DSL::Macros # rubocop:disable Metrics/MethodLength def self.define_matcher(name, class_) matcher name do |expected, options| rspec_html_matcher = class_.new(expected, options || {}) match do |actual| rspec_html_matcher .save_actual(actual) .match(actual, expected_count: @expected_count, expected_count_type: @expected_count_type) .tap { @actual = rspec_html_matcher.rspec_actual } end description { rspec_html_matcher.description } include Countable failure_message { rspec_html_matcher.failure_message } diffable if class_.diffable? end end # rubocop:enable Metrics/MethodLength define_matcher(:contain_tag, ContainTag) define_matcher(:match_text, MatchText) end end
Version data entries
6 entries across 6 versions & 1 rubygems