Sha256: 15528d7102ff0ffa8833f4529ae71f527529136ea82e3c544541a93fa44c53d6

Contents?: true

Size: 1.8 KB

Versions: 49

Compression:

Stored size: 1.8 KB

Contents

require "webrat/core_extensions/meta_class"

module Webrat

  def self.nokogiri_document(stringlike) #:nodoc:
    return stringlike.dom if stringlike.respond_to?(:dom)

    if Nokogiri::HTML::Document === stringlike
      stringlike
    elsif Nokogiri::XML::NodeSet === stringlike
      stringlike
    elsif StringIO === stringlike
      Nokogiri::HTML(stringlike.string)
    elsif stringlike.respond_to?(:body)
      Nokogiri::HTML(stringlike.body.to_s)
    else
      Nokogiri::HTML(stringlike.to_s)
    end
  end

  def self.html_nokogiri_document(stringlike) #:nodoc:
    return stringlike.dom if stringlike.respond_to?(:dom)

    if Nokogiri::HTML::Document === stringlike
      stringlike
    elsif Nokogiri::XML::NodeSet === stringlike
      stringlike
    elsif StringIO === stringlike
      Nokogiri::HTML(stringlike.string)
    elsif stringlike.respond_to?(:body)
      Nokogiri::HTML(stringlike.body.to_s)
    else
      Nokogiri::HTML(stringlike.to_s)
    end
  end

  def self.xml_nokogiri_document(stringlike) #:nodoc:
    return stringlike.dom if stringlike.respond_to?(:dom)

    if Nokogiri::HTML::Document === stringlike
      stringlike
    elsif Nokogiri::XML::NodeSet === stringlike
      stringlike
    elsif StringIO === stringlike
      Nokogiri::XML(stringlike.string)
    elsif stringlike.respond_to?(:body)
      Nokogiri::XML(stringlike.body.to_s)
    else
      Nokogiri::XML(stringlike.to_s)
    end
  end

  def self.define_dom_method(object, dom) #:nodoc:
    object.meta_class.send(:define_method, :dom) do
      dom
    end
  end

end


module Nokogiri #:nodoc:
  module CSS #:nodoc:
    class XPathVisitor #:nodoc:

      def visit_pseudo_class_text(node) #:nodoc:
        "@type='text'"
      end

      def visit_pseudo_class_password(node) #:nodoc:
        "@type='password'"
      end

    end
  end
end

Version data entries

49 entries across 49 versions & 21 rubygems

Version Path
aslakhellesoy-webrat-0.4.4.1 lib/webrat/core/xml/nokogiri.rb
casebook-webrat-0.4.4.1 lib/webrat/core/xml/nokogiri.rb
cavalle-webrat-0.4.4.1 lib/webrat/core/xml/nokogiri.rb
cavalle-webrat-0.4.4.2 lib/webrat/core/xml/nokogiri.rb
davidtrogers-webrat-0.4.4.2 lib/webrat/core/xml/nokogiri.rb
dbrady-webrat-0.4.4.1 lib/webrat/core/xml/nokogiri.rb
dbrady-webrat-0.4.4.2 lib/webrat/core/xml/nokogiri.rb
dbrady-webrat-0.4.4 lib/webrat/core/xml/nokogiri.rb
diabolo-diabolo-webrat-0.4.4 lib/webrat/core/xml/nokogiri.rb
diabolo-webrat-0.4.3 lib/webrat/core/xml/nokogiri.rb
diabolo-webrat-0.4.4.1 lib/webrat/core/xml/nokogiri.rb
diabolo-webrat-0.4.4.2 lib/webrat/core/xml/nokogiri.rb
diabolo-webrat-0.4.4 lib/webrat/core/xml/nokogiri.rb
dstrelau-webrat-0.5.1 lib/webrat/core/xml/nokogiri.rb
emipair-webrat-0.0.1 lib/webrat/core/xml/nokogiri.rb
futuresinc-webrat-0.4.4.100 lib/webrat/core/xml/nokogiri.rb
futuresinc-webrat-0.4.4.99 lib/webrat/core/xml/nokogiri.rb
garnierjm-webrat-0.4.5 lib/webrat/core/xml/nokogiri.rb
hardbap-webrat-0.5.1 lib/webrat/core/xml/nokogiri.rb
hardbap-webrat-0.5.2 lib/webrat/core/xml/nokogiri.rb