Sha256: 8a828a5d5d4771b0a9a2c2b135e99f848a92af591c26f136ac21a092d4f22ba5

Contents?: true

Size: 1.03 KB

Versions: 8

Compression:

Stored size: 1.03 KB

Contents

# frozen_string_literal: true

require 'gir_ffi_test_helper'

describe GirFFI::Boolean do
  it 'has the same native size as an int' do
    FFI.type_size(GirFFI::Boolean).must_equal FFI.type_size :int
  end

  describe '.from_native' do
    it 'converts 0 to false' do
      GirFFI::Boolean.from_native(0, 'whatever').must_equal false
    end

    it 'converts 1 to true' do
      GirFFI::Boolean.from_native(1, 'whatever').must_equal true
    end
  end

  describe '.to_native' do
    it 'converts false to 0' do
      GirFFI::Boolean.to_native(false, 'whatever').must_equal 0
    end

    it 'converts true to 1' do
      GirFFI::Boolean.to_native(true, 'whatever').must_equal 1
    end

    it 'converts nil to 0' do
      GirFFI::Boolean.to_native(nil, 'whatever').must_equal 0
    end

    it 'converts truthy value to 1' do
      GirFFI::Boolean.to_native('i am truth!', 'whatever').must_equal 1
    end
  end

  describe '.size' do
    it 'returns the correct type size' do
      GirFFI::Boolean.size.must_equal FFI.type_size :int
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
gir_ffi-0.14.1 test/gir_ffi/boolean_test.rb
gir_ffi-0.14.0 test/gir_ffi/boolean_test.rb
gir_ffi-0.13.1 test/gir_ffi/boolean_test.rb
gir_ffi-0.13.0 test/gir_ffi/boolean_test.rb
gir_ffi-0.12.1 test/gir_ffi/boolean_test.rb
gir_ffi-0.12.0 test/gir_ffi/boolean_test.rb
gir_ffi-0.11.4 test/gir_ffi/boolean_test.rb
gir_ffi-0.11.3 test/gir_ffi/boolean_test.rb