Sha256: 0ac237db3a7c4a42f8e688d475c4f33cb39295cd6d6eea04e7c115e7a75919b9
Contents?: true
Size: 1.73 KB
Versions: 3
Compression:
Stored size: 1.73 KB
Contents
# frozen_string_literal: true require 'gir_ffi_test_helper' GirFFI.setup :Regress describe GirFFI::ObjectBase do let(:derived_class) { Class.new GirFFI::ObjectBase } describe '.wrap' do it 'delegates conversion to the wrapped pointer' do expect(ptr = Object.new).to receive(:to_object).and_return 'good-result' derived_class.wrap(ptr).must_equal 'good-result' end end describe '.to_ffi_type' do it 'returns itself' do derived_class.to_ffi_type.must_equal derived_class end end describe '.object_class' do it 'returns an object of the class struct type' do Regress::TestObj.object_class.must_be_instance_of Regress::TestObjClass end it 'caches its result' do first = Regress::TestObj.object_class second = Regress::TestObj.object_class second.must_be :eql?, first end end describe '#included_interfaces' do let(:base_class) { GIMarshallingTests::Object } let(:derived_class) { Class.new(base_class) } before do derived_class.class_eval { include GIMarshallingTests::Interface } end it 'finds the included interface' do derived_class.included_interfaces.must_equal [GIMarshallingTests::Interface] end end describe '#registered_ancestors' do let(:base_class) { GIMarshallingTests::Object } let(:derived_class) { Class.new(base_class) } before do derived_class.class_eval { include GIMarshallingTests::Interface } end it 'finds the ancestor classes and included interface' do derived_class.registered_ancestors. must_equal [derived_class, GIMarshallingTests::Interface, GIMarshallingTests::Object, GObject::Object] end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
gir_ffi-0.14.1 | test/gir_ffi/object_base_test.rb |
gir_ffi-0.14.0 | test/gir_ffi/object_base_test.rb |
gir_ffi-0.13.1 | test/gir_ffi/object_base_test.rb |