Sha256: 18184fbfeff0b98e5e551a1b3ffd956f2bff8606dcd7a5eb88c75301acc70b15

Contents?: true

Size: 1.55 KB

Versions: 4

Compression:

Stored size: 1.55 KB

Contents

$:.unshift File.join(File.dirname(__FILE__), "..", "lib")

require 'test/unit'
require 'rubygems'
require 'mechanize'
require 'test_includes'
require 'fileutils'

class TestSaveFile < Test::Unit::TestCase
  include TestMethods

  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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mechanize-0.6.10 test/tc_save_file.rb
mechanize-0.6.8 test/tc_save_file.rb
mechanize-0.6.9 test/tc_save_file.rb
mechanize-0.6.11 test/tc_save_file.rb