Sha256: 6e8d78330287473fa5215b5a2731f7e9e05c4836f6c7738691ee52f3a8a78b82

Contents?: true

Size: 1.06 KB

Versions: 3

Compression:

Stored size: 1.06 KB

Contents

require 'gir_ffi_test_helper'

GirFFI.setup :GIMarshallingTests

describe GirFFI::Builders::UnintrospectableBoxedBuilder do
  let(:instance) { GIMarshallingTests::PropertiesObject.new }
  let(:property) { instance.object_class.find_property 'some-boxed-glist' }
  let(:gtype) { property.value_type }
  let(:info) { GirFFI::UnintrospectableBoxedInfo.new(gtype) }
  let(:bldr) { GirFFI::Builders::UnintrospectableBoxedBuilder.new(info) }
  let(:klass) { bldr.build_class }

  before do
    skip unless get_property_introspection_data('GIMarshallingTests',
                                                'PropertiesObject',
                                                'some-boxed-glist')
  end

  it 'builds a class' do
    klass.must_be_instance_of Class
  end

  it 'builds a class derived from GirFFI::BoxedBase' do
    klass.ancestors.must_include GirFFI::BoxedBase
  end

  it 'returns the same class when built again' do
    other_bldr = GirFFI::Builders::UnintrospectableBoxedBuilder.new(info)
    other_klass = other_bldr.build_class

    other_klass.must_equal klass
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
gir_ffi-0.9.2 test/gir_ffi/builders/unintrospectable_boxed_builder_test.rb
gir_ffi-0.9.1 test/gir_ffi/builders/unintrospectable_boxed_builder_test.rb
gir_ffi-0.9.0 test/gir_ffi/builders/unintrospectable_boxed_builder_test.rb