Sha256: 7cd02d533a7b97c170d59a0e2ec9b261442fd7832f1618498433390cfeacdfd4
Contents?: true
Size: 1.64 KB
Versions: 4
Compression:
Stored size: 1.64 KB
Contents
# encoding: utf-8 require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper')) require 'data_objects/spec/shared/encoding_spec' describe DataObjects::Mysql::Connection do it_should_behave_like 'a driver supporting different encodings' it_should_behave_like 'returning correctly encoded strings for the default database encoding' it_should_behave_like 'returning correctly encoded strings for the default internal encoding' unless JRUBY unless JRUBY describe 'sets the character set through the URI' do before do @utf8mb4_connection = DataObjects::Connection.new("#{CONFIG.scheme}://#{CONFIG.user}:#{CONFIG.pass}@#{CONFIG.host}:#{CONFIG.port}#{CONFIG.database}?encoding=UTF-8-MB4") end after { @utf8mb4_connection.close } it { @utf8mb4_connection.character_set.should == 'UTF-8-MB4' } describe 'writing a multibyte String' do it 'should write a multibyte String' do @command = @utf8mb4_connection.create_command('INSERT INTO users_mb4 (name) VALUES(?)') expect { @command.execute_non_query("😀") }.not_to raise_error(DataObjects::DataError) end end describe 'reading a String' do before do @reader = @utf8mb4_connection.create_command("SELECT name FROM users_mb4").execute_reader @reader.next! @values = @reader.values end after do @reader.close end it 'should return UTF-8 encoded String' do @values.first.should be_kind_of(String) @values.first.encoding.name.should == 'UTF-8' @values.first.should == "😀" end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems