gir_ffi 0.7.10 → 0.8.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 (150) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +6 -0
  3. data/Gemfile +3 -1
  4. data/README.md +5 -2
  5. data/lib/ffi-glib.rb +1 -0
  6. data/lib/ffi-glib/array.rb +6 -6
  7. data/lib/ffi-glib/array_methods.rb +1 -1
  8. data/lib/ffi-glib/byte_array.rb +1 -1
  9. data/lib/ffi-glib/bytes.rb +3 -3
  10. data/lib/ffi-glib/container_class_methods.rb +2 -2
  11. data/lib/ffi-glib/error.rb +2 -2
  12. data/lib/ffi-glib/hash_table.rb +9 -9
  13. data/lib/ffi-glib/iconv.rb +1 -1
  14. data/lib/ffi-glib/list.rb +2 -2
  15. data/lib/ffi-glib/list_methods.rb +8 -7
  16. data/lib/ffi-glib/main_loop.rb +1 -1
  17. data/lib/ffi-glib/ptr_array.rb +7 -7
  18. data/lib/ffi-glib/s_list.rb +2 -2
  19. data/lib/ffi-glib/strv.rb +3 -3
  20. data/lib/ffi-glib/variant.rb +9 -2
  21. data/lib/ffi-gobject.rb +10 -10
  22. data/lib/ffi-gobject/closure.rb +1 -1
  23. data/lib/ffi-gobject/initially_unowned.rb +4 -3
  24. data/lib/ffi-gobject/object.rb +19 -19
  25. data/lib/ffi-gobject/object_class.rb +2 -2
  26. data/lib/ffi-gobject/ruby_closure.rb +5 -4
  27. data/lib/ffi-gobject/value.rb +15 -20
  28. data/lib/ffi-gobject_introspection/g_error.rb +1 -1
  29. data/lib/ffi-gobject_introspection/i_base_info.rb +6 -6
  30. data/lib/ffi-gobject_introspection/i_callable_info.rb +1 -1
  31. data/lib/ffi-gobject_introspection/i_enum_info.rb +2 -2
  32. data/lib/ffi-gobject_introspection/i_interface_info.rb +8 -8
  33. data/lib/ffi-gobject_introspection/i_object_info.rb +9 -9
  34. data/lib/ffi-gobject_introspection/i_repository.rb +13 -13
  35. data/lib/ffi-gobject_introspection/i_struct_info.rb +2 -2
  36. data/lib/ffi-gobject_introspection/i_type_info.rb +1 -1
  37. data/lib/ffi-gobject_introspection/i_union_info.rb +3 -3
  38. data/lib/ffi-gobject_introspection/lib.rb +4 -4
  39. data/lib/gir_ffi-base/glib/boolean.rb +4 -4
  40. data/lib/gir_ffi-base/glib/strv.rb +2 -2
  41. data/lib/gir_ffi/allocation_helper.rb +1 -1
  42. data/lib/gir_ffi/arg_helper.rb +8 -8
  43. data/lib/gir_ffi/boxed_base.rb +5 -9
  44. data/lib/gir_ffi/builder.rb +4 -4
  45. data/lib/gir_ffi/builder_helper.rb +3 -3
  46. data/lib/gir_ffi/builders/argument_builder_collection.rb +1 -1
  47. data/lib/gir_ffi/builders/base_argument_builder.rb +3 -3
  48. data/lib/gir_ffi/builders/base_method_builder.rb +71 -0
  49. data/lib/gir_ffi/builders/base_type_builder.rb +1 -1
  50. data/lib/gir_ffi/builders/boxed_builder.rb +3 -2
  51. data/lib/gir_ffi/builders/c_to_ruby_convertor.rb +1 -1
  52. data/lib/gir_ffi/builders/closure_convertor.rb +1 -1
  53. data/lib/gir_ffi/builders/closure_to_pointer_convertor.rb +1 -1
  54. data/lib/gir_ffi/builders/constructor_builder.rb +52 -0
  55. data/lib/gir_ffi/builders/enum_builder.rb +3 -3
  56. data/lib/gir_ffi/builders/field_builder.rb +3 -2
  57. data/lib/gir_ffi/builders/function_builder.rb +9 -50
  58. data/lib/gir_ffi/builders/initializer_builder.rb +32 -0
  59. data/lib/gir_ffi/builders/initializer_return_value_builder.rb +16 -0
  60. data/lib/gir_ffi/builders/mapping_method_builder.rb +7 -5
  61. data/lib/gir_ffi/builders/marshalling_method_builder.rb +5 -3
  62. data/lib/gir_ffi/builders/method_template.rb +1 -1
  63. data/lib/gir_ffi/builders/module_builder.rb +8 -7
  64. data/lib/gir_ffi/builders/null_convertor.rb +1 -1
  65. data/lib/gir_ffi/builders/null_return_value_builder.rb +21 -0
  66. data/lib/gir_ffi/builders/object_builder.rb +3 -3
  67. data/lib/gir_ffi/builders/property_builder.rb +1 -1
  68. data/lib/gir_ffi/builders/registered_type_builder.rb +31 -15
  69. data/lib/gir_ffi/builders/return_value_builder.rb +1 -14
  70. data/lib/gir_ffi/builders/ruby_to_c_convertor.rb +2 -2
  71. data/lib/gir_ffi/builders/signal_closure_builder.rb +1 -1
  72. data/lib/gir_ffi/builders/type_builder.rb +2 -2
  73. data/lib/gir_ffi/builders/unintrospectable_builder.rb +1 -1
  74. data/lib/gir_ffi/builders/user_defined_builder.rb +11 -11
  75. data/lib/gir_ffi/builders/vfunc_builder.rb +1 -1
  76. data/lib/gir_ffi/callback_base.rb +8 -13
  77. data/lib/gir_ffi/class_base.rb +41 -45
  78. data/lib/gir_ffi/core.rb +2 -2
  79. data/lib/gir_ffi/enum_base.rb +9 -14
  80. data/lib/gir_ffi/field_argument_info.rb +1 -1
  81. data/lib/gir_ffi/g_type.rb +1 -1
  82. data/lib/gir_ffi/glib_error.rb +1 -1
  83. data/lib/gir_ffi/in_out_pointer.rb +4 -4
  84. data/lib/gir_ffi/in_pointer.rb +12 -12
  85. data/lib/gir_ffi/info_ext/i_arg_info.rb +0 -10
  86. data/lib/gir_ffi/info_ext/i_callback_info.rb +0 -5
  87. data/lib/gir_ffi/info_ext/i_property_info.rb +1 -1
  88. data/lib/gir_ffi/info_ext/i_registered_type_info.rb +1 -6
  89. data/lib/gir_ffi/info_ext/i_signal_info.rb +2 -2
  90. data/lib/gir_ffi/info_ext/i_type_info.rb +2 -17
  91. data/lib/gir_ffi/info_ext/i_unresolved_info.rb +0 -5
  92. data/lib/gir_ffi/info_ext/i_vfunc_info.rb +2 -2
  93. data/lib/gir_ffi/interface_base.rb +2 -7
  94. data/lib/gir_ffi/method_stubber.rb +1 -1
  95. data/lib/gir_ffi/module_base.rb +4 -7
  96. data/lib/gir_ffi/object_base.rb +4 -9
  97. data/lib/gir_ffi/receiver_argument_info.rb +1 -1
  98. data/lib/gir_ffi/receiver_type_info.rb +1 -1
  99. data/lib/gir_ffi/registered_type_base.rb +0 -5
  100. data/lib/gir_ffi/return_value_info.rb +1 -1
  101. data/lib/gir_ffi/sized_array.rb +10 -10
  102. data/lib/gir_ffi/type_map.rb +3 -3
  103. data/lib/gir_ffi/unintrospectable_type_info.rb +3 -1
  104. data/lib/gir_ffi/user_data_argument_info.rb +1 -1
  105. data/lib/gir_ffi/user_defined_property_info.rb +1 -1
  106. data/lib/gir_ffi/user_defined_type_info.rb +4 -4
  107. data/lib/gir_ffi/version.rb +1 -1
  108. data/lib/gir_ffi/vfunc_implementation.rb +1 -1
  109. data/lib/gir_ffi/zero_terminated.rb +6 -6
  110. data/test/base_test_helper.rb +13 -13
  111. data/test/ffi-gobject/object_test.rb +22 -1
  112. data/test/ffi-gobject/value_test.rb +24 -24
  113. data/test/ffi-gobject_introspection/i_registered_type_info_test.rb +4 -4
  114. data/test/ffi-gobject_introspection/i_type_info_test.rb +2 -2
  115. data/test/ffi-gobject_test.rb +2 -2
  116. data/test/gir_ffi/builders/argument_builder_test.rb +60 -60
  117. data/test/gir_ffi/builders/callback_argument_builder_test.rb +8 -8
  118. data/test/gir_ffi/builders/callback_builder_test.rb +4 -4
  119. data/test/gir_ffi/builders/callback_return_value_builder_test.rb +8 -8
  120. data/test/gir_ffi/builders/constructor_builder_test.rb +34 -0
  121. data/test/gir_ffi/builders/function_builder_test.rb +8 -24
  122. data/test/gir_ffi/builders/initializer_builder_test.rb +36 -0
  123. data/test/gir_ffi/builders/interface_builder_test.rb +2 -2
  124. data/test/gir_ffi/builders/object_builder_test.rb +6 -18
  125. data/test/gir_ffi/builders/property_builder_test.rb +2 -2
  126. data/test/gir_ffi/builders/return_value_builder_test.rb +54 -79
  127. data/test/gir_ffi/builders/signal_closure_builder_test.rb +14 -14
  128. data/test/gir_ffi/builders/user_defined_builder_test.rb +8 -8
  129. data/test/gir_ffi/builders/vfunc_builder_test.rb +22 -22
  130. data/test/gir_ffi/class_base_test.rb +9 -7
  131. data/test/gir_ffi/in_pointer_test.rb +1 -1
  132. data/test/gir_ffi/info_ext/i_callable_info_test.rb +2 -2
  133. data/test/gir_ffi/info_ext/i_callback_info_test.rb +2 -2
  134. data/test/gir_ffi/info_ext/i_field_info_test.rb +2 -2
  135. data/test/gir_ffi/info_ext/i_function_info_test.rb +2 -2
  136. data/test/gir_ffi/info_ext/i_signal_info_test.rb +2 -2
  137. data/test/gir_ffi/info_ext/i_type_info_test.rb +18 -18
  138. data/test/gir_ffi/info_ext/i_unresolved_info_test.rb +2 -2
  139. data/test/gir_ffi/info_ext/safe_constant_name_test.rb +2 -2
  140. data/test/gir_ffi/info_ext/safe_function_name_test.rb +2 -2
  141. data/test/gir_ffi/method_stubber_test.rb +6 -6
  142. data/test/gir_ffi/user_defined_type_info_test.rb +3 -3
  143. data/test/gir_ffi_test_helper.rb +12 -12
  144. data/test/integration/derived_classes_test.rb +7 -3
  145. data/test/integration/generated_gimarshallingtests_test.rb +10 -10
  146. data/test/integration/generated_regress_test.rb +11 -20
  147. data/test/introspection_test_helper.rb +1 -1
  148. data/test/minitest/stats_plugin.rb +3 -3
  149. metadata +9 -3
  150. data/lib/gir_ffi/builders/constructor_result_convertor.rb +0 -14
@@ -3,9 +3,9 @@ require 'introspection_test_helper'
3
3
  describe GObjectIntrospection::IRegisteredTypeInfo do
4
4
  describe '#get_type_name' do
5
5
  describe 'for an interface' do
6
- let(:registered_type_info) {
6
+ let(:registered_type_info) do
7
7
  get_introspection_data('GIMarshallingTests', 'Interface')
8
- }
8
+ end
9
9
 
10
10
  it 'returns interface name' do
11
11
  registered_type_info.type_name.must_equal 'GIMarshallingTestsInterface'
@@ -13,9 +13,9 @@ describe GObjectIntrospection::IRegisteredTypeInfo do
13
13
  end
14
14
 
15
15
  describe 'for a type that is not an interface' do
16
- let(:registered_type_info) {
16
+ let(:registered_type_info) do
17
17
  get_introspection_data('GIMarshallingTests', 'Enum')
18
- }
18
+ end
19
19
 
20
20
  it 'returns nil' do
21
21
  registered_type_info.type_name.must_be_nil
@@ -9,9 +9,9 @@ describe GObjectIntrospection::ITypeInfo do
9
9
 
10
10
  it 'raises an error' do
11
11
  skip unless vfunc_info
12
- proc {
12
+ proc do
13
13
  type_info.name
14
- }.must_raise RuntimeError
14
+ end.must_raise RuntimeError
15
15
  end
16
16
  end
17
17
 
@@ -122,10 +122,10 @@ describe GObject do
122
122
  sb = Regress::TestSimpleBoxedA.new
123
123
  sb.some_int = 23
124
124
 
125
- GObject.signal_connect(o, 'test-with-static-scope-arg', 2) { |_instance, object, user_data|
125
+ GObject.signal_connect(o, 'test-with-static-scope-arg', 2) do |_instance, object, user_data|
126
126
  @a = user_data
127
127
  @b = object
128
- }
128
+ end
129
129
  GObject.signal_emit o, 'test-with-static-scope-arg', sb
130
130
  end
131
131
 
@@ -6,9 +6,9 @@ describe GirFFI::Builders::ArgumentBuilder do
6
6
 
7
7
  describe 'for an argument with direction :in' do
8
8
  describe 'for :callback' do
9
- let(:arg_info) {
9
+ let(:arg_info) do
10
10
  get_introspection_data('Regress', 'test_callback_destroy_notify').args[0]
11
- }
11
+ end
12
12
 
13
13
  it 'has the correct value for #pre_conversion' do
14
14
  builder.pre_conversion.must_equal ['_v1 = Regress::TestCallbackUserData.from(callback)']
@@ -20,10 +20,10 @@ describe GirFFI::Builders::ArgumentBuilder do
20
20
  end
21
21
 
22
22
  describe 'for :zero_terminated' do
23
- let(:arg_info) {
23
+ let(:arg_info) do
24
24
  get_introspection_data('GIMarshallingTests',
25
25
  'array_in_len_zero_terminated').args[0]
26
- }
26
+ end
27
27
 
28
28
  it 'has the correct value for #pre_conversion' do
29
29
  builder.pre_conversion.must_equal ['_v1 = GirFFI::ZeroTerminated.from(:gint32, ints)']
@@ -81,9 +81,9 @@ describe GirFFI::Builders::ArgumentBuilder do
81
81
  end
82
82
 
83
83
  describe 'for :flags' do
84
- let(:arg_info) {
84
+ let(:arg_info) do
85
85
  get_introspection_data('GIMarshallingTests', 'flags_out').args[0]
86
- }
86
+ end
87
87
 
88
88
  it 'has the correct value for #pre_conversion' do
89
89
  builder.pre_conversion.must_equal ['_v1 = GirFFI::InOutPointer.for GIMarshallingTests::Flags']
@@ -95,9 +95,9 @@ describe GirFFI::Builders::ArgumentBuilder do
95
95
  end
96
96
 
97
97
  describe 'for :object' do
98
- let(:arg_info) {
98
+ let(:arg_info) do
99
99
  get_method_introspection_data('Regress', 'TestObj', 'null_out').args[0]
100
- }
100
+ end
101
101
 
102
102
  it 'has the correct value for #pre_conversion' do
103
103
  builder.pre_conversion.must_equal ['_v1 = GirFFI::InOutPointer.for [:pointer, Regress::TestObj]']
@@ -110,9 +110,9 @@ describe GirFFI::Builders::ArgumentBuilder do
110
110
 
111
111
  describe 'for :struct' do
112
112
  describe 'when not allocated by the caller' do
113
- let(:arg_info) {
113
+ let(:arg_info) do
114
114
  get_introspection_data('GIMarshallingTests', 'boxed_struct_out').args[0]
115
- }
115
+ end
116
116
 
117
117
  it 'has the correct value for #pre_conversion' do
118
118
  builder.pre_conversion.must_equal [
@@ -126,9 +126,9 @@ describe GirFFI::Builders::ArgumentBuilder do
126
126
  end
127
127
 
128
128
  describe 'when allocated by the caller' do
129
- let(:arg_info) {
129
+ let(:arg_info) do
130
130
  get_method_introspection_data('Regress', 'TestStructA', 'clone').args[0]
131
- }
131
+ end
132
132
 
133
133
  it 'has the correct value for #pre_conversion' do
134
134
  builder.pre_conversion.must_equal ['_v1 = Regress::TestStructA.new']
@@ -141,9 +141,9 @@ describe GirFFI::Builders::ArgumentBuilder do
141
141
  end
142
142
 
143
143
  describe 'for :strv' do
144
- let(:arg_info) {
144
+ let(:arg_info) do
145
145
  get_introspection_data('GIMarshallingTests', 'gstrv_out').args[0]
146
- }
146
+ end
147
147
 
148
148
  it 'has the correct value for #pre_conversion' do
149
149
  builder.pre_conversion.must_equal ['_v1 = GirFFI::InOutPointer.for [:pointer, :strv]']
@@ -156,9 +156,9 @@ describe GirFFI::Builders::ArgumentBuilder do
156
156
 
157
157
  describe 'for :array' do
158
158
  describe 'when allocated by the callee' do
159
- let(:arg_info) {
159
+ let(:arg_info) do
160
160
  get_introspection_data('GIMarshallingTests', 'garray_utf8_none_out').args[0]
161
- }
161
+ end
162
162
 
163
163
  it 'has the correct value for #pre_conversion' do
164
164
  builder.pre_conversion.must_equal ['_v1 = GirFFI::InOutPointer.for [:pointer, :array]']
@@ -170,9 +170,9 @@ describe GirFFI::Builders::ArgumentBuilder do
170
170
  end
171
171
 
172
172
  describe 'when allocated by the caller' do
173
- let(:function_info) {
173
+ let(:function_info) do
174
174
  get_introspection_data('GIMarshallingTests', 'garray_utf8_full_out_caller_allocated')
175
- }
175
+ end
176
176
 
177
177
  let(:arg_info) { function_info.args[0] }
178
178
 
@@ -191,9 +191,9 @@ describe GirFFI::Builders::ArgumentBuilder do
191
191
  end
192
192
 
193
193
  describe 'for :ptr_array' do
194
- let(:arg_info) {
194
+ let(:arg_info) do
195
195
  get_introspection_data('GIMarshallingTests', 'gptrarray_utf8_none_out').args[0]
196
- }
196
+ end
197
197
 
198
198
  it 'has the correct value for #pre_conversion' do
199
199
  builder.pre_conversion.must_equal ['_v1 = GirFFI::InOutPointer.for [:pointer, :ptr_array]']
@@ -205,9 +205,9 @@ describe GirFFI::Builders::ArgumentBuilder do
205
205
  end
206
206
 
207
207
  describe 'for :error' do
208
- let(:arg_info) {
208
+ let(:arg_info) do
209
209
  get_introspection_data('GIMarshallingTests', 'gerror_out').args[0]
210
- }
210
+ end
211
211
 
212
212
  it 'has the correct value for #pre_conversion' do
213
213
  builder.pre_conversion.must_equal ['_v1 = GirFFI::InOutPointer.for [:pointer, :error]']
@@ -220,9 +220,9 @@ describe GirFFI::Builders::ArgumentBuilder do
220
220
 
221
221
  describe 'for :c' do
222
222
  describe 'with fixed size' do
223
- let(:arg_info) {
223
+ let(:arg_info) do
224
224
  get_introspection_data('GIMarshallingTests', 'array_fixed_out').args[0]
225
- }
225
+ end
226
226
 
227
227
  it 'has the correct value for #pre_conversion' do
228
228
  builder.pre_conversion.must_equal ['_v1 = GirFFI::InOutPointer.for [:pointer, :c]']
@@ -234,9 +234,9 @@ describe GirFFI::Builders::ArgumentBuilder do
234
234
  end
235
235
 
236
236
  describe 'with separate size parameter' do
237
- let(:arg_info) {
237
+ let(:arg_info) do
238
238
  get_introspection_data('GIMarshallingTests', 'array_out').args[0]
239
- }
239
+ end
240
240
 
241
241
  let(:length_argument) { Object.new }
242
242
  before do
@@ -255,9 +255,9 @@ describe GirFFI::Builders::ArgumentBuilder do
255
255
  end
256
256
 
257
257
  describe 'for :glist' do
258
- let(:arg_info) {
258
+ let(:arg_info) do
259
259
  get_introspection_data('GIMarshallingTests', 'glist_utf8_none_out').args[0]
260
- }
260
+ end
261
261
 
262
262
  it 'has the correct value for #pre_conversion' do
263
263
  builder.pre_conversion.must_equal ['_v1 = GirFFI::InOutPointer.for [:pointer, :glist]']
@@ -269,9 +269,9 @@ describe GirFFI::Builders::ArgumentBuilder do
269
269
  end
270
270
 
271
271
  describe 'for :gslist' do
272
- let(:arg_info) {
272
+ let(:arg_info) do
273
273
  get_introspection_data('GIMarshallingTests', 'gslist_utf8_none_out').args[0]
274
- }
274
+ end
275
275
 
276
276
  it 'has the correct value for #pre_conversion' do
277
277
  builder.pre_conversion.must_equal ['_v1 = GirFFI::InOutPointer.for [:pointer, :gslist]']
@@ -283,9 +283,9 @@ describe GirFFI::Builders::ArgumentBuilder do
283
283
  end
284
284
 
285
285
  describe 'for :ghash' do
286
- let(:arg_info) {
286
+ let(:arg_info) do
287
287
  get_introspection_data('GIMarshallingTests', 'ghashtable_utf8_none_out').args[0]
288
- }
288
+ end
289
289
 
290
290
  it 'has the correct value for #pre_conversion' do
291
291
  builder.pre_conversion.must_equal ['_v1 = GirFFI::InOutPointer.for [:pointer, [:ghash, :utf8, :utf8]]']
@@ -299,9 +299,9 @@ describe GirFFI::Builders::ArgumentBuilder do
299
299
 
300
300
  describe 'for an argument with direction :inout' do
301
301
  describe 'for :enum' do
302
- let(:arg_info) {
302
+ let(:arg_info) do
303
303
  get_introspection_data('GIMarshallingTests', 'enum_inout').args[0]
304
- }
304
+ end
305
305
 
306
306
  it 'has the correct value for #pre_conversion' do
307
307
  builder.pre_conversion.must_equal ['_v1 = GirFFI::InOutPointer.for GIMarshallingTests::Enum',
@@ -314,9 +314,9 @@ describe GirFFI::Builders::ArgumentBuilder do
314
314
  end
315
315
 
316
316
  describe 'for :flags' do
317
- let(:arg_info) {
317
+ let(:arg_info) do
318
318
  get_introspection_data('GIMarshallingTests', 'no_type_flags_inout').args[0]
319
- }
319
+ end
320
320
 
321
321
  it 'has the correct value for #pre_conversion' do
322
322
  builder.pre_conversion.must_equal ['_v1 = GirFFI::InOutPointer.for GIMarshallingTests::NoTypeFlags',
@@ -329,9 +329,9 @@ describe GirFFI::Builders::ArgumentBuilder do
329
329
  end
330
330
 
331
331
  describe 'for :gint32' do
332
- let(:arg_info) {
332
+ let(:arg_info) do
333
333
  get_introspection_data('GIMarshallingTests', 'int32_inout_min_max').args[0]
334
- }
334
+ end
335
335
 
336
336
  it 'has the correct value for method_argument_name' do
337
337
  builder.method_argument_name.must_equal "#{arg_info.name}"
@@ -348,14 +348,14 @@ describe GirFFI::Builders::ArgumentBuilder do
348
348
  end
349
349
 
350
350
  describe 'for an array length' do
351
- let(:function_info) {
351
+ let(:function_info) do
352
352
  get_introspection_data('Regress', 'test_array_int_inout')
353
- }
353
+ end
354
354
  let(:arg_info) { function_info.args[0] }
355
355
  let(:array_arg_info) { function_info.args[1] }
356
- let(:array_arg_builder) {
356
+ let(:array_arg_builder) do
357
357
  GirFFI::Builders::ArgumentBuilder.new(var_gen, array_arg_info)
358
- }
358
+ end
359
359
 
360
360
  before do
361
361
  builder.array_arg = array_arg_builder
@@ -373,9 +373,9 @@ describe GirFFI::Builders::ArgumentBuilder do
373
373
  end
374
374
 
375
375
  describe 'for :strv' do
376
- let(:arg_info) {
376
+ let(:arg_info) do
377
377
  get_introspection_data('GIMarshallingTests', 'gstrv_inout').args[0]
378
- }
378
+ end
379
379
 
380
380
  it 'has the correct value for #pre_conversion' do
381
381
  builder.pre_conversion.must_equal ['_v1 = GirFFI::InOutPointer.for [:pointer, :strv]',
@@ -388,9 +388,9 @@ describe GirFFI::Builders::ArgumentBuilder do
388
388
  end
389
389
 
390
390
  describe 'for :ptr_array' do
391
- let(:arg_info) {
391
+ let(:arg_info) do
392
392
  get_introspection_data('GIMarshallingTests', 'gptrarray_utf8_none_inout').args[0]
393
- }
393
+ end
394
394
 
395
395
  it 'has the correct value for #pre_conversion' do
396
396
  builder.pre_conversion.must_equal ['_v1 = GirFFI::InOutPointer.for [:pointer, :ptr_array]',
@@ -403,9 +403,9 @@ describe GirFFI::Builders::ArgumentBuilder do
403
403
  end
404
404
 
405
405
  describe 'for :utf8' do
406
- let(:arg_info) {
406
+ let(:arg_info) do
407
407
  get_introspection_data('GIMarshallingTests', 'utf8_none_inout').args[0]
408
- }
408
+ end
409
409
 
410
410
  it 'has the correct value for #pre_conversion' do
411
411
  builder.pre_conversion.must_equal ['_v1 = GirFFI::InOutPointer.for :utf8',
@@ -419,9 +419,9 @@ describe GirFFI::Builders::ArgumentBuilder do
419
419
 
420
420
  describe 'for :c' do
421
421
  describe 'with fixed size' do
422
- let(:arg_info) {
422
+ let(:arg_info) do
423
423
  get_introspection_data('GIMarshallingTests', 'array_fixed_inout').args[0]
424
- }
424
+ end
425
425
 
426
426
  it 'has the correct value for #pre_conversion' do
427
427
  builder.pre_conversion.must_equal [
@@ -437,14 +437,14 @@ describe GirFFI::Builders::ArgumentBuilder do
437
437
  end
438
438
 
439
439
  describe 'with separate size parameter' do
440
- let(:function_info) {
440
+ let(:function_info) do
441
441
  get_introspection_data('Regress', 'test_array_int_inout')
442
- }
442
+ end
443
443
  let(:length_arg_info) { function_info.args[0] }
444
444
  let(:arg_info) { function_info.args[1] }
445
- let(:length_arg_builder) {
445
+ let(:length_arg_builder) do
446
446
  GirFFI::Builders::ArgumentBuilder.new(var_gen, length_arg_info)
447
- }
447
+ end
448
448
 
449
449
  before do
450
450
  builder.length_arg = length_arg_builder
@@ -465,9 +465,9 @@ describe GirFFI::Builders::ArgumentBuilder do
465
465
  end
466
466
 
467
467
  describe 'for a skipped argument with direction :in' do
468
- let(:arg_info) {
468
+ let(:arg_info) do
469
469
  get_method_introspection_data('Regress', 'TestObj', 'skip_param').args[2]
470
- }
470
+ end
471
471
 
472
472
  it 'has the correct value for method_argument_name' do
473
473
  builder.method_argument_name.must_be_nil
@@ -483,9 +483,9 @@ describe GirFFI::Builders::ArgumentBuilder do
483
483
  end
484
484
 
485
485
  describe 'for a skipped argument with direction :inout' do
486
- let(:arg_info) {
486
+ let(:arg_info) do
487
487
  get_method_introspection_data('Regress', 'TestObj', 'skip_inout_param').args[3]
488
- }
488
+ end
489
489
 
490
490
  it 'has the correct value for method_argument_name' do
491
491
  builder.method_argument_name.must_be_nil
@@ -502,9 +502,9 @@ describe GirFFI::Builders::ArgumentBuilder do
502
502
  end
503
503
 
504
504
  describe 'for a skipped argument with direction :out' do
505
- let(:arg_info) {
505
+ let(:arg_info) do
506
506
  get_method_introspection_data('Regress', 'TestObj', 'skip_out_param').args[1]
507
- }
507
+ end
508
508
 
509
509
  it 'has the correct value for method_argument_name' do
510
510
  builder.method_argument_name.must_be_nil
@@ -6,10 +6,10 @@ describe GirFFI::Builders::CallbackArgumentBuilder do
6
6
 
7
7
  describe 'for an argument with direction :out' do
8
8
  describe 'for :zero_terminated' do
9
- let(:vfunc_info) {
9
+ let(:vfunc_info) do
10
10
  get_vfunc_introspection_data('GIMarshallingTests', 'Object',
11
11
  'vfunc_array_out_parameter')
12
- }
12
+ end
13
13
  let(:arg_info) { vfunc_info.args[0] }
14
14
 
15
15
  before { skip unless vfunc_info }
@@ -44,18 +44,18 @@ describe GirFFI::Builders::CallbackArgumentBuilder do
44
44
  end
45
45
 
46
46
  describe 'for an argument with direction :inout' do
47
- let(:callback_info) {
47
+ let(:callback_info) do
48
48
  get_introspection_data('Regress',
49
49
  'TestCallbackArrayInOut')
50
- }
50
+ end
51
51
  let(:array_arg_info) { callback_info.args[0] }
52
- let(:array_arg_builder) {
52
+ let(:array_arg_builder) do
53
53
  GirFFI::Builders::CallbackArgumentBuilder.new(var_gen, array_arg_info)
54
- }
54
+ end
55
55
  let(:length_arg_info) { callback_info.args[1] }
56
- let(:length_arg_builder) {
56
+ let(:length_arg_builder) do
57
57
  GirFFI::Builders::CallbackArgumentBuilder.new(var_gen, length_arg_info)
58
- }
58
+ end
59
59
 
60
60
  before do
61
61
  skip unless callback_info
@@ -50,10 +50,10 @@ describe GirFFI::Builders::CallbackBuilder do
50
50
  end
51
51
 
52
52
  describe 'for a callback with one out argument' do
53
- let(:callback_info) {
53
+ let(:callback_info) do
54
54
  get_introspection_data('GIMarshallingTests',
55
55
  'CallbackOneOutParameter')
56
- }
56
+ end
57
57
  it 'returns a valid mapping method' do
58
58
  expected = <<-CODE.reset_indentation
59
59
  def self.call_with_argument_mapping(_proc, a)
@@ -68,10 +68,10 @@ describe GirFFI::Builders::CallbackBuilder do
68
68
  end
69
69
 
70
70
  describe 'for a callback with an inout array argument' do
71
- let(:callback_info) {
71
+ let(:callback_info) do
72
72
  get_introspection_data('Regress',
73
73
  'TestCallbackArrayInOut')
74
- }
74
+ end
75
75
  it 'returns a valid mapping method' do
76
76
  skip unless callback_info
77
77
  expected = <<-CODE.reset_indentation