gir_ffi 0.10.2 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Changelog.md +13 -0
- data/Gemfile +9 -4
- data/README.md +3 -2
- data/Rakefile +2 -1
- data/lib/ffi-glib/byte_array.rb +1 -1
- data/lib/ffi-glib/main_loop.rb +2 -1
- data/lib/ffi-glib/strv.rb +5 -2
- data/lib/ffi-glib/variant.rb +3 -5
- data/lib/ffi-glib.rb +4 -0
- data/lib/ffi-gobject/closure.rb +8 -10
- data/lib/ffi-gobject/object.rb +9 -6
- data/lib/ffi-gobject/param_spec.rb +4 -0
- data/lib/ffi-gobject/value.rb +13 -16
- data/lib/ffi-gobject_introspection/gobject_type_init.rb +18 -0
- data/lib/ffi-gobject_introspection/i_callable_info.rb +1 -5
- data/lib/ffi-gobject_introspection/i_constant_info.rb +3 -3
- data/lib/ffi-gobject_introspection/i_repository.rb +3 -47
- data/lib/ffi-gobject_introspection/i_vfunc_info.rb +3 -11
- data/lib/ffi-gobject_introspection/lib.rb +8 -31
- data/lib/{gir_ffi-base/glib → ffi-gobject_introspection}/strv.rb +9 -13
- data/lib/ffi-gobject_introspection.rb +47 -2
- data/lib/gir_ffi/allocation_helper.rb +1 -19
- data/lib/gir_ffi/arg_helper.rb +36 -26
- data/lib/{gir_ffi-base/glib → gir_ffi}/boolean.rb +7 -5
- data/lib/gir_ffi/boxed_base.rb +5 -23
- data/lib/gir_ffi/builder.rb +3 -3
- data/lib/gir_ffi/builders/argument_builder.rb +7 -8
- data/lib/gir_ffi/builders/base_argument_builder.rb +0 -1
- data/lib/gir_ffi/builders/callback_argument_builder.rb +2 -2
- data/lib/gir_ffi/builders/callback_return_value_builder.rb +21 -13
- data/lib/gir_ffi/builders/field_builder.rb +4 -10
- data/lib/gir_ffi/builders/module_builder.rb +6 -4
- data/lib/gir_ffi/builders/object_builder.rb +16 -16
- data/lib/gir_ffi/builders/struct_builder.rb +4 -6
- data/lib/gir_ffi/builders/struct_like.rb +1 -1
- data/lib/gir_ffi/builders/user_defined_builder.rb +83 -23
- data/lib/gir_ffi/builders/vfunc_argument_builder.rb +12 -17
- data/lib/gir_ffi/class_base.rb +0 -4
- data/lib/gir_ffi/core.rb +16 -13
- data/lib/gir_ffi/enum_base.rb +2 -41
- data/lib/gir_ffi/enum_like_base.rb +48 -0
- data/lib/gir_ffi/ffi_ext/pointer.rb +1 -1
- data/lib/gir_ffi/flags_base.rb +2 -41
- data/lib/gir_ffi/in_out_pointer.rb +1 -1
- data/lib/gir_ffi/in_pointer.rb +4 -4
- data/lib/gir_ffi/info_ext/i_type_info.rb +14 -5
- data/lib/gir_ffi/info_ext/i_vfunc_info.rb +8 -0
- data/lib/gir_ffi/module_base.rb +4 -0
- data/lib/gir_ffi/receiver_argument_info.rb +1 -1
- data/lib/gir_ffi/sized_array.rb +6 -6
- data/lib/gir_ffi/struct_base.rb +1 -6
- data/lib/gir_ffi/struct_like_base.rb +54 -45
- data/lib/gir_ffi/type_map.rb +6 -7
- data/lib/gir_ffi/union_base.rb +1 -1
- data/lib/gir_ffi/{user_defined_type_info.rb → user_defined_object_info.rb} +1 -2
- data/lib/gir_ffi/user_defined_property_info.rb +80 -2
- data/lib/gir_ffi/version.rb +1 -1
- data/lib/gir_ffi-base/gobject/lib.rb +0 -1
- data/lib/gir_ffi-base/gobject.rb +3 -5
- data/lib/gir_ffi-base.rb +3 -8
- data/tasks/test.rake +17 -3
- data/test/base_test_helper.rb +39 -23
- data/test/ffi-glib/closure_test.rb +37 -0
- data/test/ffi-glib/main_loop_test.rb +24 -0
- data/test/ffi-glib/ruby_closure_test.rb +0 -5
- data/test/ffi-gobject/object_test.rb +6 -10
- data/test/ffi-gobject/param_spec_test.rb +17 -5
- data/test/ffi-gobject/value_test.rb +15 -6
- data/test/ffi-gobject_introspection/gobject_type_init_test.rb +25 -0
- data/test/ffi-gobject_introspection/i_base_info_test.rb +1 -1
- data/test/ffi-gobject_introspection/i_repository_test.rb +18 -0
- data/test/ffi-gobject_introspection/i_vfunc_info_test.rb +40 -0
- data/test/{gir_ffi-base/glib → ffi-gobject_introspection}/strv_test.rb +8 -8
- data/test/gir_ffi/allocation_helper_test.rb +35 -0
- data/test/gir_ffi/arg_helper_test.rb +102 -7
- data/test/gir_ffi/boolean_test.rb +34 -0
- data/test/gir_ffi/boxed_base_test.rb +46 -6
- data/test/gir_ffi/builder_test.rb +88 -29
- data/test/gir_ffi/builders/argument_builder_test.rb +19 -0
- data/test/gir_ffi/builders/callback_argument_builder_test.rb +17 -0
- data/test/gir_ffi/builders/callback_return_value_builder_test.rb +1 -1
- data/test/gir_ffi/builders/field_builder_test.rb +2 -1
- data/test/gir_ffi/builders/struct_builder_test.rb +42 -25
- data/test/gir_ffi/builders/user_defined_builder_test.rb +365 -17
- data/test/gir_ffi/builders/vfunc_argument_builder_test.rb +100 -0
- data/test/gir_ffi/builders/vfunc_builder_test.rb +5 -3
- data/test/{gir_ffi_test.rb → gir_ffi/core_test.rb} +8 -6
- data/test/gir_ffi/in_out_pointer_test.rb +1 -1
- data/test/gir_ffi/receiver_argument_info_test.rb +32 -0
- data/test/gir_ffi/sized_array_test.rb +34 -0
- data/test/gir_ffi/struct_base_test.rb +4 -32
- data/test/gir_ffi/struct_like_base_test.rb +164 -0
- data/test/gir_ffi/union_base_test.rb +4 -20
- data/test/gir_ffi/{user_defined_type_info_test.rb → user_defined_object_info_test.rb} +10 -10
- data/test/gir_ffi/user_defined_property_info_test.rb +22 -5
- data/test/gir_ffi/version_test.rb +1 -1
- data/test/integration/callback_exceptions_test.rb +2 -0
- data/test/integration/derived_classes_test.rb +2 -0
- data/test/integration/generated_everything_test.rb +22 -0
- data/test/integration/generated_gimarshallingtests_test.rb +23 -21
- data/test/integration/generated_gio_test.rb +2 -0
- data/test/integration/generated_glib_test.rb +2 -0
- data/test/integration/generated_gst_test.rb +2 -0
- data/test/integration/generated_gtop_test.rb +2 -0
- data/test/integration/generated_regress_test.rb +113 -29
- data/test/integration/generated_secret_test.rb +2 -0
- data/test/integration/generated_warnlib_test.rb +2 -0
- data/test/integration/method_lookup_test.rb +2 -0
- data/test/introspection_test_helper.rb +15 -0
- metadata +21 -27
- data/lib/gir_ffi-base/glib.rb +0 -8
- data/test/gir_ffi-base/glib/boolean_test.rb +0 -34
@@ -99,7 +99,7 @@ describe Regress do
|
|
99
99
|
end
|
100
100
|
|
101
101
|
it 'has a writable field arr' do
|
102
|
-
instance.arr.
|
102
|
+
instance.arr.must_be_nil
|
103
103
|
instance.arr = [1, 2, 3]
|
104
104
|
# TODO: len should be set automatically
|
105
105
|
instance.len = 3
|
@@ -394,6 +394,30 @@ describe Regress do
|
|
394
394
|
end
|
395
395
|
end
|
396
396
|
|
397
|
+
describe 'Regress::AnonymousUnionAndStruct' do
|
398
|
+
let(:instance) { Regress::AnonymousUnionAndStruct.new }
|
399
|
+
|
400
|
+
before do
|
401
|
+
skip unless get_introspection_data 'Regress', 'AnonymousUnionAndStruct'
|
402
|
+
end
|
403
|
+
|
404
|
+
it 'has a writable field x' do
|
405
|
+
instance.x = 42
|
406
|
+
instance.x.must_equal 42
|
407
|
+
end
|
408
|
+
|
409
|
+
it 'has a writable field a' do
|
410
|
+
skip 'Anonymous struct fields are not exposed in the GIR data'
|
411
|
+
end
|
412
|
+
|
413
|
+
it 'has a writable field b' do
|
414
|
+
skip 'Anonymous struct fields are not exposed in the GIR data'
|
415
|
+
end
|
416
|
+
|
417
|
+
it 'has a writable field padding' do
|
418
|
+
skip 'Anonymous union fields are not exposed in the GIR data'
|
419
|
+
end
|
420
|
+
end
|
397
421
|
it 'has the constant BOOL_CONSTANT' do
|
398
422
|
skip unless get_introspection_data 'Regress', 'BOOL_CONSTANT'
|
399
423
|
Regress::BOOL_CONSTANT.must_equal true
|
@@ -782,11 +806,11 @@ describe Regress do
|
|
782
806
|
|
783
807
|
describe "its 'string' property" do
|
784
808
|
it 'can be retrieved with #get_property' do
|
785
|
-
instance.get_property('string').
|
809
|
+
instance.get_property('string').must_be_nil
|
786
810
|
end
|
787
811
|
|
788
812
|
it 'can be retrieved with #string' do
|
789
|
-
instance.string.
|
813
|
+
instance.string.must_be_nil
|
790
814
|
end
|
791
815
|
|
792
816
|
it 'can be set with #set_property' do
|
@@ -895,7 +919,7 @@ describe Regress do
|
|
895
919
|
describe 'Regress::FooStruct' do
|
896
920
|
let(:instance) { Regress::FooStruct.new }
|
897
921
|
|
898
|
-
it 'blocks access to the field priv' do
|
922
|
+
it 'blocks access to the hidden struct field priv' do
|
899
923
|
proc { instance.priv = nil }.must_raise NoMethodError
|
900
924
|
proc { instance.priv }.must_raise NoMethodError
|
901
925
|
end
|
@@ -956,7 +980,6 @@ describe Regress do
|
|
956
980
|
|
957
981
|
describe 'Regress::FooSubobject' do
|
958
982
|
it 'creates an instance using #new' do
|
959
|
-
# TODO: Guard against instantiating abstract classes
|
960
983
|
skip 'This function is defined in the header but not implemented'
|
961
984
|
end
|
962
985
|
end
|
@@ -1167,7 +1190,7 @@ describe Regress do
|
|
1167
1190
|
instance.nested_a.some_int.must_equal 12_345
|
1168
1191
|
end
|
1169
1192
|
|
1170
|
-
it 'blocks access to the field priv' do
|
1193
|
+
it 'blocks access to the hidden struct field priv' do
|
1171
1194
|
proc { instance.priv = nil }.must_raise NoMethodError
|
1172
1195
|
proc { instance.priv }.must_raise NoMethodError
|
1173
1196
|
end
|
@@ -1440,20 +1463,18 @@ describe Regress do
|
|
1440
1463
|
proc { Regress::TestFundamentalObject.new }.must_raise NoMethodError
|
1441
1464
|
end
|
1442
1465
|
|
1443
|
-
|
1444
|
-
# TestFundamentalObject is an abstract class.
|
1445
|
-
let(:instance) { Regress::TestFundamentalSubObject.new 'foo' }
|
1466
|
+
let(:derived_instance) { Regress::TestFundamentalSubObject.new 'foo' }
|
1446
1467
|
|
1447
1468
|
it 'has a working method #ref' do
|
1448
|
-
|
1449
|
-
|
1450
|
-
|
1469
|
+
derived_instance.refcount.must_equal 1
|
1470
|
+
derived_instance.ref
|
1471
|
+
derived_instance.refcount.must_equal 2
|
1451
1472
|
end
|
1452
1473
|
|
1453
1474
|
it 'has a working method #unref' do
|
1454
|
-
|
1455
|
-
|
1456
|
-
|
1475
|
+
derived_instance.refcount.must_equal 1
|
1476
|
+
derived_instance.unref
|
1477
|
+
derived_instance.refcount.must_equal 0
|
1457
1478
|
end
|
1458
1479
|
end
|
1459
1480
|
|
@@ -1483,23 +1504,28 @@ describe Regress do
|
|
1483
1504
|
skip unless get_introspection_data 'Regress', 'TestInheritDrawable'
|
1484
1505
|
end
|
1485
1506
|
|
1486
|
-
|
1507
|
+
it 'cannot be instantiated' do
|
1508
|
+
proc { Regress::TestInheritDrawable.new }.must_raise NoMethodError
|
1509
|
+
end
|
1510
|
+
|
1511
|
+
let(:derived_instance) { ConcreteDrawable.new }
|
1512
|
+
|
1487
1513
|
it 'has a working method #do_foo' do
|
1488
|
-
|
1514
|
+
derived_instance.do_foo 42
|
1489
1515
|
pass
|
1490
1516
|
end
|
1491
1517
|
|
1492
1518
|
it 'has a working method #do_foo_maybe_throw' do
|
1493
|
-
|
1494
|
-
proc {
|
1519
|
+
derived_instance.do_foo_maybe_throw 42
|
1520
|
+
proc { derived_instance.do_foo_maybe_throw 41 }.must_raise GirFFI::GLibError
|
1495
1521
|
end
|
1496
1522
|
|
1497
1523
|
it 'has a working method #get_origin' do
|
1498
|
-
|
1524
|
+
derived_instance.get_origin.must_equal [0, 0]
|
1499
1525
|
end
|
1500
1526
|
|
1501
1527
|
it 'has a working method #get_size' do
|
1502
|
-
|
1528
|
+
derived_instance.get_size.must_equal [42, 42]
|
1503
1529
|
end
|
1504
1530
|
end
|
1505
1531
|
|
@@ -1596,6 +1622,17 @@ describe Regress do
|
|
1596
1622
|
instance.do_matrix('bar').must_equal 42
|
1597
1623
|
end
|
1598
1624
|
|
1625
|
+
it 'has a working method #emit_sig_with_array_len_prop' do
|
1626
|
+
skip unless get_method_introspection_data('Regress', 'TestObj',
|
1627
|
+
'emit_sig_with_array_len_prop')
|
1628
|
+
array = nil
|
1629
|
+
instance.signal_connect 'sig-with-array-len-prop' do |_obj, ary|
|
1630
|
+
array = ary.to_a
|
1631
|
+
end
|
1632
|
+
instance.emit_sig_with_array_len_prop
|
1633
|
+
array.to_a.must_equal [0, 1, 2, 3, 4]
|
1634
|
+
end
|
1635
|
+
|
1599
1636
|
it 'has a working method #emit_sig_with_foreign_struct' do
|
1600
1637
|
skip unless get_method_introspection_data('Regress', 'TestObj',
|
1601
1638
|
'emit_sig_with_foreign_struct')
|
@@ -1657,6 +1694,21 @@ describe Regress do
|
|
1657
1694
|
instance.ref_count.must_equal 1
|
1658
1695
|
end
|
1659
1696
|
|
1697
|
+
it 'has a working method #not_nullable_element_typed_gpointer_in' do
|
1698
|
+
skip unless get_method_introspection_data('Regress', 'TestObj',
|
1699
|
+
'not_nullable_element_typed_gpointer_in')
|
1700
|
+
instance.not_nullable_element_typed_gpointer_in [1, 2, 3]
|
1701
|
+
# TODO: Make method raise when passed nil
|
1702
|
+
end
|
1703
|
+
|
1704
|
+
it 'has a working method #not_nullable_typed_gpointer_in' do
|
1705
|
+
skip unless get_method_introspection_data('Regress', 'TestObj',
|
1706
|
+
'not_nullable_typed_gpointer_in')
|
1707
|
+
obj = Regress::TestObj.new_from_file('bar')
|
1708
|
+
instance.not_nullable_typed_gpointer_in obj
|
1709
|
+
# TODO: Make method raise when passed nil
|
1710
|
+
end
|
1711
|
+
|
1660
1712
|
it 'has a working method #set_bare' do
|
1661
1713
|
obj = Regress::TestObj.new_from_file('bar')
|
1662
1714
|
instance.set_bare obj
|
@@ -2198,7 +2250,7 @@ describe Regress do
|
|
2198
2250
|
Regress::TestPrivateEnum[:public_enum_before].must_equal 1
|
2199
2251
|
end
|
2200
2252
|
it 'does not have the member :private' do
|
2201
|
-
Regress::TestPrivateEnum[:private].
|
2253
|
+
Regress::TestPrivateEnum[:private].must_be_nil
|
2202
2254
|
end
|
2203
2255
|
it 'has the member :public_enum_after' do
|
2204
2256
|
Regress::TestPrivateEnum[:public_enum_after].must_equal 4
|
@@ -2432,7 +2484,7 @@ describe Regress do
|
|
2432
2484
|
|
2433
2485
|
it 'has a writable field obj' do
|
2434
2486
|
o = Regress::TestSubObj.new
|
2435
|
-
instance.obj.
|
2487
|
+
instance.obj.must_be_nil
|
2436
2488
|
instance.obj = o
|
2437
2489
|
instance.obj.must_equal o
|
2438
2490
|
end
|
@@ -2455,7 +2507,7 @@ describe Regress do
|
|
2455
2507
|
end
|
2456
2508
|
|
2457
2509
|
it 'has a writable field field' do
|
2458
|
-
instance.field.
|
2510
|
+
instance.field.must_be_nil
|
2459
2511
|
o = Regress::TestSubObj.new
|
2460
2512
|
instance.field = o
|
2461
2513
|
instance.field.must_equal o
|
@@ -2564,7 +2616,7 @@ describe Regress do
|
|
2564
2616
|
|
2565
2617
|
it 'has a writable field data1' do
|
2566
2618
|
instance.data1.must_be :null?
|
2567
|
-
instance.data1 =
|
2619
|
+
instance.data1 = FFI::MemoryPointer.new(:int32).tap { |it| it.put_int(0, 42) }
|
2568
2620
|
instance.data1.read_int.must_equal 42
|
2569
2621
|
end
|
2570
2622
|
|
@@ -2872,6 +2924,13 @@ describe Regress do
|
|
2872
2924
|
pass
|
2873
2925
|
end
|
2874
2926
|
|
2927
|
+
it 'has a working function #get_variant' do
|
2928
|
+
skip unless get_introspection_data 'Regress', 'get_variant'
|
2929
|
+
var = Regress.get_variant
|
2930
|
+
var.get_int32.must_equal 42
|
2931
|
+
# TODO: Make var not floating
|
2932
|
+
end
|
2933
|
+
|
2875
2934
|
it 'has a working function #global_get_flags_out' do
|
2876
2935
|
result = Regress.global_get_flags_out
|
2877
2936
|
result.must_equal(flag1: true, flag3: true)
|
@@ -3003,13 +3062,19 @@ describe Regress do
|
|
3003
3062
|
end
|
3004
3063
|
|
3005
3064
|
it 'has a working function #test_array_int_null_out' do
|
3006
|
-
|
3065
|
+
Regress.test_array_int_null_out.must_be_nil
|
3007
3066
|
end
|
3008
3067
|
|
3009
3068
|
it 'has a working function #test_array_int_out' do
|
3010
3069
|
Regress.test_array_int_out.must_be :==, [0, 1, 2, 3, 4]
|
3011
3070
|
end
|
3012
3071
|
|
3072
|
+
it 'has a working function #test_array_struct_out' do
|
3073
|
+
skip unless get_introspection_data 'Regress', 'test_array_struct_out'
|
3074
|
+
result = Regress.test_array_struct_out
|
3075
|
+
result.map(&:some_int).must_equal [22, 33, 44]
|
3076
|
+
end
|
3077
|
+
|
3013
3078
|
it 'has a working function #test_async_ready_callback' do
|
3014
3079
|
main_loop = GLib::MainLoop.new nil, false
|
3015
3080
|
|
@@ -3408,7 +3473,7 @@ describe Regress do
|
|
3408
3473
|
|
3409
3474
|
it 'has a working function #test_glist_null_out' do
|
3410
3475
|
result = Regress.test_glist_null_out
|
3411
|
-
|
3476
|
+
result.must_be_nil
|
3412
3477
|
end
|
3413
3478
|
|
3414
3479
|
it 'has a working function #test_gslist_container_return' do
|
@@ -3449,7 +3514,7 @@ describe Regress do
|
|
3449
3514
|
|
3450
3515
|
it 'has a working function #test_gslist_null_out' do
|
3451
3516
|
result = Regress.test_gslist_null_out
|
3452
|
-
|
3517
|
+
result.must_be_nil
|
3453
3518
|
end
|
3454
3519
|
|
3455
3520
|
it 'has a working function #test_gtype' do
|
@@ -3554,6 +3619,13 @@ describe Regress do
|
|
3554
3619
|
Regress.test_nested_parameter(3).must_be_nil
|
3555
3620
|
end
|
3556
3621
|
|
3622
|
+
it 'has a working function #test_noptr_callback' do
|
3623
|
+
skip unless get_introspection_data 'Regress', 'test_noptr_callback'
|
3624
|
+
a = 0
|
3625
|
+
Regress.test_noptr_callback { a = 1 }
|
3626
|
+
a.must_equal 1
|
3627
|
+
end
|
3628
|
+
|
3557
3629
|
it 'has a working function #test_null_gerror_callback' do
|
3558
3630
|
value = nil
|
3559
3631
|
Regress.test_owned_gerror_callback { |err| value = err }
|
@@ -3566,6 +3638,18 @@ describe Regress do
|
|
3566
3638
|
value.message.must_equal 'regression test owned error'
|
3567
3639
|
end
|
3568
3640
|
|
3641
|
+
it 'has a working function #test_return_allow_none' do
|
3642
|
+
skip unless get_introspection_data 'Regress', 'test_return_allow_none'
|
3643
|
+
result = Regress.test_return_allow_none
|
3644
|
+
result.must_be_nil
|
3645
|
+
end
|
3646
|
+
|
3647
|
+
it 'has a working function #test_return_nullable' do
|
3648
|
+
skip unless get_introspection_data 'Regress', 'test_return_nullable'
|
3649
|
+
result = Regress.test_return_nullable
|
3650
|
+
result.must_be_nil
|
3651
|
+
end
|
3652
|
+
|
3569
3653
|
it 'has a working function #test_short' do
|
3570
3654
|
result = Regress.test_short 23
|
3571
3655
|
assert_equal 23, result
|
@@ -3724,7 +3808,7 @@ describe Regress do
|
|
3724
3808
|
end
|
3725
3809
|
|
3726
3810
|
it 'has a working function #test_utf8_null_out' do
|
3727
|
-
|
3811
|
+
Regress.test_utf8_null_out.must_be_nil
|
3728
3812
|
end
|
3729
3813
|
|
3730
3814
|
it 'has a working function #test_utf8_out' do
|
@@ -3,6 +3,21 @@ require 'base_test_helper'
|
|
3
3
|
|
4
4
|
require 'ffi-gobject_introspection'
|
5
5
|
|
6
|
+
GObjectIntrospection::IRepository.prepend_search_path File.join(File.dirname(__FILE__), 'lib')
|
7
|
+
|
8
|
+
module LocalSharedLibrary
|
9
|
+
def shared_library(namespace)
|
10
|
+
case namespace
|
11
|
+
when 'Everything', 'GIMarshallingTests', 'Regress', 'Utility', 'WarnLib'
|
12
|
+
File.join(File.dirname(__FILE__), 'lib', "lib#{namespace.downcase}.so")
|
13
|
+
else
|
14
|
+
super
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
GObjectIntrospection::IRepository.prepend LocalSharedLibrary
|
20
|
+
|
6
21
|
module IntrospectionTestExtensions
|
7
22
|
module_function
|
8
23
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gir_ffi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matijs van Zuijlen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|
@@ -66,34 +66,20 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '5.5'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: minitest-rspec_mocks
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: 0.3.0
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: 0.3.0
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: rspec-mocks
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
86
72
|
requirements:
|
87
73
|
- - "~>"
|
88
74
|
- !ruby/object:Gem::Version
|
89
|
-
version: 3.
|
75
|
+
version: 3.5.0
|
90
76
|
type: :development
|
91
77
|
prerelease: false
|
92
78
|
version_requirements: !ruby/object:Gem::Requirement
|
93
79
|
requirements:
|
94
80
|
- - "~>"
|
95
81
|
- !ruby/object:Gem::Version
|
96
|
-
version: 3.
|
82
|
+
version: 3.5.0
|
97
83
|
- !ruby/object:Gem::Dependency
|
98
84
|
name: rake
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -173,6 +159,7 @@ files:
|
|
173
159
|
- lib/ffi-gobject/value.rb
|
174
160
|
- lib/ffi-gobject_introspection.rb
|
175
161
|
- lib/ffi-gobject_introspection/g_error.rb
|
162
|
+
- lib/ffi-gobject_introspection/gobject_type_init.rb
|
176
163
|
- lib/ffi-gobject_introspection/i_arg_info.rb
|
177
164
|
- lib/ffi-gobject_introspection/i_base_info.rb
|
178
165
|
- lib/ffi-gobject_introspection/i_callable_info.rb
|
@@ -195,15 +182,14 @@ files:
|
|
195
182
|
- lib/ffi-gobject_introspection/i_value_info.rb
|
196
183
|
- lib/ffi-gobject_introspection/i_vfunc_info.rb
|
197
184
|
- lib/ffi-gobject_introspection/lib.rb
|
185
|
+
- lib/ffi-gobject_introspection/strv.rb
|
198
186
|
- lib/gir_ffi-base.rb
|
199
|
-
- lib/gir_ffi-base/glib.rb
|
200
|
-
- lib/gir_ffi-base/glib/boolean.rb
|
201
|
-
- lib/gir_ffi-base/glib/strv.rb
|
202
187
|
- lib/gir_ffi-base/gobject.rb
|
203
188
|
- lib/gir_ffi-base/gobject/lib.rb
|
204
189
|
- lib/gir_ffi.rb
|
205
190
|
- lib/gir_ffi/allocation_helper.rb
|
206
191
|
- lib/gir_ffi/arg_helper.rb
|
192
|
+
- lib/gir_ffi/boolean.rb
|
207
193
|
- lib/gir_ffi/boxed_base.rb
|
208
194
|
- lib/gir_ffi/builder.rb
|
209
195
|
- lib/gir_ffi/builder_helper.rb
|
@@ -262,6 +248,7 @@ files:
|
|
262
248
|
- lib/gir_ffi/class_base.rb
|
263
249
|
- lib/gir_ffi/core.rb
|
264
250
|
- lib/gir_ffi/enum_base.rb
|
251
|
+
- lib/gir_ffi/enum_like_base.rb
|
265
252
|
- lib/gir_ffi/error_argument_info.rb
|
266
253
|
- lib/gir_ffi/error_type_info.rb
|
267
254
|
- lib/gir_ffi/ffi_ext.rb
|
@@ -311,8 +298,8 @@ files:
|
|
311
298
|
- lib/gir_ffi/unintrospectable_type_info.rb
|
312
299
|
- lib/gir_ffi/union.rb
|
313
300
|
- lib/gir_ffi/union_base.rb
|
301
|
+
- lib/gir_ffi/user_defined_object_info.rb
|
314
302
|
- lib/gir_ffi/user_defined_property_info.rb
|
315
|
-
- lib/gir_ffi/user_defined_type_info.rb
|
316
303
|
- lib/gir_ffi/variable_name_generator.rb
|
317
304
|
- lib/gir_ffi/version.rb
|
318
305
|
- lib/gir_ffi/vfunc_implementation.rb
|
@@ -323,6 +310,7 @@ files:
|
|
323
310
|
- test/ffi-glib/array_test.rb
|
324
311
|
- test/ffi-glib/byte_array_test.rb
|
325
312
|
- test/ffi-glib/bytes_test.rb
|
313
|
+
- test/ffi-glib/closure_test.rb
|
326
314
|
- test/ffi-glib/destroy_notify_test.rb
|
327
315
|
- test/ffi-glib/hash_table_test.rb
|
328
316
|
- test/ffi-glib/iconv_test.rb
|
@@ -338,6 +326,7 @@ files:
|
|
338
326
|
- test/ffi-gobject/object_test.rb
|
339
327
|
- test/ffi-gobject/param_spec_test.rb
|
340
328
|
- test/ffi-gobject/value_test.rb
|
329
|
+
- test/ffi-gobject_introspection/gobject_type_init_test.rb
|
341
330
|
- test/ffi-gobject_introspection/i_base_info_test.rb
|
342
331
|
- test/ffi-gobject_introspection/i_constant_info_test.rb
|
343
332
|
- test/ffi-gobject_introspection/i_enum_info_test.rb
|
@@ -350,11 +339,13 @@ files:
|
|
350
339
|
- test/ffi-gobject_introspection/i_struct_info_test.rb
|
351
340
|
- test/ffi-gobject_introspection/i_type_info_test.rb
|
352
341
|
- test/ffi-gobject_introspection/i_union_info_test.rb
|
342
|
+
- test/ffi-gobject_introspection/i_vfunc_info_test.rb
|
353
343
|
- test/ffi-gobject_introspection/lib_test.rb
|
344
|
+
- test/ffi-gobject_introspection/strv_test.rb
|
354
345
|
- test/ffi-gobject_test.rb
|
355
|
-
- test/gir_ffi
|
356
|
-
- test/gir_ffi-base/glib/strv_test.rb
|
346
|
+
- test/gir_ffi/allocation_helper_test.rb
|
357
347
|
- test/gir_ffi/arg_helper_test.rb
|
348
|
+
- test/gir_ffi/boolean_test.rb
|
358
349
|
- test/gir_ffi/boxed_base_test.rb
|
359
350
|
- test/gir_ffi/builder_test.rb
|
360
351
|
- test/gir_ffi/builders/argument_builder_test.rb
|
@@ -380,9 +371,11 @@ files:
|
|
380
371
|
- test/gir_ffi/builders/unintrospectable_builder_test.rb
|
381
372
|
- test/gir_ffi/builders/union_builder_test.rb
|
382
373
|
- test/gir_ffi/builders/user_defined_builder_test.rb
|
374
|
+
- test/gir_ffi/builders/vfunc_argument_builder_test.rb
|
383
375
|
- test/gir_ffi/builders/vfunc_builder_test.rb
|
384
376
|
- test/gir_ffi/callback_base_test.rb
|
385
377
|
- test/gir_ffi/class_base_test.rb
|
378
|
+
- test/gir_ffi/core_test.rb
|
386
379
|
- test/gir_ffi/error_type_info_test.rb
|
387
380
|
- test/gir_ffi/ffi_ext/pointer_test.rb
|
388
381
|
- test/gir_ffi/g_type_test.rb
|
@@ -401,17 +394,18 @@ files:
|
|
401
394
|
- test/gir_ffi/method_stubber_test.rb
|
402
395
|
- test/gir_ffi/object_base_test.rb
|
403
396
|
- test/gir_ffi/object_store_test.rb
|
397
|
+
- test/gir_ffi/receiver_argument_info_test.rb
|
404
398
|
- test/gir_ffi/sized_array_test.rb
|
405
399
|
- test/gir_ffi/struct_base_test.rb
|
400
|
+
- test/gir_ffi/struct_like_base_test.rb
|
406
401
|
- test/gir_ffi/type_map_test.rb
|
407
402
|
- test/gir_ffi/unintrospectable_type_info_test.rb
|
408
403
|
- test/gir_ffi/union_base_test.rb
|
404
|
+
- test/gir_ffi/user_defined_object_info_test.rb
|
409
405
|
- test/gir_ffi/user_defined_property_info_test.rb
|
410
|
-
- test/gir_ffi/user_defined_type_info_test.rb
|
411
406
|
- test/gir_ffi/variable_name_generator_test.rb
|
412
407
|
- test/gir_ffi/version_test.rb
|
413
408
|
- test/gir_ffi/zero_terminated_test.rb
|
414
|
-
- test/gir_ffi_test.rb
|
415
409
|
- test/gir_ffi_test_helper.rb
|
416
410
|
- test/integration/callback_exceptions_test.rb
|
417
411
|
- test/integration/derived_classes_test.rb
|
@@ -449,7 +443,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
449
443
|
requirements:
|
450
444
|
- - ">="
|
451
445
|
- !ruby/object:Gem::Version
|
452
|
-
version: 2.
|
446
|
+
version: 2.1.0
|
453
447
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
454
448
|
requirements:
|
455
449
|
- - ">="
|
data/lib/gir_ffi-base/glib.rb
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
require 'base_test_helper'
|
3
|
-
|
4
|
-
describe GLib::Boolean do
|
5
|
-
it 'has the same native size as an int' do
|
6
|
-
FFI.type_size(GLib::Boolean).must_equal FFI.type_size :int
|
7
|
-
end
|
8
|
-
|
9
|
-
describe '.from_native' do
|
10
|
-
it 'converts 0 to false' do
|
11
|
-
GLib::Boolean.from_native(0, 'whatever').must_equal false
|
12
|
-
end
|
13
|
-
|
14
|
-
it 'converts 1 to true' do
|
15
|
-
GLib::Boolean.from_native(1, 'whatever').must_equal true
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
describe '.to_native' do
|
20
|
-
it 'converts false to 0' do
|
21
|
-
GLib::Boolean.to_native(false, 'whatever').must_equal 0
|
22
|
-
end
|
23
|
-
|
24
|
-
it 'converts true to 1' do
|
25
|
-
GLib::Boolean.to_native(true, 'whatever').must_equal 1
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
describe '.size' do
|
30
|
-
it 'returns the correct type size' do
|
31
|
-
GLib::Boolean.size.must_equal FFI.type_size :int
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|