##// END OF EJS Templates
Rails3: scm: bazaar: fix error of test_fetch_changesets_incremental at unit model test...
Rails3: scm: bazaar: fix error of test_fetch_changesets_incremental at unit model test On Rails 3.1, ActiveRecord::HasManyThroughCantAssociateThroughHasOneOrManyReflection error raises. For more details, see r7062. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7073 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r6642:f28500f1aca4
r6953:1a99a5a64a79
Show More
attachment_test.rb
123 lines | 4.8 KiB | text/x-ruby | RubyLexer
/ test / unit / attachment_test.rb
Jean-Philippe Lang
Sets file encoding to utf-8 for ruby 1.9....
r2796 # encoding: utf-8
#
Toshi MARUYAMA
remove trailing white-spaces from unit attachment test....
r5724 # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang
Jean-Philippe Lang
Fixed: possible error when attachment's filename is non-ASCII (#747, #1243, #1089)....
r1418 #
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
Toshi MARUYAMA
remove trailing white-spaces from unit attachment test....
r5724 #
Jean-Philippe Lang
Fixed: possible error when attachment's filename is non-ASCII (#747, #1243, #1089)....
r1418 # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
Toshi MARUYAMA
remove trailing white-spaces from unit attachment test....
r5724 #
Jean-Philippe Lang
Fixed: possible error when attachment's filename is non-ASCII (#747, #1243, #1089)....
r1418 # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Jean-Baptiste Barth
Use absolute paths in test/**/* requires for Ruby 1.9.2 compatibility. #4050...
r4395 require File.expand_path('../../test_helper', __FILE__)
Jean-Philippe Lang
Fixed: possible error when attachment's filename is non-ASCII (#747, #1243, #1089)....
r1418
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class AttachmentTest < ActiveSupport::TestCase
Jean-Philippe Lang
Fixed: wrong digest for text files under Windows (#2264)....
r2083 fixtures :issues, :users
Toshi MARUYAMA
remove trailing white-spaces from unit attachment test....
r5724
Jean-Philippe Lang
Fixed: possible error when attachment's filename is non-ASCII (#747, #1243, #1089)....
r1418 def setup
end
Jean-Philippe Lang
Fixes memory consumption on file upload (#3116)....
r2578
def test_create
a = Attachment.new(:container => Issue.find(1),
Jean-Philippe Lang
Renames uploaded_test_file helper....
r2795 :file => uploaded_test_file("testfile.txt", "text/plain"),
Jean-Philippe Lang
Fixes memory consumption on file upload (#3116)....
r2578 :author => User.find(1))
assert a.save
assert_equal 'testfile.txt', a.filename
assert_equal 59, a.filesize
assert_equal 'text/plain', a.content_type
assert_equal 0, a.downloads
Jean-Philippe Lang
Safer assertion....
r4478 assert_equal '1478adae0d4eb06d35897518540e25d6', a.digest
Jean-Philippe Lang
Fixes memory consumption on file upload (#3116)....
r2578 assert File.exist?(a.diskfile)
Jean-Philippe Lang
Fixed: file uploads broken by r6312 (#8912)....
r6200 assert_equal 59, File.size(a.diskfile)
Jean-Philippe Lang
Fixes memory consumption on file upload (#3116)....
r2578 end
Toshi MARUYAMA
remove trailing white-spaces from unit attachment test....
r5724
Toshi MARUYAMA
add test to destroy at unit attachment test....
r6642 def test_destroy
a = Attachment.new(:container => Issue.find(1),
:file => uploaded_test_file("testfile.txt", "text/plain"),
:author => User.find(1))
assert a.save
assert_equal 'testfile.txt', a.filename
assert_equal 59, a.filesize
assert_equal 'text/plain', a.content_type
assert_equal 0, a.downloads
assert_equal '1478adae0d4eb06d35897518540e25d6', a.digest
diskfile = a.diskfile
assert File.exist?(diskfile)
assert_equal 59, File.size(a.diskfile)
assert a.destroy
assert !File.exist?(diskfile)
end
Jean-Philippe Lang
Auto-detect attachment content type when blank (#3782)....
r3144 def test_create_should_auto_assign_content_type
a = Attachment.new(:container => Issue.find(1),
:file => uploaded_test_file("testfile.txt", ""),
:author => User.find(1))
assert a.save
assert_equal 'text/plain', a.content_type
end
Toshi MARUYAMA
remove trailing white-spaces from unit attachment test....
r5724
Jean-Philippe Lang
Fixed: attachments with the same name at the same time overwrite (#3691)....
r3397 def test_identical_attachments_at_the_same_time_should_not_overwrite
a1 = Attachment.create!(:container => Issue.find(1),
:file => uploaded_test_file("testfile.txt", ""),
:author => User.find(1))
a2 = Attachment.create!(:container => Issue.find(1),
:file => uploaded_test_file("testfile.txt", ""),
:author => User.find(1))
assert a1.disk_filename != a2.disk_filename
end
Toshi MARUYAMA
remove trailing white-spaces from unit attachment test....
r5724
Jean-Philippe Lang
Fixed: possible error when attachment's filename is non-ASCII (#747, #1243, #1089)....
r1418 def test_diskfilename
assert Attachment.disk_filename("test_file.txt") =~ /^\d{12}_test_file.txt$/
assert_equal 'test_file.txt', Attachment.disk_filename("test_file.txt")[13..-1]
assert_equal '770c509475505f37c2b8fb6030434d6b.txt', Attachment.disk_filename("test_accentué.txt")[13..-1]
assert_equal 'f8139524ebb8f32e51976982cd20a85d', Attachment.disk_filename("test_accentué")[13..-1]
assert_equal 'cbb5b0f30978ba03731d61f9f6d10011', Attachment.disk_filename("test_accentué.ça")[13..-1]
end
Eric Davis
Fix a nil error when a Project cannot save attachments....
r3658
Jean-Philippe Lang
Fixed: file uploads broken by r6312 (#8912)....
r6200 context "Attachmnet.attach_files" do
should "attach the file" do
issue = Issue.first
assert_difference 'Attachment.count' do
Attachment.attach_files(issue,
'1' => {
'file' => uploaded_test_file('testfile.txt', 'text/plain'),
'description' => 'test'
})
end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/attachment_test.rb....
r6585
Jean-Philippe Lang
Fixed: file uploads broken by r6312 (#8912)....
r6200 attachment = Attachment.first(:order => 'id DESC')
assert_equal issue, attachment.container
assert_equal 'testfile.txt', attachment.filename
assert_equal 59, attachment.filesize
assert_equal 'test', attachment.description
assert_equal 'text/plain', attachment.content_type
assert File.exists?(attachment.diskfile)
assert_equal 59, File.size(attachment.diskfile)
end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/attachment_test.rb....
r6585
Eric Davis
Fix a nil error when a Project cannot save attachments....
r3658 should "add unsaved files to the object as unsaved attachments" do
# Max size of 0 to force Attachment creation failures
with_settings(:attachment_max_size => 0) do
@project = Project.generate!
response = Attachment.attach_files(@project, {
Eric Davis
Refactor: extract test method...
r3659 '1' => {'file' => mock_file, 'description' => 'test'},
'2' => {'file' => mock_file, 'description' => 'test'}
Eric Davis
Fix a nil error when a Project cannot save attachments....
r3658 })
assert response[:unsaved].present?
assert_equal 2, response[:unsaved].length
assert response[:unsaved].first.new_record?
assert response[:unsaved].second.new_record?
assert_equal response[:unsaved], @project.unsaved_attachments
end
end
end
Jean-Philippe Lang
Fixed: possible error when attachment's filename is non-ASCII (#747, #1243, #1089)....
r1418 end