Sha256: 63e18476a87c3518d2b9bc2d908d5dcfdedfb7ae4bd77989f307c012f3ead22d

Contents?: true

Size: 1.58 KB

Versions: 8

Compression:

Stored size: 1.58 KB

Contents

#!/usr/bin/env ruby
# encoding: windows-1251

require './TestSetup'
require 'test/unit'
require 'rubygems'
require 'rubyfb'

include Rubyfb

class CharacterSetTest < Test::Unit::TestCase
  DB_FILE  = File.join(DB_DIR, "cxnarset_unit_test.fdb")
  CHAR_SET = 'WIN1251'

  def setup
    puts "#{self.class.name} started." if TEST_LOGGING
    if File::exist?(DB_FILE)
      Database.new(DB_FILE).drop(DB_USER_NAME, DB_PASSWORD)
    end
    @database = Database.create(DB_FILE, DB_USER_NAME, DB_PASSWORD, 1024, CHAR_SET)
  end

  def teardown
    if File::exist?(DB_FILE)
      Database.new(DB_FILE).drop(DB_USER_NAME, DB_PASSWORD)
    end
    puts "#{self.class.name} finished." if TEST_LOGGING
  end

  def test01
    db = Database.new(DB_FILE, CHAR_SET)

    assert(db.character_set = CHAR_SET)

    db.character_set = 'ASCII'
    assert(db.character_set == 'ASCII')
  end

  def test02
    db   = Database.new(DB_FILE, CHAR_SET)

    win1251_str = 'Кириличка'
    db.connect("SYSDBA", "masterkey") do |cxn|
      cxn.start_transaction do |tr|
        cxn.execute("CREATE TABLE SAMPLE_TABLE(SAMPLE_FIELD VARCHAR(100) CHARACTER SET UTF8)", tr)
      end  
      cxn.start_transaction do |tr|
        cxn.execute("INSERT INTO SAMPLE_TABLE VALUES ('#{win1251_str}')", tr)
        row_count = 0
        cxn.execute("SELECT * FROM SAMPLE_TABLE WHERE SAMPLE_FIELD = '#{win1251_str}'", tr) do |row|
          assert(row['SAMPLE_FIELD']==win1251_str, "Database encoding failed")
          row_count += 1
        end
        assert(1==row_count)
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
rubyfb-0.6.7 test/CharacterSetTest.rb
rubyfb-0.6.4 test/CharacterSetTest.rb
rubyfb-0.6.3 test/CharacterSetTest.rb
rubyfb-0.6.2 test/CharacterSetTest.rb
rubyfb-0.6.1 test/CharacterSetTest.rb
rubyfb-0.6 test/CharacterSetTest.rb
rubyfb-0.5.9 test/CharacterSetTest.rb
rubyfb-0.5.8 test/CharacterSetTest.rb