gir_ffi 0.5.2 → 0.6.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.
Files changed (78) hide show
  1. data/History.txt +5 -0
  2. data/lib/ffi-glib/array.rb +2 -3
  3. data/lib/ffi-glib/container_class_methods.rb +3 -4
  4. data/lib/ffi-glib/hash_table.rb +7 -3
  5. data/lib/ffi-glib/list_methods.rb +1 -1
  6. data/lib/ffi-glib/sized_array.rb +66 -0
  7. data/lib/ffi-glib/strv.rb +1 -1
  8. data/lib/ffi-glib.rb +5 -4
  9. data/lib/ffi-gobject/object.rb +2 -3
  10. data/lib/ffi-gobject/ruby_closure.rb +3 -2
  11. data/lib/ffi-gobject/value.rb +26 -14
  12. data/lib/ffi-gobject.rb +8 -5
  13. data/lib/ffi-gobject_introspection/g_error.rb +1 -0
  14. data/lib/ffi-gobject_introspection/i_base_info.rb +3 -2
  15. data/lib/ffi-gobject_introspection/i_union_info.rb +21 -8
  16. data/lib/ffi-gobject_introspection/lib.rb +1 -0
  17. data/lib/gir_ffi/argument_builder.rb +8 -20
  18. data/lib/gir_ffi/base_argument_builder.rb +13 -30
  19. data/lib/gir_ffi/builder/module.rb +3 -9
  20. data/lib/gir_ffi/builder/type/base.rb +2 -0
  21. data/lib/gir_ffi/builder/type/callback.rb +2 -2
  22. data/lib/gir_ffi/builder/type/enum.rb +1 -0
  23. data/lib/gir_ffi/builder/type/object.rb +13 -3
  24. data/lib/gir_ffi/builder/type/registered_type.rb +1 -1
  25. data/lib/gir_ffi/builder/type/struct.rb +18 -3
  26. data/lib/gir_ffi/builder/type/unintrospectable.rb +5 -45
  27. data/lib/gir_ffi/builder/type/user_defined.rb +3 -15
  28. data/lib/gir_ffi/builder/type.rb +5 -5
  29. data/lib/gir_ffi/builder.rb +5 -80
  30. data/lib/gir_ffi/callback.rb +65 -2
  31. data/lib/gir_ffi/callback_helper.rb +0 -56
  32. data/lib/gir_ffi/class_base.rb +2 -2
  33. data/lib/gir_ffi/in_out_pointer.rb +7 -28
  34. data/lib/gir_ffi/in_pointer.rb +12 -19
  35. data/lib/gir_ffi/info_ext/i_arg_info.rb +5 -0
  36. data/lib/gir_ffi/info_ext/i_callable_info.rb +16 -0
  37. data/lib/gir_ffi/info_ext/i_function_info.rb +15 -0
  38. data/lib/gir_ffi/info_ext/i_signal_info.rb +17 -10
  39. data/lib/gir_ffi/info_ext/i_type_info.rb +63 -39
  40. data/lib/gir_ffi/info_ext.rb +5 -3
  41. data/lib/gir_ffi/null_argument_builder.rb +1 -1
  42. data/lib/gir_ffi/return_value_builder.rb +24 -16
  43. data/lib/gir_ffi/unintrospectable_type_info.rb +41 -0
  44. data/lib/gir_ffi/user_defined_property_info.rb +15 -0
  45. data/lib/gir_ffi/user_defined_type_info.rb +25 -0
  46. data/lib/gir_ffi/version.rb +1 -1
  47. data/lib/gir_ffi-base.rb +3 -0
  48. data/lib/gir_ffi.rb +2 -1
  49. data/test/ffi-glib/sized_array_test.rb +87 -0
  50. data/test/ffi-gobject_introspection/i_base_info_test.rb +4 -5
  51. data/test/gir_ffi/argument_builder_test.rb +26 -55
  52. data/test/gir_ffi/builder/type/unintrospectable_test.rb +3 -19
  53. data/test/gir_ffi/builder/type/user_defined_test.rb +16 -21
  54. data/test/gir_ffi/builder_test.rb +31 -53
  55. data/test/gir_ffi/callback_helper_test.rb +0 -47
  56. data/test/gir_ffi/callback_test.rb +49 -0
  57. data/test/gir_ffi/function_builder_test.rb +8 -8
  58. data/test/gir_ffi/in_out_pointer_test.rb +2 -53
  59. data/test/gir_ffi/in_pointer_test.rb +0 -13
  60. data/test/gir_ffi/info_ext/i_callable_info_test.rb +32 -0
  61. data/test/gir_ffi/info_ext/i_function_info_test.rb +61 -0
  62. data/test/gir_ffi/info_ext/i_signal_info_test.rb +7 -0
  63. data/test/gir_ffi/info_ext/i_type_info_test.rb +158 -77
  64. data/test/gir_ffi/return_value_builder_test.rb +2 -2
  65. data/test/gir_ffi/unintrospectable_type_info_test.rb +95 -0
  66. data/test/gir_ffi/user_defined_property_info_test.rb +19 -0
  67. data/test/gir_ffi/user_defined_type_info_test.rb +34 -0
  68. data/test/integration/generated_gimarshallingtests_test.rb +10 -10
  69. data/test/integration/generated_regress_test.rb +10 -10
  70. metadata +24 -15
  71. data/lib/gir_ffi/builder/type/struct_based.rb +0 -31
  72. data/lib/gir_ffi/user_defined/i_base_info.rb +0 -7
  73. data/lib/gir_ffi/user_defined/i_object_info.rb +0 -13
  74. data/lib/gir_ffi/user_defined/i_property_info.rb +0 -9
  75. data/lib/gir_ffi/user_defined/i_registered_type_info.rb +0 -10
  76. data/test/gir_ffi/user_defined/i_object_info_test.rb +0 -18
  77. data/test/gir_ffi/user_defined/i_property_info_test.rb +0 -14
  78. data/test/gir_ffi/user_defined/i_registered_type_info_test.rb +0 -10
@@ -0,0 +1,34 @@
1
+ require 'gir_ffi_test_helper'
2
+ require 'gir_ffi/user_defined_type_info'
3
+
4
+ describe GirFFI::UserDefinedTypeInfo do
5
+ describe "#described_class" do
6
+ it "returns the class passed to #initialize" do
7
+ info = GirFFI::UserDefinedTypeInfo.new :some_class
8
+ info.described_class.must_equal :some_class
9
+ end
10
+ end
11
+
12
+ describe "#install_property" do
13
+ it "adds the passed in property to the list of properties" do
14
+ mock(foo_spec = Object.new).get_name { :foo }
15
+
16
+ info = GirFFI::UserDefinedTypeInfo.new :some_class
17
+ info.install_property foo_spec
18
+ info.properties.map(&:name).must_equal [:foo]
19
+ end
20
+ end
21
+
22
+ describe "#initialize" do
23
+ it "takes a block that is evaluated in the context of the instance" do
24
+ mock(foo_spec = Object.new).get_name { :foo }
25
+ mock(bar_spec = Object.new).get_name { :bar }
26
+
27
+ info = GirFFI::UserDefinedTypeInfo.new :some_class do
28
+ install_property foo_spec
29
+ install_property bar_spec
30
+ end
31
+ info.properties.map(&:name).must_equal [:foo, :bar]
32
+ end
33
+ end
34
+ end
@@ -301,17 +301,17 @@ describe GIMarshallingTests do
301
301
 
302
302
  it "has a working method #method_array_inout" do
303
303
  res = instance.method_array_inout [-1, 0, 1, 2]
304
- assert_equal [-2, -1, 0, 1, 2], res
304
+ assert_equal [-2, -1, 0, 1, 2], res.to_a
305
305
  end
306
306
 
307
307
  it "has a working method #method_array_out" do
308
308
  res = instance.method_array_out
309
- assert_equal [-1, 0, 1, 2], res
309
+ assert_equal [-1, 0, 1, 2], res.to_a
310
310
  end
311
311
 
312
312
  it "has a working method #method_array_return" do
313
313
  res = instance.method_array_return
314
- assert_equal [-1, 0, 1, 2], res
314
+ assert_equal [-1, 0, 1, 2], res.to_a
315
315
  end
316
316
 
317
317
  it "has a working method #method_int8_in" do
@@ -609,7 +609,7 @@ describe GIMarshallingTests do
609
609
 
610
610
  it "has a working function #array_fixed_inout" do
611
611
  res = GIMarshallingTests.array_fixed_inout [-1, 0, 1, 2]
612
- assert_equal [2, 1, 0, -1], res
612
+ assert_equal [2, 1, 0, -1], res.to_a
613
613
  end
614
614
 
615
615
  it "has a working function #array_fixed_int_in" do
@@ -619,12 +619,12 @@ describe GIMarshallingTests do
619
619
 
620
620
  it "has a working function #array_fixed_int_return" do
621
621
  res = GIMarshallingTests.array_fixed_int_return
622
- assert_equal [-1, 0, 1, 2], res
622
+ assert_equal [-1, 0, 1, 2], res.to_a
623
623
  end
624
624
 
625
625
  it "has a working function #array_fixed_out" do
626
626
  res = GIMarshallingTests.array_fixed_out
627
- assert_equal [-1, 0, 1, 2], res
627
+ assert_equal [-1, 0, 1, 2], res.to_a
628
628
  end
629
629
 
630
630
  it "has a working function #array_fixed_out_struct" do
@@ -639,7 +639,7 @@ describe GIMarshallingTests do
639
639
 
640
640
  it "has a working function #array_fixed_short_return" do
641
641
  res = GIMarshallingTests.array_fixed_short_return
642
- assert_equal [-1, 0, 1, 2], res
642
+ assert_equal [-1, 0, 1, 2], res.to_a
643
643
  end
644
644
 
645
645
  it "has a working function #array_gvariant_container_in" do
@@ -684,7 +684,7 @@ describe GIMarshallingTests do
684
684
 
685
685
  it "has a working function #array_inout" do
686
686
  res = GIMarshallingTests.array_inout [-1, 0, 1, 2]
687
- assert_equal [-2, -1, 0, 1, 2], res
687
+ assert_equal [-2, -1, 0, 1, 2], res.to_a
688
688
  end
689
689
 
690
690
  it "has a working function #array_inout_etc" do
@@ -693,7 +693,7 @@ describe GIMarshallingTests do
693
693
 
694
694
  it "has a working function #array_out" do
695
695
  res = GIMarshallingTests.array_out
696
- assert_equal [-1, 0, 1, 2], res
696
+ assert_equal [-1, 0, 1, 2], res.to_a
697
697
  end
698
698
 
699
699
  it "has a working function #array_out_etc" do
@@ -702,7 +702,7 @@ describe GIMarshallingTests do
702
702
 
703
703
  it "has a working function #array_return" do
704
704
  res = GIMarshallingTests.array_return
705
- assert_equal [-1, 0, 1, 2], res
705
+ assert_equal [-1, 0, 1, 2], res.to_a
706
706
  end
707
707
 
708
708
  it "has a working function #array_return_etc" do
@@ -885,9 +885,9 @@ describe Regress do
885
885
 
886
886
  it "has a working method #set_testbool" do
887
887
  instance.set_testbool true
888
- assert_equal 1, get_field_value(instance, :testbool)
888
+ assert_equal true, get_field_value(instance, :testbool)
889
889
  instance.set_testbool false
890
- assert_equal 0, get_field_value(instance, :testbool)
890
+ assert_equal false, get_field_value(instance, :testbool)
891
891
  end
892
892
 
893
893
  describe "an instance" do
@@ -953,7 +953,7 @@ describe Regress do
953
953
  end
954
954
 
955
955
  it "has a working function #test_array_fixed_out_objects" do
956
- result = Regress.test_array_fixed_out_objects
956
+ result = Regress.test_array_fixed_out_objects.to_a
957
957
 
958
958
  assert_equal 2, result.length
959
959
 
@@ -980,11 +980,11 @@ describe Regress do
980
980
  end
981
981
 
982
982
  it "has a working function #test_array_fixed_size_int_out" do
983
- assert_equal [0, 1, 2, 3, 4], Regress.test_array_fixed_size_int_out
983
+ assert_equal [0, 1, 2, 3, 4], Regress.test_array_fixed_size_int_out.to_a
984
984
  end
985
985
 
986
986
  it "has a working function #test_array_fixed_size_int_return" do
987
- assert_equal [0, 1, 2, 3, 4], Regress.test_array_fixed_size_int_return
987
+ assert_equal [0, 1, 2, 3, 4], Regress.test_array_fixed_size_int_return.to_a
988
988
  end
989
989
 
990
990
  it "has a working function #test_array_gint16_in" do
@@ -1010,7 +1010,7 @@ describe Regress do
1010
1010
  end
1011
1011
 
1012
1012
  it "has a working function #test_array_int_full_out" do
1013
- assert_equal [0, 1, 2, 3, 4], Regress.test_array_int_full_out
1013
+ assert_equal [0, 1, 2, 3, 4], Regress.test_array_int_full_out.to_a
1014
1014
  end
1015
1015
 
1016
1016
  it "has a working function #test_array_int_in" do
@@ -1018,11 +1018,11 @@ describe Regress do
1018
1018
  end
1019
1019
 
1020
1020
  it "has a working function #test_array_int_inout" do
1021
- assert_equal [3, 4], Regress.test_array_int_inout([5, 2, 3])
1021
+ assert_equal [3, 4], Regress.test_array_int_inout([5, 2, 3]).to_a
1022
1022
  end
1023
1023
 
1024
1024
  it "has a working function #test_array_int_none_out" do
1025
- assert_equal [1, 2, 3, 4, 5], Regress.test_array_int_none_out
1025
+ assert_equal [1, 2, 3, 4, 5], Regress.test_array_int_none_out.to_a
1026
1026
  end
1027
1027
 
1028
1028
  it "has a working function #test_array_int_null_in" do
@@ -1034,7 +1034,7 @@ describe Regress do
1034
1034
  end
1035
1035
 
1036
1036
  it "has a working function #test_array_int_out" do
1037
- assert_equal [0, 1, 2, 3, 4], Regress.test_array_int_out
1037
+ assert_equal [0, 1, 2, 3, 4], Regress.test_array_int_out.to_a
1038
1038
  end
1039
1039
 
1040
1040
  it "has a working function #test_async_ready_callback" do
@@ -1664,7 +1664,7 @@ describe Regress do
1664
1664
  begin
1665
1665
  Regress.this_method_does_not_exist
1666
1666
  rescue => e
1667
- assert_equal "undefined method `this_method_does_not_exist' for Regress:Module", e.message
1667
+ e.message.must_match(/^undefined method `this_method_does_not_exist' (for Regress:Module|on Regress \(Module\))$/)
1668
1668
  end
1669
1669
  end
1670
1670
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gir_ffi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.6.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-23 00:00:00.000000000 Z
12
+ date: 2013-06-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ffi
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: '1.2'
21
+ version: '1.8'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: '1.2'
29
+ version: '1.8'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: indentation
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -115,7 +115,6 @@ files:
115
115
  - lib/gir_ffi/builder/type/object.rb
116
116
  - lib/gir_ffi/builder/type/with_methods.rb
117
117
  - lib/gir_ffi/builder/type/with_layout.rb
118
- - lib/gir_ffi/builder/type/struct_based.rb
119
118
  - lib/gir_ffi/builder/type/enum.rb
120
119
  - lib/gir_ffi/builder/type/interface.rb
121
120
  - lib/gir_ffi/builder/type/registered_type.rb
@@ -129,12 +128,10 @@ files:
129
128
  - lib/gir_ffi/info_ext.rb
130
129
  - lib/gir_ffi/allocation_helper.rb
131
130
  - lib/gir_ffi/type_map.rb
132
- - lib/gir_ffi/user_defined/i_property_info.rb
133
- - lib/gir_ffi/user_defined/i_base_info.rb
134
- - lib/gir_ffi/user_defined/i_object_info.rb
135
- - lib/gir_ffi/user_defined/i_registered_type_info.rb
136
131
  - lib/gir_ffi/zero_terminated.rb
132
+ - lib/gir_ffi/unintrospectable_type_info.rb
137
133
  - lib/gir_ffi/callback.rb
134
+ - lib/gir_ffi/user_defined_property_info.rb
138
135
  - lib/gir_ffi/argument_builder.rb
139
136
  - lib/gir_ffi/error_argument_builder.rb
140
137
  - lib/gir_ffi/ffi_ext/pointer.rb
@@ -151,6 +148,8 @@ files:
151
148
  - lib/gir_ffi/interface_base.rb
152
149
  - lib/gir_ffi/info_ext/i_arg_info.rb
153
150
  - lib/gir_ffi/info_ext/i_type_info.rb
151
+ - lib/gir_ffi/info_ext/i_function_info.rb
152
+ - lib/gir_ffi/info_ext/i_callable_info.rb
154
153
  - lib/gir_ffi/info_ext/i_field_info.rb
155
154
  - lib/gir_ffi/info_ext/safe_constant_name.rb
156
155
  - lib/gir_ffi/info_ext/i_property_info.rb
@@ -159,6 +158,7 @@ files:
159
158
  - lib/gir_ffi/info_ext/i_registered_type_info.rb
160
159
  - lib/gir_ffi/module_base.rb
161
160
  - lib/gir_ffi/base_argument_builder.rb
161
+ - lib/gir_ffi/user_defined_type_info.rb
162
162
  - lib/gir_ffi/class_base.rb
163
163
  - lib/gir_ffi/object_base.rb
164
164
  - lib/gir_ffi/function_builder.rb
@@ -180,6 +180,7 @@ files:
180
180
  - lib/ffi-glib/strv.rb
181
181
  - lib/ffi-glib/byte_array.rb
182
182
  - lib/ffi-glib/ptr_array.rb
183
+ - lib/ffi-glib/sized_array.rb
183
184
  - lib/ffi-glib/s_list.rb
184
185
  - lib/ffi-gobject_introspection/i_struct_info.rb
185
186
  - lib/ffi-gobject_introspection/i_callback_info.rb
@@ -226,11 +227,9 @@ files:
226
227
  - test/gir_ffi/builder/type/unintrospectable_test.rb
227
228
  - test/gir_ffi/builder/type/interface_test.rb
228
229
  - test/gir_ffi/builder/module_test.rb
230
+ - test/gir_ffi/user_defined_property_info_test.rb
229
231
  - test/gir_ffi/zero_terminated_test.rb
230
232
  - test/gir_ffi/object_base_test.rb
231
- - test/gir_ffi/user_defined/i_registered_type_info_test.rb
232
- - test/gir_ffi/user_defined/i_object_info_test.rb
233
- - test/gir_ffi/user_defined/i_property_info_test.rb
234
233
  - test/gir_ffi/builder_test.rb
235
234
  - test/gir_ffi/in_pointer_test.rb
236
235
  - test/gir_ffi/in_out_pointer_test.rb
@@ -238,16 +237,21 @@ files:
238
237
  - test/gir_ffi/function_builder_test.rb
239
238
  - test/gir_ffi/variable_name_generator_test.rb
240
239
  - test/gir_ffi/callback_helper_test.rb
240
+ - test/gir_ffi/callback_test.rb
241
241
  - test/gir_ffi/base_argument_builder_test.rb
242
242
  - test/gir_ffi/class_base_test.rb
243
243
  - test/gir_ffi/argument_builder_test.rb
244
244
  - test/gir_ffi/return_value_builder_test.rb
245
+ - test/gir_ffi/user_defined_type_info_test.rb
246
+ - test/gir_ffi/unintrospectable_type_info_test.rb
247
+ - test/gir_ffi/info_ext/i_callable_info_test.rb
245
248
  - test/gir_ffi/info_ext/i_type_info_test.rb
246
249
  - test/gir_ffi/info_ext/i_arg_info_test.rb
247
250
  - test/gir_ffi/info_ext/i_signal_info_test.rb
248
251
  - test/gir_ffi/info_ext/safe_constant_name_test.rb
249
252
  - test/gir_ffi/info_ext/safe_function_name_test.rb
250
253
  - test/gir_ffi/info_ext/i_field_info_test.rb
254
+ - test/gir_ffi/info_ext/i_function_info_test.rb
251
255
  - test/gir_ffi/interface_base_test.rb
252
256
  - test/gir_ffi-base/glib/strv_test.rb
253
257
  - test/ffi-gobject/object_class_test.rb
@@ -263,6 +267,7 @@ files:
263
267
  - test/ffi-glib/ptr_array_test.rb
264
268
  - test/ffi-glib/byte_array_test.rb
265
269
  - test/ffi-glib/ruby_closure_test.rb
270
+ - test/ffi-glib/sized_array_test.rb
266
271
  - test/ffi-gobject_introspection/i_repository_test.rb
267
272
  - test/ffi-gobject_introspection/i_constant_info_test.rb
268
273
  - test/ffi-gobject_introspection/i_base_info_test.rb
@@ -321,6 +326,7 @@ test_files:
321
326
  - test/ffi-glib/ptr_array_test.rb
322
327
  - test/ffi-glib/ruby_closure_test.rb
323
328
  - test/ffi-glib/s_list_test.rb
329
+ - test/ffi-glib/sized_array_test.rb
324
330
  - test/ffi-gobject/gobject_test.rb
325
331
  - test/ffi-gobject/object_class_test.rb
326
332
  - test/ffi-gobject/object_test.rb
@@ -349,12 +355,15 @@ test_files:
349
355
  - test/gir_ffi/builder/type/user_defined_test.rb
350
356
  - test/gir_ffi/builder_test.rb
351
357
  - test/gir_ffi/callback_helper_test.rb
358
+ - test/gir_ffi/callback_test.rb
352
359
  - test/gir_ffi/class_base_test.rb
353
360
  - test/gir_ffi/function_builder_test.rb
354
361
  - test/gir_ffi/in_out_pointer_test.rb
355
362
  - test/gir_ffi/in_pointer_test.rb
356
363
  - test/gir_ffi/info_ext/i_arg_info_test.rb
364
+ - test/gir_ffi/info_ext/i_callable_info_test.rb
357
365
  - test/gir_ffi/info_ext/i_field_info_test.rb
366
+ - test/gir_ffi/info_ext/i_function_info_test.rb
358
367
  - test/gir_ffi/info_ext/i_signal_info_test.rb
359
368
  - test/gir_ffi/info_ext/i_type_info_test.rb
360
369
  - test/gir_ffi/info_ext/safe_constant_name_test.rb
@@ -362,9 +371,9 @@ test_files:
362
371
  - test/gir_ffi/interface_base_test.rb
363
372
  - test/gir_ffi/object_base_test.rb
364
373
  - test/gir_ffi/return_value_builder_test.rb
365
- - test/gir_ffi/user_defined/i_object_info_test.rb
366
- - test/gir_ffi/user_defined/i_property_info_test.rb
367
- - test/gir_ffi/user_defined/i_registered_type_info_test.rb
374
+ - test/gir_ffi/unintrospectable_type_info_test.rb
375
+ - test/gir_ffi/user_defined_property_info_test.rb
376
+ - test/gir_ffi/user_defined_type_info_test.rb
368
377
  - test/gir_ffi/variable_name_generator_test.rb
369
378
  - test/gir_ffi/zero_terminated_test.rb
370
379
  - test/gir_ffi_test.rb
@@ -1,31 +0,0 @@
1
- require 'gir_ffi/builder/type/registered_type'
2
- require 'gir_ffi/builder/type/with_layout'
3
- require 'gir_ffi/builder/type/with_methods'
4
-
5
- module GirFFI
6
- module Builder
7
- module Type
8
-
9
- # Implements the creation of a class representing one of the types
10
- # whose C representation is a struct, i.e., :object and :struct.
11
- class StructBased < RegisteredType
12
- include WithMethods
13
- include WithLayout
14
-
15
- private
16
-
17
- def setup_class
18
- setup_layout
19
- setup_constants
20
- stub_methods
21
- setup_gtype_getter
22
- setup_field_accessors
23
- end
24
-
25
- def layout_superclass
26
- FFI::Struct
27
- end
28
- end
29
- end
30
- end
31
- end
@@ -1,7 +0,0 @@
1
- module GirFFI
2
- module UserDefined
3
- class IBaseInfo
4
- attr_accessor :name
5
- end
6
- end
7
- end
@@ -1,13 +0,0 @@
1
- require 'gir_ffi/user_defined/i_registered_type_info'
2
-
3
- module GirFFI
4
- module UserDefined
5
- class IObjectInfo < IRegisteredTypeInfo
6
- attr_accessor :properties
7
- def initialize
8
- @properties = []
9
- end
10
- end
11
- end
12
- end
13
-
@@ -1,9 +0,0 @@
1
- require 'gir_ffi/user_defined/i_base_info'
2
-
3
- module GirFFI
4
- module UserDefined
5
- class IPropertyInfo < IBaseInfo
6
- attr_accessor :property_type
7
- end
8
- end
9
- end
@@ -1,10 +0,0 @@
1
- require 'gir_ffi/user_defined/i_base_info'
2
-
3
- module GirFFI
4
- module UserDefined
5
- class IRegisteredTypeInfo < IBaseInfo
6
- end
7
- end
8
- end
9
-
10
-
@@ -1,18 +0,0 @@
1
- require 'gir_ffi_test_helper'
2
-
3
- describe GirFFI::UserDefined::IObjectInfo do
4
- it "has the attribute #properties" do
5
- inf = GirFFI::UserDefined::IObjectInfo.new
6
- inf.properties.must_equal []
7
- inf.properties << :foo
8
- inf.properties.must_equal [:foo]
9
- inf.properties = [:bar, :baz]
10
- inf.properties.must_equal [:bar, :baz]
11
- end
12
-
13
- it "derives from GirFFI::UserDefined::IRegisteredTypeInfo" do
14
- inf = GirFFI::UserDefined::IObjectInfo.new
15
- inf.must_be_kind_of GirFFI::UserDefined::IRegisteredTypeInfo
16
- end
17
- end
18
-
@@ -1,14 +0,0 @@
1
- require 'gir_ffi_test_helper'
2
-
3
- describe GirFFI::UserDefined::IPropertyInfo do
4
- it "has the attribute #property_type" do
5
- inf = GirFFI::UserDefined::IPropertyInfo.new
6
- inf.property_type = :foo
7
- inf.property_type.must_equal :foo
8
- end
9
-
10
- it "derives from GirFFI::UserDefined::IBaseInfo" do
11
- inf = GirFFI::UserDefined::IPropertyInfo.new
12
- inf.must_be_kind_of GirFFI::UserDefined::IBaseInfo
13
- end
14
- end
@@ -1,10 +0,0 @@
1
- require 'gir_ffi_test_helper'
2
-
3
- describe GirFFI::UserDefined::IRegisteredTypeInfo do
4
- it "derives from GirFFI::UserDefined::IBaseInfo" do
5
- inf = GirFFI::UserDefined::IRegisteredTypeInfo.new
6
- inf.must_be_kind_of GirFFI::UserDefined::IBaseInfo
7
- end
8
- end
9
-
10
-