Sha256: 2a7a341ee3f416004086e1d72fe2e20a2f5e4ad468c91b9487ffeabbc9b01d45
Contents?: true
Size: 1.43 KB
Versions: 8
Compression:
Stored size: 1.43 KB
Contents
# encoding: utf-8 require "cases/helper" # Without using prepared statements, it makes no sense to test # BLOB data with DB2, because the length of a statement # is limited to 32KB. unless current_adapter?(:DB2Adapter) require 'models/binary' class BinaryTest < ActiveRecord::TestCase FIXTURES = %w(flowers.jpg example.log test.txt) def test_mixed_encoding str = "\x80" str.force_encoding('ASCII-8BIT') binary = Binary.new :name => 'いただきます!', :data => str binary.save! binary.reload assert_equal str, binary.data name = binary.name # MySQL adapter doesn't properly encode things, so we have to do it if current_adapter?(:MysqlAdapter, :DB2Adapter) name.force_encoding(Encoding::UTF_8) end assert_equal 'いただきます!', name end def test_load_save Binary.delete_all FIXTURES.each do |filename| data = File.read(ASSETS_ROOT + "/#{filename}") data.force_encoding('ASCII-8BIT') if current_adapter?(:DB2Adapter) data.force_encoding(Encoding::UTF_8) end data.freeze bin = Binary.new(:data => data) assert_equal data, bin.data, 'Newly assigned data differs from original' bin.save! assert_equal data, bin.data, 'Data differs from original after save' assert_equal data, bin.reload.data, 'Reloaded data differs from original' end end end end
Version data entries
8 entries across 8 versions & 1 rubygems