forked from sparklemotion/mechanize
-
Notifications
You must be signed in to change notification settings - Fork 1
/
test_save_file.rb
48 lines (44 loc) · 1.43 KB
/
test_save_file.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
require File.expand_path(File.join(File.dirname(__FILE__), "helper"))
class TestSaveFile < Test::Unit::TestCase
def setup
@agent = Mechanize.new
end
def test_save_file
page = @agent.get('http://localhost:2000/form_no_action.html')
length = page.response['Content-Length']
page.save_as("test.html")
file_length = nil
File.open("test.html", "r") { |f| file_length = f.read.length }
FileUtils.rm("test.html")
assert_equal(length.to_i, file_length)
end
def test_save_file_default
page = Mechanize::File.new(
URI.parse('http://localhost/test.html'),
{},
"hello"
)
page.save
assert(File.exists?('test.html'))
page.save
assert(File.exists?('test.html.1'))
page.save
assert(File.exists?('test.html.2'))
FileUtils.rm("test.html")
FileUtils.rm("test.html.1")
FileUtils.rm("test.html.2")
end
def test_save_file_default_with_dots
page = Mechanize::File.new(
URI.parse('http://localhost/../test.html'),
{},
"hello"
)
page.save
assert(File.exists?('test.html'))
page.save
assert(File.exists?('test.html.1'))
FileUtils.rm("test.html")
FileUtils.rm("test.html.1")
end
end