#!/bin/env ruby require File.dirname(__FILE__) + '/../test_helper' class AttachmentTest < Test::Unit::TestCase fixtures 'attachments', 'posts' def teardown Dir[RAILS_ROOT + RForum::CONFIG[:attachment_path] + '/*'].each do |d| Dir[d + '/*'].each do |f| File.delete f end Dir.delete d end end def create_attachment a = Attachment.new a.data = 'some data' a.filename = '../../data.txt' a.save a end def test_create a = create_attachment assert_equal '__.._data.txt', a.filename assert_equal 'some data', File.read(a.file_path) end def test_destroy a = create_attachment p = Post.find(1) p.attachments << a a.destroy assert_raises(Errno::ENOENT) { File.stat(a.dir_path) } end def test_post_destroy a = create_attachment p = Post.find(1) p.attachments << a p.destroy assert_raises(Errno::ENOENT) { File.stat(a.dir_path) } end end