class Rails::Dom::Testing::Assertions::SelectorAssertions::HTMLSelector
def extract_equality_tests(refute)
def extract_equality_tests(refute) comparisons = {} case comparator = @values.shift when Hash comparisons = comparator when String, Regexp comparisons[:text] = comparator when Integer comparisons[:count] = comparator when Range comparisons[:minimum] = comparator.begin comparisons[:maximum] = comparator.end when FalseClass comparisons[:count] = 0 when NilClass, TrueClass comparisons[:minimum] = 1 else raise ArgumentError, "I don't understand what you're trying to match" end if refute if comparisons[:count] || (comparisons[:minimum] && !comparator.nil?) || comparisons[:maximum] raise ArgumentError, "Cannot use true, false, Integer, Range, :count, :minimum and :maximum when asserting that a selector does not match" end comparisons[:count] = 0 end # By default we're looking for at least one match. if comparisons[:count] comparisons[:minimum] = comparisons[:maximum] = comparisons[:count] else comparisons[:minimum] ||= 1 end if comparisons[:minimum] && comparisons[:maximum] && comparisons[:minimum] > comparisons[:maximum] raise ArgumentError, "Range begin or :minimum cannot be greater than Range end or :maximum" end @strict = comparisons[:strict] comparisons end