# File lib/jquery/assert_select.rb, line 48
      def assert_select_jquery(*args, &block)
        jquery_method = args.first.is_a?(Symbol) ? args.shift : nil
        jquery_opt    = args.first.is_a?(Symbol) ? args.shift : nil
        id            = args.first.is_a?(String) ? args.shift : nil

        pattern = "\\.#{jquery_method || '\\w+'}\\("
        pattern = "#{pattern}['\"]#{jquery_opt}['\"],?\\s*" if jquery_opt
        pattern = "#{pattern}#{PATTERN_HTML}"
        pattern = "(?:jQuery|\\$)\\(['\"]#{id}['\"]\\)#{pattern}" if id

        fragments = []
        response.body.scan(Regexp.new(pattern)).each do |match|
          doc = HTML::Document.new(unescape_js(match.first))
          doc.root.children.each do |child|
            fragments.push child if child.tag?
          end
        end

        if fragments.empty?
          opts = [jquery_method, jquery_opt, id].compact
          flunk "No JQuery call matches #{opts.inspect}"
        end

        if block
          begin
            in_scope, @selected = @selected, fragments
            yield
          ensure
            @selected = in_scope
          end
        end
      end