moved some tests over
This commit is contained in:
parent
e4ecb406bf
commit
2eb01cd575
9 changed files with 0 additions and 0 deletions
70
test/unit/file_yard_test.rb
Executable file
70
test/unit/file_yard_test.rb
Executable file
|
@ -0,0 +1,70 @@
|
|||
#!/bin/env ruby -w
|
||||
|
||||
require File.dirname(__FILE__) + '/../test_helper'
|
||||
require 'fileutils'
|
||||
require 'file_yard'
|
||||
require 'stringio'
|
||||
|
||||
class FileYardTest < Test::Unit::TestCase
|
||||
|
||||
def setup
|
||||
FileUtils.mkdir_p(file_path)
|
||||
FileUtils.rm(Dir["#{file_path}/*"])
|
||||
@yard = FileYard.new(file_path, 100)
|
||||
end
|
||||
|
||||
def test_check_upload_size
|
||||
assert_nothing_raised { @yard.check_upload_size(100.kilobytes) }
|
||||
assert_raises(Instiki::ValidationError) { @yard.check_upload_size(100.kilobytes + 1) }
|
||||
end
|
||||
|
||||
def test_files
|
||||
assert_equal [], @yard.files
|
||||
|
||||
# FileYard gets the list of files from directory in the constructor
|
||||
@yard.upload_file('aaa', StringIO.new('file contents'))
|
||||
assert_equal ["#{file_path}/aaa"], Dir["#{file_path}/*"]
|
||||
assert_equal ['aaa'], @yard.files
|
||||
assert @yard.has_file?('aaa')
|
||||
assert_equal 'file contents', File.read(@yard.file_path('aaa'))
|
||||
end
|
||||
|
||||
def test_file_path
|
||||
assert_equal "#{file_path}/abcd", @yard.file_path('abcd')
|
||||
end
|
||||
|
||||
def test_size_limit
|
||||
@yard = FileYard.new(file_path, 1)
|
||||
one_kilobyte_string = "a" * 1.kilobyte
|
||||
|
||||
# as StringIO
|
||||
assert_nothing_raised {
|
||||
@yard.upload_file('acceptable_file', StringIO.new(one_kilobyte_string))
|
||||
}
|
||||
assert_raises(Instiki::ValidationError) {
|
||||
@yard.upload_file('one_byte_too_long', StringIO.new(one_kilobyte_string + 'a'))
|
||||
}
|
||||
|
||||
# as Tempfile
|
||||
require 'tempfile'
|
||||
|
||||
Tempfile.open('acceptable_file') do |f|
|
||||
f.write(one_kilobyte_string)
|
||||
assert_nothing_raised {
|
||||
@yard.upload_file('acceptable_file', f)
|
||||
}
|
||||
end
|
||||
|
||||
Tempfile.open('one_byte_too_long') do |f|
|
||||
f.write(one_kilobyte_string + 'a')
|
||||
assert_nothing_raised {
|
||||
@yard.upload_file('one_byte_too_long_2', f)
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
def file_path
|
||||
"#{RAILS_ROOT}/storage/test/instiki"
|
||||
end
|
||||
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue