Sha256: 548e8df59dff2312209fd565c7a35e6dd171e25f3fd65d43df614ee168a62c39

Contents?: true

Size: 788 Bytes

Versions: 3

Compression:

Stored size: 788 Bytes

Contents

# encoding: UTF-8

require 'spec_helper'

module ICU
  describe UCharPointer do
    it 'allocates enough memory for 16-bit characters' do
      UCharPointer.new(5).size.should == 10
    end

    it 'builds a buffer from a string' do
      ptr = UCharPointer.from_string('abc')
      ptr.should be_a UCharPointer
      ptr.size.should == 6
      ptr.read_array_of_uint16(3).should == [0x61, 0x62, 0x63]
    end

    describe 'converting to string' do
      let(:ptr) { UCharPointer.new(3).write_array_of_uint16 [0x78, 0x0, 0x79] }

      it 'returns the the entire buffer by default' do
        ptr.string.should == "x\0y"
      end

      it 'returns strings of the specified length' do
        ptr.string(0).should == ""
        ptr.string(2).should == "x\0"
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ffi-icu-0.1.2 spec/uchar_spec.rb
ffi-icu-0.1.1 spec/uchar_spec.rb
ffi-icu-0.1.0 spec/uchar_spec.rb