Sha256: 89377c85a8a2025b6ba8d05876a182984d61054bfe86a6eee736c96ea0f172c4

Contents?: true

Size: 1.01 KB

Versions: 9

Compression:

Stored size: 1.01 KB

Contents

# frozen_string_literal: true
require 'introspection_test_helper'

describe GObjectIntrospection::ITypeInfo do
  describe '#name?' do
    let(:object_info) { get_introspection_data('GIMarshallingTests', 'Object') }
    let(:vfunc_info) { object_info.find_vfunc('vfunc_array_out_parameter') }
    let(:arg_info) { vfunc_info.args[0] }
    let(:type_info) { arg_info.argument_type }

    it 'raises an error' do
      skip unless vfunc_info
      proc do
        type_info.name
      end.must_raise RuntimeError
    end
  end

  describe '#interface' do
    describe 'for unresolvable interface types' do
      let(:function_info) { get_introspection_data 'GObject', 'signal_set_va_marshaller' }
      let(:argument_info) { function_info.args.last }
      let(:type_info) { argument_info.argument_type }

      it 'returns an IUnresolvableInfo object' do
        result = type_info.interface
        result.info_type.must_equal :unresolved
        result.must_be_kind_of GObjectIntrospection::IUnresolvedInfo
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
gir_ffi-0.11.1 test/ffi-gobject_introspection/i_type_info_test.rb
gir_ffi-0.11.0 test/ffi-gobject_introspection/i_type_info_test.rb
gir_ffi-0.10.2 test/ffi-gobject_introspection/i_type_info_test.rb
gir_ffi-0.10.1 test/ffi-gobject_introspection/i_type_info_test.rb
gir_ffi-0.10.0 test/ffi-gobject_introspection/i_type_info_test.rb
gir_ffi-0.10.0.pre1 test/ffi-gobject_introspection/i_type_info_test.rb
gir_ffi-0.9.5 test/ffi-gobject_introspection/i_type_info_test.rb
gir_ffi-0.9.4 test/ffi-gobject_introspection/i_type_info_test.rb
gir_ffi-0.9.3 test/ffi-gobject_introspection/i_type_info_test.rb