File: tc_save_file.rb

package info (click to toggle)
libwww-mechanize-ruby 0.7.6-2
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 752 kB
  • ctags: 607
  • sloc: ruby: 4,883; makefile: 4
file content (48 lines) | stat: -rw-r--r-- 1,450 bytes parent folder | download
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.dirname(__FILE__) + "/helper"

class TestSaveFile < Test::Unit::TestCase
  def setup
    @agent = WWW::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 = WWW::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 = WWW::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