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.

Files changed (50) hide show
  1. data.tar.gz.sig +2 -2
  2. data/CHANGELOG.rdoc +24 -2
  3. data/Manifest.txt +15 -19
  4. data/Rakefile +6 -3
  5. data/lib/mechanize.rb +168 -28
  6. data/lib/mechanize/form.rb +14 -2
  7. data/lib/mechanize/page.rb +43 -14
  8. data/lib/mechanize/page/link.rb +10 -0
  9. data/lib/mechanize/redirect_not_get_or_head_error.rb +2 -1
  10. data/lib/mechanize/robots_disallowed_error.rb +29 -0
  11. data/lib/mechanize/util.rb +30 -6
  12. data/test/helper.rb +6 -0
  13. data/test/htdocs/canonical_uri.html +9 -0
  14. data/test/htdocs/nofollow.html +9 -0
  15. data/test/htdocs/noindex.html +9 -0
  16. data/test/htdocs/norobots.html +8 -0
  17. data/test/htdocs/rel_nofollow.html +8 -0
  18. data/test/htdocs/robots.html +8 -0
  19. data/test/htdocs/robots.txt +2 -0
  20. data/test/htdocs/tc_links.html +3 -3
  21. data/test/test_links.rb +9 -0
  22. data/test/test_mechanize.rb +617 -2
  23. data/test/{test_forms.rb → test_mechanize_form.rb} +45 -1
  24. data/test/test_mechanize_form_check_box.rb +37 -0
  25. data/test/test_mechanize_form_encoding.rb +118 -0
  26. data/test/{test_field_precedence.rb → test_mechanize_form_field.rb} +4 -16
  27. data/test/test_mechanize_page.rb +60 -1
  28. data/test/test_mechanize_redirect_not_get_or_head_error.rb +18 -0
  29. data/test/test_mechanize_subclass.rb +22 -0
  30. data/test/test_mechanize_util.rb +87 -2
  31. data/test/test_robots.rb +87 -0
  32. metadata +51 -43
  33. metadata.gz.sig +0 -0
  34. data/lib/mechanize/uri_resolver.rb +0 -82
  35. data/test/test_authenticate.rb +0 -71
  36. data/test/test_bad_links.rb +0 -25
  37. data/test/test_blank_form.rb +0 -16
  38. data/test/test_checkboxes.rb +0 -61
  39. data/test/test_content_type.rb +0 -13
  40. data/test/test_encoded_links.rb +0 -20
  41. data/test/test_errors.rb +0 -49
  42. data/test/test_follow_meta.rb +0 -119
  43. data/test/test_get_headers.rb +0 -52
  44. data/test/test_gzipping.rb +0 -22
  45. data/test/test_hash_api.rb +0 -45
  46. data/test/test_mech.rb +0 -283
  47. data/test/test_mech_proxy.rb +0 -16
  48. data/test/test_mechanize_uri_resolver.rb +0 -29
  49. data/test/test_redirect_verb_handling.rb +0 -49
  50. data/test/test_subclass.rb +0 -30
@@ -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
@@ -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