Sha256: 2b60524f214f3f623f969d2eef2aaf401f0293f6f66578ccc3503c44bfb88005

Contents?: true

Size: 1.54 KB

Versions: 15

Compression:

Stored size: 1.54 KB

Contents

require 'rubygems'
require 'test/unit'
require 'stringio'
require 'tempfile'
require 'shoulda'

require File.join(File.dirname(__FILE__), '..', 'lib', 'paperclip', 'iostream.rb')

class IOStreamTest < Test::Unit::TestCase
  context "IOStream" do
    should "be included in IO, File, Tempfile, and StringIO" do
      [IO, File, Tempfile, StringIO].each do |klass|
        assert klass.included_modules.include?(IOStream), "Not in #{klass}"
      end
    end
  end

  context "A file" do
    setup do
      @file = File.new(File.join(File.dirname(__FILE__), "fixtures", "5k.png"))
    end

    context "that is sent #stream_to" do

      [["/tmp/iostream.string.test", File],
       [Tempfile.new('iostream.test'), Tempfile]].each do |args|

        context "and given a #{args[0].class.to_s}" do
          setup do
            assert @result = @file.stream_to(args[0])
          end

          should "return a #{args[1].to_s}" do
            assert @result.is_a?(args[1])
          end

          should "contain the same data as the original file" do
            @file.rewind; @result.rewind
            assert_equal @file.read, @result.read
          end
        end
      end
    end

    context "that is sent #to_tempfile" do
      setup do
        assert @tempfile = @file.to_tempfile
      end

      should "convert it to a Tempfile" do
        assert @tempfile.is_a?(Tempfile)
      end

      should "have the Tempfile contain the same data as the file" do
        @file.rewind; @tempfile.rewind
        assert_equal @file.read, @tempfile.read
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 5 rubygems

Version Path
jcnetdev-paperclip-1.0.20080704 test/test_iostream.rb
jcnetdev-paperclip-1.1 test/iostream_test.rb
kdmny-spree-0.0.1 vendor/plugins/paperclip/test/iostream_test.rb
spree-0.8.4 vendor/plugins/paperclip/test/iostream_test.rb
spree-0.8.5 vendor/plugins/paperclip/test/iostream_test.rb
avatar-0.0.5 test/lib/paperclip/test/test_iostream.rb
paperclip-2.1.2 test/test_iostream.rb
paperclip-2.1.0 test/test_iostream.rb
spree-0.6.0 vendor/plugins/paperclip/test/iostream_test.rb
spree-0.7.1 vendor/plugins/paperclip/test/iostream_test.rb
spree-0.7.0 vendor/plugins/paperclip/test/iostream_test.rb
spree-0.8.0 vendor/plugins/paperclip/test/iostream_test.rb
spree-0.8.1 vendor/plugins/paperclip/test/iostream_test.rb
spree-0.8.2 vendor/plugins/paperclip/test/iostream_test.rb
spree-0.8.3 vendor/plugins/paperclip/test/iostream_test.rb