mechanize 2.0.pre.1 → 2.0.pre.2
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of mechanize might be problematic. Click here for more details.
- data.tar.gz.sig +2 -2
- data/CHANGELOG.rdoc +24 -2
- data/Manifest.txt +15 -19
- data/Rakefile +6 -3
- data/lib/mechanize.rb +168 -28
- data/lib/mechanize/form.rb +14 -2
- data/lib/mechanize/page.rb +43 -14
- data/lib/mechanize/page/link.rb +10 -0
- data/lib/mechanize/redirect_not_get_or_head_error.rb +2 -1
- data/lib/mechanize/robots_disallowed_error.rb +29 -0
- data/lib/mechanize/util.rb +30 -6
- data/test/helper.rb +6 -0
- data/test/htdocs/canonical_uri.html +9 -0
- data/test/htdocs/nofollow.html +9 -0
- data/test/htdocs/noindex.html +9 -0
- data/test/htdocs/norobots.html +8 -0
- data/test/htdocs/rel_nofollow.html +8 -0
- data/test/htdocs/robots.html +8 -0
- data/test/htdocs/robots.txt +2 -0
- data/test/htdocs/tc_links.html +3 -3
- data/test/test_links.rb +9 -0
- data/test/test_mechanize.rb +617 -2
- data/test/{test_forms.rb → test_mechanize_form.rb} +45 -1
- data/test/test_mechanize_form_check_box.rb +37 -0
- data/test/test_mechanize_form_encoding.rb +118 -0
- data/test/{test_field_precedence.rb → test_mechanize_form_field.rb} +4 -16
- data/test/test_mechanize_page.rb +60 -1
- data/test/test_mechanize_redirect_not_get_or_head_error.rb +18 -0
- data/test/test_mechanize_subclass.rb +22 -0
- data/test/test_mechanize_util.rb +87 -2
- data/test/test_robots.rb +87 -0
- metadata +51 -43
- metadata.gz.sig +0 -0
- data/lib/mechanize/uri_resolver.rb +0 -82
- data/test/test_authenticate.rb +0 -71
- data/test/test_bad_links.rb +0 -25
- data/test/test_blank_form.rb +0 -16
- data/test/test_checkboxes.rb +0 -61
- data/test/test_content_type.rb +0 -13
- data/test/test_encoded_links.rb +0 -20
- data/test/test_errors.rb +0 -49
- data/test/test_follow_meta.rb +0 -119
- data/test/test_get_headers.rb +0 -52
- data/test/test_gzipping.rb +0 -22
- data/test/test_hash_api.rb +0 -45
- data/test/test_mech.rb +0 -283
- data/test/test_mech_proxy.rb +0 -16
- data/test/test_mechanize_uri_resolver.rb +0 -29
- data/test/test_redirect_verb_handling.rb +0 -49
- data/test/test_subclass.rb +0 -30
data/test/test_mech_proxy.rb
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
require "helper"
|
2
|
-
|
3
|
-
class TestMechProxy< Test::Unit::TestCase
|
4
|
-
def setup
|
5
|
-
@agent = Mechanize.new
|
6
|
-
end
|
7
|
-
|
8
|
-
def test_set_proxy
|
9
|
-
@agent.set_proxy('www.example.com', 9001, 'joe', 'lol')
|
10
|
-
|
11
|
-
assert_equal(@agent.http.proxy_uri.host, 'www.example.com')
|
12
|
-
assert_equal(@agent.http.proxy_uri.port, 9001)
|
13
|
-
assert_equal(@agent.http.proxy_uri.user, 'joe')
|
14
|
-
assert_equal(@agent.http.proxy_uri.password, 'lol')
|
15
|
-
end
|
16
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
|
3
|
-
require 'helper'
|
4
|
-
require 'mechanize/uri_resolver'
|
5
|
-
|
6
|
-
class TestMechanizeURIResolver < Test::Unit::TestCase
|
7
|
-
|
8
|
-
def setup
|
9
|
-
@r = Mechanize::URIResolver.new
|
10
|
-
end
|
11
|
-
|
12
|
-
def test_resolve_bad_uri
|
13
|
-
e = assert_raises ArgumentError do
|
14
|
-
@r.resolve 'google'
|
15
|
-
end
|
16
|
-
|
17
|
-
assert_equal 'absolute URL needed (not google)', e.message
|
18
|
-
end
|
19
|
-
|
20
|
-
def test_resolve_utf8
|
21
|
-
uri = 'http://example?q=ü'
|
22
|
-
|
23
|
-
resolved = @r.resolve uri
|
24
|
-
|
25
|
-
assert_equal '/?q=%C3%BC', resolved.request_uri
|
26
|
-
end
|
27
|
-
|
28
|
-
end
|
29
|
-
|
@@ -1,49 +0,0 @@
|
|
1
|
-
require "helper"
|
2
|
-
|
3
|
-
class TestRedirectNotGetOrHead < Test::Unit::TestCase
|
4
|
-
def setup
|
5
|
-
@agent = Mechanize.new
|
6
|
-
end
|
7
|
-
|
8
|
-
def test_to_s
|
9
|
-
page = MechTestHelper.fake_page(@agent)
|
10
|
-
error = Mechanize::RedirectNotGetOrHeadError.new(page, :put)
|
11
|
-
assert_match(/put/, error.to_s)
|
12
|
-
end
|
13
|
-
|
14
|
-
def test_head_redirect_results_in_head_request
|
15
|
-
page = @agent.head('http://localhost/redirect')
|
16
|
-
assert_equal(page.uri.to_s, 'http://localhost/verb')
|
17
|
-
assert_equal 'HEAD', page.header['X-Request-Method']
|
18
|
-
end
|
19
|
-
|
20
|
-
def test_get_takes_a_verb
|
21
|
-
page = @agent.get(:url => 'http://localhost/redirect', :verb => :head)
|
22
|
-
assert_equal(page.uri.to_s, 'http://localhost/verb')
|
23
|
-
assert_equal 'HEAD', page.header['X-Request-Method']
|
24
|
-
end
|
25
|
-
|
26
|
-
def test_get_redirect_results_in_get_request
|
27
|
-
page = @agent.get('http://localhost/redirect')
|
28
|
-
assert_equal(page.uri.to_s, 'http://localhost/verb')
|
29
|
-
assert_equal 'GET', page.header['X-Request-Method']
|
30
|
-
end
|
31
|
-
|
32
|
-
def test_post_redirect_results_in_get_request
|
33
|
-
page = @agent.post('http://localhost/redirect')
|
34
|
-
assert_equal(page.uri.to_s, 'http://localhost/verb')
|
35
|
-
assert_equal 'GET', page.header['X-Request-Method']
|
36
|
-
end
|
37
|
-
|
38
|
-
def test_put_redirect_results_in_get_request
|
39
|
-
page = @agent.put('http://localhost/redirect', 'foo')
|
40
|
-
assert_equal(page.uri.to_s, 'http://localhost/verb')
|
41
|
-
assert_equal 'GET', page.header['X-Request-Method']
|
42
|
-
end
|
43
|
-
|
44
|
-
def test_delete_redirect_results_in_get_request
|
45
|
-
page = @agent.delete('http://localhost/redirect')
|
46
|
-
assert_equal(page.uri.to_s, 'http://localhost/verb')
|
47
|
-
assert_equal 'GET', page.header['X-Request-Method']
|
48
|
-
end
|
49
|
-
end
|
data/test/test_subclass.rb
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
require "helper"
|
2
|
-
|
3
|
-
class TestSubclass < Test::Unit::TestCase
|
4
|
-
def setup
|
5
|
-
@agent = Mechanize.new
|
6
|
-
end
|
7
|
-
|
8
|
-
def test_send_cookie
|
9
|
-
page = @agent.get( :url => "http://localhost/send_cookies",
|
10
|
-
:headers => {'Cookie' => 'name=Aaron'} )
|
11
|
-
assert_equal(1, page.links.length)
|
12
|
-
assert_not_nil(page.links.find { |l| l.text == "name:Aaron" })
|
13
|
-
end
|
14
|
-
|
15
|
-
class Parent < Mechanize
|
16
|
-
@html_parser = :parser
|
17
|
-
@log = :log
|
18
|
-
end
|
19
|
-
|
20
|
-
class Child < Parent
|
21
|
-
end
|
22
|
-
|
23
|
-
def test_subclass_inherits_html_parser
|
24
|
-
assert_equal :parser, Child.html_parser
|
25
|
-
end
|
26
|
-
|
27
|
-
def test_subclass_inherits_log
|
28
|
-
assert_equal :log, Child.log
|
29
|
-
end
|
30
|
-
end
|