module Capybara::RSpecMatchers::Matchers::Compound::Synchronizer

def match(_expected, actual)

def match(_expected, actual)
  @evaluator = CapybaraEvaluator.new(actual)
  syncer = sync_element(actual)
  begin
    syncer.synchronize do
      @evaluator.reset
      raise ::Capybara::ElementNotFound unless synchronized_match?
      true
    end
  rescue StandardError
    false
  end
end

def sync_element(el)

def sync_element(el)
  if el.respond_to? :synchronize
    el
  elsif el.respond_to? :current_scope
    el.current_scope
  else
    Capybara.string(el)
  end
end