class Mechanize::TestCase

Constants

REQUESTS
TEST_DIR

Public Instance Methods

fake_page(agent = @mech) click to toggle source
# File lib/mechanize/test_case.rb, line 31
  def fake_page agent = @mech
    uri = URI 'http://fake.example/'
    html = "<html>
<body>
<form><input type="submit" value="submit" /></form>
</body>
</html>
"

    Mechanize::Page.new uri, nil, html, 200, agent
  end
have_encoding?() click to toggle source
# File lib/mechanize/test_case.rb, line 44
def have_encoding?
  Object.const_defined? :Encoding
end
html_page(body) click to toggle source
# File lib/mechanize/test_case.rb, line 48
def html_page body
  uri = URI 'http://example/'
  Mechanize::Page.new uri, nil, body, 200, @mech
end
in_tmpdir() { || ... } click to toggle source
# File lib/mechanize/test_case.rb, line 53
def in_tmpdir
  Dir.mktmpdir do |dir|
    Dir.chdir dir do
      yield
    end
  end
end
node(element, attributes = {}) click to toggle source
# File lib/mechanize/test_case.rb, line 61
def node element, attributes = {}
  doc = Nokogiri::HTML::Document.new

  node = Nokogiri::XML::Node.new element, doc

  attributes.each do |name, value|
    node[name] = value
  end

  node
end
page(uri, content_type = 'text/html', body = '', code = 200) click to toggle source
# File lib/mechanize/test_case.rb, line 73
def page uri, content_type = 'text/html', body = '', code = 200
  uri = URI uri unless URI::Generic === uri

  Mechanize::Page.new(uri, { 'content-type' => content_type }, body, code,
                      @mech)
end
requests() click to toggle source
# File lib/mechanize/test_case.rb, line 80
def requests
  REQUESTS
end
setup() click to toggle source
# File lib/mechanize/test_case.rb, line 22
def setup
  super

  REQUESTS.clear
  @mech = Mechanize.new
  @ssl_private_key = nil
  @ssl_certificate = nil
end
ssl_certificate() click to toggle source
# File lib/mechanize/test_case.rb, line 95
  def ssl_certificate
    @ssl_certificate ||= OpenSSL::X509::Certificate.new "-----BEGIN CERTIFICATE-----
MIIBQjCB7aADAgECAgEAMA0GCSqGSIb3DQEBBQUAMCoxDzANBgNVBAMMBm5vYm9k
eTEXMBUGCgmSJomT8ixkARkWB2V4YW1wbGUwIBcNMTExMTAzMjEwODU5WhgPOTk5
OTEyMzExMjU5NTlaMCoxDzANBgNVBAMMBm5vYm9keTEXMBUGCgmSJomT8ixkARkW
B2V4YW1wbGUwWjANBgkqhkiG9w0BAQEFAANJADBGAkEA8pmEfmP0Ibir91x6pbts
4JmmsVZd3xvD5p347EFvBCbhBW1nv1GsbCBEFlSiT1q2qvxGb5IlbrfdhdgyqdTX
UQIBATANBgkqhkiG9w0BAQUFAANBAAAB////////////////////////////////
//8AMCEwCQYFKw4DAhoFAAQUePiv+QrJxyjtEJNnH5pB9OTWIqA=
-----END CERTIFICATE-----
"
  end
ssl_private_key() click to toggle source
# File lib/mechanize/test_case.rb, line 84
  def ssl_private_key
    @ssl_private_key ||= OpenSSL::PKey::RSA.new "-----BEGIN RSA PRIVATE KEY-----
MIG7AgEAAkEA8pmEfmP0Ibir91x6pbts4JmmsVZd3xvD5p347EFvBCbhBW1nv1Gs
bCBEFlSiT1q2qvxGb5IlbrfdhdgyqdTXUQIBAQIBAQIhAPumXslvf6YasXa1hni3
p80joKOug2UUgqOLD2GUSO//AiEA9ssY6AFxjHWuwo/+/rkLmkfO2s1Lz3OeUEWq
6DiHOK8CAQECAQECIQDt8bc4vS6wh9VXApNSKIpVygtxSFe/IwLeX26n77j6Qg==
-----END RSA PRIVATE KEY-----
"
  end
tempfile(content) click to toggle source
# File lib/mechanize/test_case.rb, line 109
def tempfile content
  body_io = Tempfile.new @__name__
  body_io.unlink
  body_io.write content
  body_io.flush
  body_io.rewind

  body_io
end