X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=vendor%2Frails%2Factiverecord%2Ftest%2Fcases%2Fbinary_test.rb;fp=vendor%2Frails%2Factiverecord%2Ftest%2Fcases%2Fbinary_test.rb;h=8545ba97cce934df1e1c20660a7a0a229641ca41;hb=437aa336c44c74a30aeea16a06743c32747ed661;hp=0000000000000000000000000000000000000000;hpb=97a0772b06264134cfe38e7494f9427efe0840a0;p=feedcatcher.git diff --git a/vendor/rails/activerecord/test/cases/binary_test.rb b/vendor/rails/activerecord/test/cases/binary_test.rb new file mode 100644 index 0000000..8545ba9 --- /dev/null +++ b/vendor/rails/activerecord/test/cases/binary_test.rb @@ -0,0 +1,30 @@ +require "cases/helper" + +# Without using prepared statements, it makes no sense to test +# BLOB data with DB2 or Firebird, because the length of a statement +# is limited to 32KB. +unless current_adapter?(:SybaseAdapter, :DB2Adapter, :FirebirdAdapter) + require 'models/binary' + + class BinaryTest < ActiveRecord::TestCase + FIXTURES = %w(flowers.jpg example.log) + + def test_load_save + Binary.delete_all + + FIXTURES.each do |filename| + data = File.read(ASSETS_ROOT + "/#{filename}") + data.force_encoding('ASCII-8BIT') if data.respond_to?(:force_encoding) + 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