Sha256: 08247229a3942034396f9093c0c236dd8be6e6e7ca5f3011dd128c1947c09e38

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.14.1 test/ffi-gobject_introspection/i_type_info_test.rb
gir_ffi-0.14.0 test/ffi-gobject_introspection/i_type_info_test.rb
gir_ffi-0.13.1 test/ffi-gobject_introspection/i_type_info_test.rb
gir_ffi-0.13.0 test/ffi-gobject_introspection/i_type_info_test.rb
gir_ffi-0.12.1 test/ffi-gobject_introspection/i_type_info_test.rb
gir_ffi-0.12.0 test/ffi-gobject_introspection/i_type_info_test.rb
gir_ffi-0.11.4 test/ffi-gobject_introspection/i_type_info_test.rb
gir_ffi-0.11.3 test/ffi-gobject_introspection/i_type_info_test.rb
gir_ffi-0.11.2 test/ffi-gobject_introspection/i_type_info_test.rb