gir_ffi 0.15.2 → 0.15.3

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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +11 -0
  3. data/Gemfile +1 -1
  4. data/lib/ffi-gobject/value.rb +3 -1
  5. data/lib/ffi-gobject_introspection/i_base_info.rb +1 -1
  6. data/lib/gir_ffi/builder_helper.rb +6 -1
  7. data/lib/gir_ffi/builders/callback_builder.rb +13 -1
  8. data/lib/gir_ffi/builders/enum_builder.rb +6 -2
  9. data/lib/gir_ffi/builders/field_builder.rb +2 -1
  10. data/lib/gir_ffi/builders/module_builder.rb +3 -1
  11. data/lib/gir_ffi/builders/struct_builder.rb +3 -1
  12. data/lib/gir_ffi/callback_base.rb +3 -5
  13. data/lib/gir_ffi/class_base.rb +1 -0
  14. data/lib/gir_ffi/version.rb +1 -1
  15. data/test/ffi-gobject/object_test.rb +3 -2
  16. data/test/ffi-gobject/value_test.rb +1 -1
  17. data/test/ffi-gobject_introspection/i_base_info_test.rb +1 -1
  18. data/test/ffi-gobject_test.rb +4 -2
  19. data/test/gir_ffi/arg_helper_test.rb +13 -6
  20. data/test/gir_ffi/boxed_base_test.rb +1 -1
  21. data/test/gir_ffi/builder_test.rb +3 -157
  22. data/test/gir_ffi/builders/argument_builder_test.rb +73 -33
  23. data/test/gir_ffi/builders/callback_argument_builder_test.rb +6 -2
  24. data/test/gir_ffi/builders/callback_return_value_builder_test.rb +5 -2
  25. data/test/gir_ffi/builders/constructor_builder_test.rb +3 -1
  26. data/test/gir_ffi/builders/field_builder_test.rb +9 -3
  27. data/test/gir_ffi/builders/function_builder_test.rb +30 -10
  28. data/test/gir_ffi/builders/initializer_builder_test.rb +3 -1
  29. data/test/gir_ffi/builders/object_builder_test.rb +6 -6
  30. data/test/gir_ffi/builders/property_builder_test.rb +5 -2
  31. data/test/gir_ffi/builders/return_value_builder_test.rb +20 -9
  32. data/test/gir_ffi/builders/signal_closure_builder_test.rb +9 -7
  33. data/test/gir_ffi/builders/struct_builder_test.rb +6 -3
  34. data/test/gir_ffi/builders/user_defined_builder_test.rb +7 -3
  35. data/test/gir_ffi/builders/vfunc_argument_builder_test.rb +11 -5
  36. data/test/gir_ffi/builders/vfunc_builder_test.rb +10 -6
  37. data/test/gir_ffi/class_base_test.rb +17 -12
  38. data/test/gir_ffi/core_test.rb +4 -3
  39. data/test/gir_ffi/ffi_ext/pointer_test.rb +4 -2
  40. data/test/gir_ffi/info_ext/i_callback_info_test.rb +2 -1
  41. data/test/gir_ffi/info_ext/i_type_info_test.rb +2 -1
  42. data/test/gir_ffi/method_stubber_test.rb +3 -1
  43. data/test/integration/derived_classes_test.rb +1 -0
  44. data/test/integration/generated_everything_test.rb +2 -1
  45. data/test/integration/generated_gimarshallingtests_test.rb +57 -44
  46. data/test/integration/generated_gtk_source_test.rb +6 -17
  47. data/test/integration/generated_regress_test.rb +16 -2
  48. data/test/integration/generated_warnlib_test.rb +4 -2
  49. data/test/introspection_test_helper.rb +2 -1
  50. metadata +22 -8
@@ -15,7 +15,10 @@ describe GirFFI::Builders::ArgumentBuilder do
15
15
 
16
16
  it "has the correct value for #pre_conversion" do
17
17
  _(builder.pre_conversion)
18
- .must_equal ["_v1 = GirFFI::SizedArray.copy_from([:pointer, GIMarshallingTests::BoxedStruct], -1, structs)"]
18
+ .must_equal [
19
+ "_v1 = GirFFI::SizedArray.copy_from(" \
20
+ "[:pointer, GIMarshallingTests::BoxedStruct], -1, structs)"
21
+ ]
19
22
  end
20
23
 
21
24
  it "has the correct value for #post_conversion" do
@@ -30,7 +33,8 @@ describe GirFFI::Builders::ArgumentBuilder do
30
33
  end
31
34
 
32
35
  it "has the correct value for #pre_conversion" do
33
- _(builder.pre_conversion).must_equal ["_v1 = Regress::TestCallbackUserData.from(callback)"]
36
+ _(builder.pre_conversion)
37
+ .must_equal ["_v1 = Regress::TestCallbackUserData.from(callback)"]
34
38
  end
35
39
 
36
40
  it "has the correct value for #post_conversion" do
@@ -45,7 +49,8 @@ describe GirFFI::Builders::ArgumentBuilder do
45
49
  end
46
50
 
47
51
  it "has the correct value for #pre_conversion" do
48
- _(builder.pre_conversion).must_equal ["_v1 = GirFFI::ZeroTerminated.from(:gint32, ints)"]
52
+ _(builder.pre_conversion)
53
+ .must_equal ["_v1 = GirFFI::ZeroTerminated.from(:gint32, ints)"]
49
54
  end
50
55
 
51
56
  it "has the correct value for #post_conversion" do
@@ -54,7 +59,9 @@ describe GirFFI::Builders::ArgumentBuilder do
54
59
  end
55
60
 
56
61
  describe "for :void" do
57
- let(:arg_info) { get_introspection_data("Regress", "test_callback_user_data").args[1] }
62
+ let(:arg_info) do
63
+ get_introspection_data("Regress", "test_callback_user_data").args[1]
64
+ end
58
65
 
59
66
  describe "when it is a regular argument" do
60
67
  it "has the correct value for method_argument_name" do
@@ -97,11 +104,13 @@ describe GirFFI::Builders::ArgumentBuilder do
97
104
  let(:arg_info) { get_introspection_data("GIMarshallingTests", "genum_out").args[0] }
98
105
 
99
106
  it "has the correct value for #pre_conversion" do
100
- _(builder.pre_conversion).must_equal ["_v1 = FFI::MemoryPointer.new GIMarshallingTests::GEnum"]
107
+ _(builder.pre_conversion)
108
+ .must_equal ["_v1 = FFI::MemoryPointer.new GIMarshallingTests::GEnum"]
101
109
  end
102
110
 
103
111
  it "has the correct value for #post_conversion" do
104
- _(builder.post_conversion).must_equal ["_v2 = GIMarshallingTests::GEnum.get_value_from_pointer(_v1, 0)"]
112
+ _(builder.post_conversion)
113
+ .must_equal ["_v2 = GIMarshallingTests::GEnum.get_value_from_pointer(_v1, 0)"]
105
114
  end
106
115
  end
107
116
 
@@ -111,11 +120,13 @@ describe GirFFI::Builders::ArgumentBuilder do
111
120
  end
112
121
 
113
122
  it "has the correct value for #pre_conversion" do
114
- _(builder.pre_conversion).must_equal ["_v1 = FFI::MemoryPointer.new GIMarshallingTests::Flags"]
123
+ _(builder.pre_conversion)
124
+ .must_equal ["_v1 = FFI::MemoryPointer.new GIMarshallingTests::Flags"]
115
125
  end
116
126
 
117
127
  it "has the correct value for #post_conversion" do
118
- _(builder.post_conversion).must_equal ["_v2 = GIMarshallingTests::Flags.get_value_from_pointer(_v1, 0)"]
128
+ _(builder.post_conversion)
129
+ .must_equal ["_v2 = GIMarshallingTests::Flags.get_value_from_pointer(_v1, 0)"]
119
130
  end
120
131
  end
121
132
 
@@ -130,7 +141,8 @@ describe GirFFI::Builders::ArgumentBuilder do
130
141
  end
131
142
 
132
143
  it "has the correct value for #post_conversion" do
133
- _(builder.post_conversion).must_equal ["_v2 = Regress::TestObj.wrap(_v1.get_pointer(0))"]
144
+ _(builder.post_conversion)
145
+ .must_equal ["_v2 = Regress::TestObj.wrap(_v1.get_pointer(0))"]
134
146
  end
135
147
  end
136
148
 
@@ -145,7 +157,10 @@ describe GirFFI::Builders::ArgumentBuilder do
145
157
 
146
158
  it "has the correct value for #post_conversion" do
147
159
  _(builder.post_conversion)
148
- .must_equal ["_v2 = GIMarshallingTests::Object.wrap(_v1.get_pointer(0)).tap { |it| it && it.ref }"]
160
+ .must_equal [
161
+ "_v2 = GIMarshallingTests::Object.wrap(_v1.get_pointer(0)).tap" \
162
+ " { |it| it && it.ref }"
163
+ ]
149
164
  end
150
165
  end
151
166
  end
@@ -164,7 +179,8 @@ describe GirFFI::Builders::ArgumentBuilder do
164
179
 
165
180
  it "has the correct value for #post_conversion" do
166
181
  _(builder.post_conversion)
167
- .must_equal ["_v2 = GIMarshallingTests::BoxedStruct.wrap_copy(_v1.get_pointer(0))"]
182
+ .must_equal ["_v2 = GIMarshallingTests::BoxedStruct.wrap_copy("\
183
+ "_v1.get_pointer(0))"]
168
184
  end
169
185
  end
170
186
 
@@ -208,13 +224,15 @@ describe GirFFI::Builders::ArgumentBuilder do
208
224
  end
209
225
 
210
226
  it "has the correct value for #post_conversion" do
211
- _(builder.post_conversion).must_equal ["_v2 = GLib::Array.wrap(:utf8, _v1.get_pointer(0))"]
227
+ _(builder.post_conversion)
228
+ .must_equal ["_v2 = GLib::Array.wrap(:utf8, _v1.get_pointer(0))"]
212
229
  end
213
230
  end
214
231
 
215
232
  describe "when allocated by the caller" do
216
233
  let(:function_info) do
217
- get_introspection_data("GIMarshallingTests", "garray_utf8_full_out_caller_allocated")
234
+ get_introspection_data("GIMarshallingTests",
235
+ "garray_utf8_full_out_caller_allocated")
218
236
  end
219
237
 
220
238
  let(:arg_info) { function_info.args[0] }
@@ -239,7 +257,8 @@ describe GirFFI::Builders::ArgumentBuilder do
239
257
  end
240
258
 
241
259
  it "has the correct value for #post_conversion" do
242
- _(builder.post_conversion).must_equal ["_v2 = GLib::PtrArray.wrap(:utf8, _v1.get_pointer(0))"]
260
+ _(builder.post_conversion)
261
+ .must_equal ["_v2 = GLib::PtrArray.wrap(:utf8, _v1.get_pointer(0))"]
243
262
  end
244
263
  end
245
264
 
@@ -268,7 +287,8 @@ describe GirFFI::Builders::ArgumentBuilder do
268
287
  end
269
288
 
270
289
  it "has the correct value for #post_conversion" do
271
- _(builder.post_conversion).must_equal ["_v2 = GirFFI::SizedArray.wrap(:gint32, 4, _v1.get_pointer(0))"]
290
+ _(builder.post_conversion)
291
+ .must_equal ["_v2 = GirFFI::SizedArray.wrap(:gint32, 4, _v1.get_pointer(0))"]
272
292
  end
273
293
  end
274
294
 
@@ -288,7 +308,8 @@ describe GirFFI::Builders::ArgumentBuilder do
288
308
  end
289
309
 
290
310
  it "has the correct value for #post_conversion" do
291
- _(builder.post_conversion).must_equal ["_v2 = GirFFI::SizedArray.wrap(:gint32, bar, _v1.get_pointer(0))"]
311
+ _(builder.post_conversion)
312
+ .must_equal ["_v2 = GirFFI::SizedArray.wrap(:gint32, bar, _v1.get_pointer(0))"]
292
313
  end
293
314
  end
294
315
  end
@@ -303,7 +324,8 @@ describe GirFFI::Builders::ArgumentBuilder do
303
324
  end
304
325
 
305
326
  it "has the correct value for #post_conversion" do
306
- _(builder.post_conversion).must_equal ["_v2 = GLib::List.wrap(:utf8, _v1.get_pointer(0))"]
327
+ _(builder.post_conversion)
328
+ .must_equal ["_v2 = GLib::List.wrap(:utf8, _v1.get_pointer(0))"]
307
329
  end
308
330
  end
309
331
 
@@ -317,7 +339,8 @@ describe GirFFI::Builders::ArgumentBuilder do
317
339
  end
318
340
 
319
341
  it "has the correct value for #post_conversion" do
320
- _(builder.post_conversion).must_equal ["_v2 = GLib::SList.wrap(:utf8, _v1.get_pointer(0))"]
342
+ _(builder.post_conversion)
343
+ .must_equal ["_v2 = GLib::SList.wrap(:utf8, _v1.get_pointer(0))"]
321
344
  end
322
345
  end
323
346
 
@@ -331,7 +354,8 @@ describe GirFFI::Builders::ArgumentBuilder do
331
354
  end
332
355
 
333
356
  it "has the correct value for #post_conversion" do
334
- _(builder.post_conversion).must_equal ["_v2 = GLib::HashTable.wrap([:utf8, :utf8], _v1.get_pointer(0))"]
357
+ _(builder.post_conversion)
358
+ .must_equal ["_v2 = GLib::HashTable.wrap([:utf8, :utf8], _v1.get_pointer(0))"]
335
359
  end
336
360
  end
337
361
 
@@ -397,12 +421,16 @@ describe GirFFI::Builders::ArgumentBuilder do
397
421
  end
398
422
 
399
423
  it "has the correct value for #pre_conversion" do
400
- _(builder.pre_conversion).must_equal ["_v1 = FFI::MemoryPointer.new GIMarshallingTests::Enum",
401
- "GIMarshallingTests::Enum.copy_value_to_pointer(#{arg_info.name}, _v1)"]
424
+ _(builder.pre_conversion)
425
+ .must_equal [
426
+ "_v1 = FFI::MemoryPointer.new GIMarshallingTests::Enum",
427
+ "GIMarshallingTests::Enum.copy_value_to_pointer(#{arg_info.name}, _v1)"
428
+ ]
402
429
  end
403
430
 
404
431
  it "has the correct value for #post_conversion" do
405
- _(builder.post_conversion).must_equal ["_v2 = GIMarshallingTests::Enum.get_value_from_pointer(_v1, 0)"]
432
+ _(builder.post_conversion)
433
+ .must_equal ["_v2 = GIMarshallingTests::Enum.get_value_from_pointer(_v1, 0)"]
406
434
  end
407
435
  end
408
436
 
@@ -413,12 +441,17 @@ describe GirFFI::Builders::ArgumentBuilder do
413
441
 
414
442
  it "has the correct value for #pre_conversion" do
415
443
  _(builder.pre_conversion)
416
- .must_equal ["_v1 = FFI::MemoryPointer.new GIMarshallingTests::NoTypeFlags",
417
- "GIMarshallingTests::NoTypeFlags.copy_value_to_pointer(#{arg_info.name}, _v1)"]
444
+ .must_equal [
445
+ "_v1 = FFI::MemoryPointer.new GIMarshallingTests::NoTypeFlags",
446
+ "GIMarshallingTests::NoTypeFlags.copy_value_to_pointer(#{arg_info.name}, _v1)"
447
+ ]
418
448
  end
419
449
 
420
450
  it "has the correct value for #post_conversion" do
421
- _(builder.post_conversion).must_equal ["_v2 = GIMarshallingTests::NoTypeFlags.get_value_from_pointer(_v1, 0)"]
451
+ _(builder.post_conversion)
452
+ .must_equal [
453
+ "_v2 = GIMarshallingTests::NoTypeFlags.get_value_from_pointer(_v1, 0)"
454
+ ]
422
455
  end
423
456
  end
424
457
 
@@ -487,12 +520,14 @@ describe GirFFI::Builders::ArgumentBuilder do
487
520
  end
488
521
 
489
522
  it "has the correct value for #pre_conversion" do
490
- _(builder.pre_conversion).must_equal ["_v1 = FFI::MemoryPointer.new :pointer",
491
- "_v1.put_pointer 0, GLib::PtrArray.from(:utf8, parray_)"]
523
+ _(builder.pre_conversion)
524
+ .must_equal ["_v1 = FFI::MemoryPointer.new :pointer",
525
+ "_v1.put_pointer 0, GLib::PtrArray.from(:utf8, parray_)"]
492
526
  end
493
527
 
494
528
  it "has the correct value for #post_conversion" do
495
- _(builder.post_conversion).must_equal ["_v2 = GLib::PtrArray.wrap(:utf8, _v1.get_pointer(0))"]
529
+ _(builder.post_conversion)
530
+ .must_equal ["_v2 = GLib::PtrArray.wrap(:utf8, _v1.get_pointer(0))"]
496
531
  end
497
532
  end
498
533
 
@@ -502,8 +537,9 @@ describe GirFFI::Builders::ArgumentBuilder do
502
537
  end
503
538
 
504
539
  it "has the correct value for #pre_conversion" do
505
- _(builder.pre_conversion).must_equal ["_v1 = FFI::MemoryPointer.new :pointer",
506
- "_v1.put_pointer 0, GirFFI::InPointer.from_utf8(utf8)"]
540
+ _(builder.pre_conversion)
541
+ .must_equal ["_v1 = FFI::MemoryPointer.new :pointer",
542
+ "_v1.put_pointer 0, GirFFI::InPointer.from_utf8(utf8)"]
507
543
  end
508
544
 
509
545
  it "has the correct value for #post_conversion" do
@@ -526,7 +562,9 @@ describe GirFFI::Builders::ArgumentBuilder do
526
562
 
527
563
  it "has the correct value for #post_conversion" do
528
564
  _(builder.post_conversion)
529
- .must_equal ["_v2 = GIMarshallingTests::BoxedStruct.wrap_own(_v1.get_pointer(0))"]
565
+ .must_equal [
566
+ "_v2 = GIMarshallingTests::BoxedStruct.wrap_own(_v1.get_pointer(0))"
567
+ ]
530
568
  end
531
569
  end
532
570
  end
@@ -546,7 +584,8 @@ describe GirFFI::Builders::ArgumentBuilder do
546
584
  end
547
585
 
548
586
  it "has the correct value for #post_conversion" do
549
- _(builder.post_conversion).must_equal ["_v2 = GirFFI::SizedArray.wrap(:gint32, 4, _v1.get_pointer(0))"]
587
+ _(builder.post_conversion)
588
+ .must_equal ["_v2 = GirFFI::SizedArray.wrap(:gint32, 4, _v1.get_pointer(0))"]
550
589
  end
551
590
  end
552
591
 
@@ -572,7 +611,8 @@ describe GirFFI::Builders::ArgumentBuilder do
572
611
  end
573
612
 
574
613
  it "has the correct value for #post_conversion" do
575
- _(builder.post_conversion).must_equal ["_v3 = GirFFI::SizedArray.wrap(:gint32, _v2, _v1.get_pointer(0))"]
614
+ _(builder.post_conversion)
615
+ .must_equal ["_v3 = GirFFI::SizedArray.wrap(:gint32, _v2, _v1.get_pointer(0))"]
576
616
  end
577
617
  end
578
618
  end
@@ -19,7 +19,8 @@ describe GirFFI::Builders::CallbackArgumentBuilder do
19
19
  end
20
20
 
21
21
  it "has the correct value for #post_conversion" do
22
- _(builder.post_conversion).must_equal ["_v1.put_pointer 0, GirFFI::ZeroTerminated.from(:gfloat, _v2)"]
22
+ _(builder.post_conversion)
23
+ .must_equal ["_v1.put_pointer 0, GirFFI::ZeroTerminated.from(:gfloat, _v2)"]
23
24
  end
24
25
  end
25
26
 
@@ -32,7 +33,10 @@ describe GirFFI::Builders::CallbackArgumentBuilder do
32
33
  let(:arg_info) { vfunc_info.args[1] }
33
34
 
34
35
  it "has the correct value for #pre_conversion" do
35
- _(builder.pre_conversion).must_equal ["_v1 = FFI::MemoryPointer.new(:int8).tap { |ptr| out.put_pointer 0, ptr }"]
36
+ _(builder.pre_conversion)
37
+ .must_equal [
38
+ "_v1 = FFI::MemoryPointer.new(:int8).tap { |ptr| out.put_pointer 0, ptr }"
39
+ ]
36
40
  end
37
41
 
38
42
  it "has the correct value for #post_conversion" do
@@ -4,7 +4,9 @@ require "gir_ffi_test_helper"
4
4
 
5
5
  describe GirFFI::Builders::CallbackReturnValueBuilder do
6
6
  let(:var_gen) { GirFFI::VariableNameGenerator.new }
7
- let(:return_value_info) { GirFFI::ReturnValueInfo.new(type_info, ownership_transfer, false) }
7
+ let(:return_value_info) do
8
+ GirFFI::ReturnValueInfo.new(type_info, ownership_transfer, false)
9
+ end
8
10
  let(:type_info) { callback_info.return_type }
9
11
  let(:ownership_transfer) { callback_info.caller_owns }
10
12
  let(:builder) do
@@ -70,7 +72,8 @@ describe GirFFI::Builders::CallbackReturnValueBuilder do
70
72
  it "increases the refcount of the result and converts it to a pointer" do
71
73
  # Ensure variable names are generated in order
72
74
  _(builder.capture_variable_name).must_equal "_v1"
73
- _(builder.post_conversion).must_equal ["_v1.ref", "_v2 = GObject::Object.from(_v1).to_ptr"]
75
+ _(builder.post_conversion)
76
+ .must_equal ["_v1.ref", "_v2 = GObject::Object.from(_v1).to_ptr"]
74
77
  end
75
78
 
76
79
  it "returns the result of the conversion" do
@@ -21,7 +21,9 @@ describe GirFFI::Builders::ConstructorBuilder do
21
21
  end
22
22
 
23
23
  describe "for constructors with a custom name" do
24
- let(:function_info) { get_method_introspection_data "Regress", "TestObj", "new_from_file" }
24
+ let(:function_info) do
25
+ get_method_introspection_data "Regress", "TestObj", "new_from_file"
26
+ end
25
27
  it "builds a custom constructor" do
26
28
  _(code).must_equal <<~CODE
27
29
  def self.new_from_file(*args, &block)
@@ -7,7 +7,9 @@ describe GirFFI::Builders::FieldBuilder do
7
7
  let(:instance) { GirFFI::Builders::FieldBuilder.new field_info, target_class }
8
8
 
9
9
  describe "for a field of type :gint8 with an offset" do
10
- let(:field_info) { get_field_introspection_data "Regress", "TestSimpleBoxedA", "some_int8" }
10
+ let(:field_info) do
11
+ get_field_introspection_data "Regress", "TestSimpleBoxedA", "some_int8"
12
+ end
11
13
  it "creates the right getter method" do
12
14
  expected = <<~CODE
13
15
  def some_int8
@@ -113,8 +115,12 @@ describe GirFFI::Builders::FieldBuilder do
113
115
  end
114
116
 
115
117
  describe "for a field with a related array length field" do
116
- let(:field_info) { get_field_introspection_data "GObject", "SignalQuery", "param_types" }
117
- let(:n_params_field_info) { get_field_introspection_data "GObject", "SignalQuery", "n_params" }
118
+ let(:field_info) do
119
+ get_field_introspection_data "GObject", "SignalQuery", "param_types"
120
+ end
121
+ let(:n_params_field_info) do
122
+ get_field_introspection_data "GObject", "SignalQuery", "n_params"
123
+ end
118
124
 
119
125
  it "creates the right getter method" do
120
126
  skip if field_info.field_type.array_length < 0
@@ -8,7 +8,9 @@ describe GirFFI::Builders::FunctionBuilder do
8
8
  let(:code) { builder.method_definition }
9
9
 
10
10
  describe "generally" do
11
- let(:function_info) { get_method_introspection_data "GObject", "Object", "get_property" }
11
+ let(:function_info) do
12
+ get_method_introspection_data "GObject", "Object", "get_property"
13
+ end
12
14
 
13
15
  it "returns the same result when called twice" do
14
16
  original = builder.method_definition
@@ -18,7 +20,9 @@ describe GirFFI::Builders::FunctionBuilder do
18
20
  end
19
21
 
20
22
  describe "for Regress:test_array_fixed_out_objects" do
21
- let(:function_info) { get_introspection_data "Regress", "test_array_fixed_out_objects" }
23
+ let(:function_info) do
24
+ get_introspection_data "Regress", "test_array_fixed_out_objects"
25
+ end
22
26
  it "builds a correct definition" do
23
27
  _(code).must_equal <<~CODE
24
28
  def self.test_array_fixed_out_objects
@@ -47,7 +51,9 @@ describe GirFFI::Builders::FunctionBuilder do
47
51
  end
48
52
 
49
53
  describe "for methods taking a zero-terminated array with length argument" do
50
- let(:function_info) { get_method_introspection_data "Regress", "AnnotationObject", "parse_args" }
54
+ let(:function_info) do
55
+ get_method_introspection_data "Regress", "AnnotationObject", "parse_args"
56
+ end
51
57
  it "builds a correct definition" do
52
58
  _(code).must_equal <<~CODE
53
59
  def parse_args(argv)
@@ -65,7 +71,9 @@ describe GirFFI::Builders::FunctionBuilder do
65
71
  end
66
72
 
67
73
  describe "for functions with callbacks" do
68
- let(:function_info) { get_introspection_data "Regress", "test_callback_destroy_notify" }
74
+ let(:function_info) do
75
+ get_introspection_data "Regress", "test_callback_destroy_notify"
76
+ end
69
77
  it "builds a correct definition" do
70
78
  _(code).must_equal <<~CODE
71
79
  def self.test_callback_destroy_notify(&callback)
@@ -119,7 +127,9 @@ describe GirFFI::Builders::FunctionBuilder do
119
127
  end
120
128
 
121
129
  describe "for functions that have a caller-allocated GValue out argument" do
122
- let(:function_info) { get_introspection_data "GIMarshallingTests", "gvalue_out_caller_allocates" }
130
+ let(:function_info) do
131
+ get_introspection_data "GIMarshallingTests", "gvalue_out_caller_allocates"
132
+ end
123
133
 
124
134
  it "creates a call to #get_value" do
125
135
  _(code).must_equal <<~CODE
@@ -164,7 +174,9 @@ describe GirFFI::Builders::FunctionBuilder do
164
174
  end
165
175
 
166
176
  describe "for a method with an inout array with size argument" do
167
- let(:function_info) { get_method_introspection_data "GIMarshallingTests", "Object", "method_array_inout" }
177
+ let(:function_info) do
178
+ get_method_introspection_data "GIMarshallingTests", "Object", "method_array_inout"
179
+ end
168
180
  it "builds the correct definition" do
169
181
  _(code).must_equal <<~CODE
170
182
  def method_array_inout(ints)
@@ -183,7 +195,9 @@ describe GirFFI::Builders::FunctionBuilder do
183
195
  end
184
196
 
185
197
  describe "for a simple method" do
186
- let(:function_info) { get_method_introspection_data "Regress", "TestObj", "instance_method" }
198
+ let(:function_info) do
199
+ get_method_introspection_data "Regress", "TestObj", "instance_method"
200
+ end
187
201
 
188
202
  it "builds a correct definition" do
189
203
  _(code).must_equal <<~CODE
@@ -501,7 +515,9 @@ describe GirFFI::Builders::FunctionBuilder do
501
515
  end
502
516
 
503
517
  describe "for functions where some allow-none cannot be honored" do
504
- let(:function_info) { get_introspection_data "GIMarshallingTests", "array_in_utf8_two_in_out_of_order" }
518
+ let(:function_info) do
519
+ get_introspection_data "GIMarshallingTests", "array_in_utf8_two_in_out_of_order"
520
+ end
505
521
  it "builds correct definition with default parameter value on the later arguments" do
506
522
  _(code).must_equal <<~CODE
507
523
  def self.array_in_utf8_two_in_out_of_order(a, ints, b = nil)
@@ -518,7 +534,9 @@ describe GirFFI::Builders::FunctionBuilder do
518
534
 
519
535
  describe "ownership transfer for an ingoing array of structs" do
520
536
  describe "with no ownership transfer of the elements" do
521
- let(:function_info) { get_introspection_data "GIMarshallingTests", "array_struct_in" }
537
+ let(:function_info) do
538
+ get_introspection_data "GIMarshallingTests", "array_struct_in"
539
+ end
522
540
 
523
541
  it "builds a correct definition" do
524
542
  _(code).must_equal <<~CODE
@@ -532,7 +550,9 @@ describe GirFFI::Builders::FunctionBuilder do
532
550
  end
533
551
  end
534
552
  describe "with ownership transfer of the elements" do
535
- let(:function_info) { get_introspection_data "GIMarshallingTests", "array_struct_take_in" }
553
+ let(:function_info) do
554
+ get_introspection_data "GIMarshallingTests", "array_struct_take_in"
555
+ end
536
556
 
537
557
  it "builds a correct definition" do
538
558
  _(code).must_equal <<~CODE