mechanize 2.14.0 → 2.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +27 -1
- data/README.md +7 -0
- data/SECURITY.md +11 -0
- data/lib/mechanize/directory_saver.rb +2 -1
- data/lib/mechanize/file_saver.rb +2 -0
- data/lib/mechanize/http/agent.rb +83 -29
- data/lib/mechanize/parser.rb +33 -3
- data/lib/mechanize/test_case.rb +2 -9
- data/lib/mechanize/version.rb +1 -1
- data/lib/mechanize.rb +12 -2
- data/test/htdocs/frame_test.html +8 -6
- data/test/htdocs/relative/tc_relative_links.html +1 -1
- metadata +7 -174
- data/.autotest +0 -6
- data/.github/dependabot.yml +0 -11
- data/.github/workflows/ci.yml +0 -43
- data/.github/workflows/upstream.yml +0 -51
- data/.gitignore +0 -15
- data/.yardopts +0 -8
- data/Gemfile +0 -12
- data/Rakefile +0 -56
- data/examples/flickr_upload.rb +0 -22
- data/examples/latest_user_agents.rb +0 -100
- data/examples/mech-dump.rb +0 -5
- data/examples/proxy_req.rb +0 -7
- data/examples/rubygems.rb +0 -23
- data/examples/spider.rb +0 -22
- data/examples/wikipedia_links_to_philosophy.rb +0 -158
- data/mechanize.gemspec +0 -74
- data/test/data/htpasswd +0 -1
- data/test/data/server.crt +0 -16
- data/test/data/server.csr +0 -12
- data/test/data/server.key +0 -15
- data/test/data/server.pem +0 -15
- data/test/test_mechanize.rb +0 -1382
- data/test/test_mechanize_cookie.rb +0 -559
- data/test/test_mechanize_cookie_jar.rb +0 -615
- data/test/test_mechanize_directory_saver.rb +0 -60
- data/test/test_mechanize_download.rb +0 -102
- data/test/test_mechanize_element_not_found_error.rb +0 -16
- data/test/test_mechanize_file.rb +0 -118
- data/test/test_mechanize_file_connection.rb +0 -40
- data/test/test_mechanize_file_request.rb +0 -26
- data/test/test_mechanize_file_response.rb +0 -48
- data/test/test_mechanize_file_saver.rb +0 -22
- data/test/test_mechanize_form.rb +0 -1025
- data/test/test_mechanize_form_check_box.rb +0 -49
- data/test/test_mechanize_form_encoding.rb +0 -110
- data/test/test_mechanize_form_field.rb +0 -78
- data/test/test_mechanize_form_file_upload.rb +0 -21
- data/test/test_mechanize_form_image_button.rb +0 -13
- data/test/test_mechanize_form_keygen.rb +0 -34
- data/test/test_mechanize_form_multi_select_list.rb +0 -98
- data/test/test_mechanize_form_option.rb +0 -60
- data/test/test_mechanize_form_radio_button.rb +0 -96
- data/test/test_mechanize_form_select_list.rb +0 -81
- data/test/test_mechanize_form_textarea.rb +0 -53
- data/test/test_mechanize_headers.rb +0 -36
- data/test/test_mechanize_history.rb +0 -104
- data/test/test_mechanize_http_agent.rb +0 -1915
- data/test/test_mechanize_http_auth_challenge.rb +0 -64
- data/test/test_mechanize_http_auth_realm.rb +0 -56
- data/test/test_mechanize_http_auth_store.rb +0 -233
- data/test/test_mechanize_http_content_disposition_parser.rb +0 -167
- data/test/test_mechanize_http_www_authenticate_parser.rb +0 -204
- data/test/test_mechanize_image.rb +0 -9
- data/test/test_mechanize_link.rb +0 -171
- data/test/test_mechanize_page.rb +0 -295
- data/test/test_mechanize_page_encoding.rb +0 -215
- data/test/test_mechanize_page_frame.rb +0 -17
- data/test/test_mechanize_page_image.rb +0 -191
- data/test/test_mechanize_page_link.rb +0 -377
- data/test/test_mechanize_page_meta_refresh.rb +0 -151
- data/test/test_mechanize_parser.rb +0 -316
- data/test/test_mechanize_pluggable_parser.rb +0 -68
- data/test/test_mechanize_redirect_limit_reached_error.rb +0 -25
- data/test/test_mechanize_redirect_not_get_or_head_error.rb +0 -15
- data/test/test_mechanize_response_read_error.rb +0 -29
- data/test/test_mechanize_subclass.rb +0 -23
- data/test/test_mechanize_util.rb +0 -144
- data/test/test_mechanize_xml_file.rb +0 -30
- data/test/test_multi_select.rb +0 -120
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
require 'mechanize/test_case'
|
|
3
|
-
|
|
4
|
-
class TestMechanizeHeaders < Mechanize::TestCase
|
|
5
|
-
def setup
|
|
6
|
-
super
|
|
7
|
-
|
|
8
|
-
@headers = Mechanize::Headers.new
|
|
9
|
-
@headers['content-type'] = 'text/html'
|
|
10
|
-
@headers['Content-encoding'] = 'gzip'
|
|
11
|
-
@headers['SERVER'] = 'Apache/2.2'
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def test_aref
|
|
15
|
-
assert_equal('Apache/2.2', @headers['server'])
|
|
16
|
-
assert_equal('text/html', @headers['Content-Type'])
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def test_key?
|
|
20
|
-
assert_equal(true, @headers.key?('content-Encoding'))
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def test_canonical_each
|
|
24
|
-
all_keys = ['Content-Type', 'Content-Encoding', 'Server']
|
|
25
|
-
keys = all_keys.dup
|
|
26
|
-
@headers.canonical_each { |key, value|
|
|
27
|
-
case keys.delete(key)
|
|
28
|
-
when *all_keys
|
|
29
|
-
# ok
|
|
30
|
-
else
|
|
31
|
-
flunk "unexpected key: #{key}"
|
|
32
|
-
end
|
|
33
|
-
}
|
|
34
|
-
assert_equal([], keys)
|
|
35
|
-
end
|
|
36
|
-
end
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
require 'mechanize/test_case'
|
|
3
|
-
|
|
4
|
-
class TestMechanizeHistory < Mechanize::TestCase
|
|
5
|
-
|
|
6
|
-
def setup
|
|
7
|
-
super
|
|
8
|
-
|
|
9
|
-
@uri = URI 'http://example/'
|
|
10
|
-
@uri2 = @uri + '/a'
|
|
11
|
-
@history = Mechanize::History.new
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def test_initialize
|
|
15
|
-
assert_empty @history
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def test_clear
|
|
19
|
-
@history.push :page, @uri
|
|
20
|
-
|
|
21
|
-
@history.clear
|
|
22
|
-
|
|
23
|
-
assert_empty @history
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def test_pop
|
|
27
|
-
assert_nil @history.pop
|
|
28
|
-
|
|
29
|
-
@history.push :page1, @uri
|
|
30
|
-
@history.push :page2, @uri2
|
|
31
|
-
|
|
32
|
-
assert_equal :page2, @history.pop
|
|
33
|
-
refute_empty @history
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def test_push
|
|
37
|
-
p1 = page @uri
|
|
38
|
-
|
|
39
|
-
obj = @history.push p1
|
|
40
|
-
|
|
41
|
-
assert_same @history, obj
|
|
42
|
-
assert_equal 1, @history.length
|
|
43
|
-
|
|
44
|
-
p2 = page @uri2
|
|
45
|
-
|
|
46
|
-
@history.push p2
|
|
47
|
-
|
|
48
|
-
assert_equal 2, @history.length
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def test_push_max_size
|
|
52
|
-
@history = Mechanize::History.new 2
|
|
53
|
-
|
|
54
|
-
@history.push :page1, @uri
|
|
55
|
-
|
|
56
|
-
assert_equal 1, @history.length
|
|
57
|
-
|
|
58
|
-
@history.push :page2, @uri
|
|
59
|
-
|
|
60
|
-
assert_equal 2, @history.length
|
|
61
|
-
|
|
62
|
-
@history.push :page3, @uri
|
|
63
|
-
|
|
64
|
-
assert_equal 2, @history.length
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
def test_push_uri
|
|
68
|
-
obj = @history.push :page, @uri
|
|
69
|
-
|
|
70
|
-
assert_same @history, obj
|
|
71
|
-
assert_equal 1, @history.length
|
|
72
|
-
|
|
73
|
-
@history.push :page2, @uri
|
|
74
|
-
|
|
75
|
-
assert_equal 2, @history.length
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
def test_shift
|
|
79
|
-
assert_nil @history.shift
|
|
80
|
-
|
|
81
|
-
@history.push :page1, @uri
|
|
82
|
-
@history.push :page2, @uri2
|
|
83
|
-
|
|
84
|
-
page = @history.shift
|
|
85
|
-
|
|
86
|
-
assert_equal :page1, page
|
|
87
|
-
refute_empty @history
|
|
88
|
-
|
|
89
|
-
@history.shift
|
|
90
|
-
|
|
91
|
-
assert_empty @history
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
def test_visited_eh
|
|
95
|
-
refute @history.visited? @uri
|
|
96
|
-
|
|
97
|
-
@history.push page @uri
|
|
98
|
-
|
|
99
|
-
assert @history.visited? URI('http://example')
|
|
100
|
-
assert @history.visited? URI('http://example/')
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
end
|
|
104
|
-
|