gir_ffi 0.7.7 → 0.7.8

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 (135) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +9 -0
  3. data/lib/ffi-glib/array.rb +1 -1
  4. data/lib/ffi-glib/error.rb +1 -2
  5. data/lib/ffi-glib/hash_table.rb +2 -2
  6. data/lib/ffi-glib/variant.rb +1 -1
  7. data/lib/ffi-gobject/base.rb +23 -23
  8. data/lib/ffi-gobject/object.rb +7 -3
  9. data/lib/ffi-gobject/value.rb +6 -1
  10. data/lib/ffi-gobject.rb +9 -6
  11. data/lib/ffi-gobject_introspection/i_base_info.rb +3 -3
  12. data/lib/ffi-gobject_introspection/i_constant_info.rb +1 -1
  13. data/lib/ffi-gobject_introspection/i_repository.rb +4 -1
  14. data/lib/ffi-gobject_introspection/i_type_info.rb +1 -1
  15. data/lib/ffi-gobject_introspection/i_unresolved_info.rb +7 -0
  16. data/lib/ffi-gobject_introspection/lib.rb +1 -1
  17. data/lib/gir_ffi/builders/argument_builder.rb +1 -1
  18. data/lib/gir_ffi/builders/c_to_ruby_convertor.rb +37 -29
  19. data/lib/gir_ffi/builders/callback_argument_builder.rb +57 -27
  20. data/lib/gir_ffi/builders/closure_convertor.rb +12 -8
  21. data/lib/gir_ffi/builders/closure_to_pointer_convertor.rb +12 -8
  22. data/lib/gir_ffi/builders/constructor_result_convertor.rb +11 -7
  23. data/lib/gir_ffi/builders/field_builder.rb +1 -1
  24. data/lib/gir_ffi/builders/function_builder.rb +1 -1
  25. data/lib/gir_ffi/builders/mapping_method_builder.rb +1 -1
  26. data/lib/gir_ffi/builders/marshalling_method_builder.rb +2 -2
  27. data/lib/gir_ffi/builders/method_template.rb +1 -1
  28. data/lib/gir_ffi/builders/null_convertor.rb +11 -7
  29. data/lib/gir_ffi/builders/property_builder.rb +1 -1
  30. data/lib/gir_ffi/builders/ruby_to_c_convertor.rb +17 -13
  31. data/lib/gir_ffi/error_argument_info.rb +1 -1
  32. data/lib/gir_ffi/ffi_ext/pointer.rb +1 -1
  33. data/lib/gir_ffi/info_ext/i_unresolved_info.rb +12 -0
  34. data/lib/gir_ffi/info_ext/safe_constant_name.rb +2 -2
  35. data/lib/gir_ffi/info_ext/safe_function_name.rb +1 -1
  36. data/lib/gir_ffi/info_ext.rb +1 -0
  37. data/lib/gir_ffi/module_base.rb +1 -1
  38. data/lib/gir_ffi/receiver_argument_info.rb +15 -12
  39. data/lib/gir_ffi/user_data_argument_info.rb +17 -15
  40. data/lib/gir_ffi/user_data_type_info.rb +14 -12
  41. data/lib/gir_ffi/version.rb +1 -1
  42. data/lib/gir_ffi-base/gobject/lib.rb +1 -1
  43. data/test/base_test_helper.rb +15 -15
  44. data/test/ffi-glib/array_test.rb +38 -38
  45. data/test/ffi-glib/byte_array_test.rb +6 -7
  46. data/test/ffi-glib/bytes_test.rb +9 -9
  47. data/test/ffi-glib/hash_table_test.rb +26 -23
  48. data/test/ffi-glib/iconv_test.rb +5 -5
  49. data/test/ffi-glib/list_test.rb +16 -16
  50. data/test/ffi-glib/main_loop_test.rb +6 -6
  51. data/test/ffi-glib/ptr_array_test.rb +45 -45
  52. data/test/ffi-glib/ruby_closure_test.rb +6 -6
  53. data/test/ffi-glib/s_list_test.rb +15 -15
  54. data/test/ffi-glib/strv_test.rb +21 -21
  55. data/test/ffi-glib/variant_test.rb +4 -4
  56. data/test/ffi-gobject/gobject_test.rb +35 -35
  57. data/test/ffi-gobject/object_class_test.rb +1 -1
  58. data/test/ffi-gobject/object_test.rb +29 -6
  59. data/test/ffi-gobject/value_test.rb +66 -52
  60. data/test/ffi-gobject_introspection/i_base_info_test.rb +10 -11
  61. data/test/ffi-gobject_introspection/i_constant_info_test.rb +6 -6
  62. data/test/ffi-gobject_introspection/i_enum_info_test.rb +4 -5
  63. data/test/ffi-gobject_introspection/i_function_info_test.rb +0 -2
  64. data/test/ffi-gobject_introspection/i_object_info_test.rb +5 -5
  65. data/test/ffi-gobject_introspection/i_registered_type_info_test.rb +9 -8
  66. data/test/ffi-gobject_introspection/i_repository_test.rb +16 -16
  67. data/test/ffi-gobject_introspection/i_type_info_test.rb +16 -2
  68. data/test/ffi-gobject_introspection/lib_test.rb +2 -2
  69. data/test/ffi-gobject_test.rb +50 -40
  70. data/test/gir_ffi/arg_helper_test.rb +5 -5
  71. data/test/gir_ffi/builder_test.rb +41 -41
  72. data/test/gir_ffi/builders/argument_builder_test.rb +240 -207
  73. data/test/gir_ffi/builders/base_argument_builder_test.rb +0 -1
  74. data/test/gir_ffi/builders/callback_argument_builder_test.rb +81 -15
  75. data/test/gir_ffi/builders/callback_builder_test.rb +39 -14
  76. data/test/gir_ffi/builders/callback_return_value_builder_test.rb +41 -33
  77. data/test/gir_ffi/builders/enum_builder_test.rb +3 -3
  78. data/test/gir_ffi/builders/field_builder_test.rb +17 -17
  79. data/test/gir_ffi/builders/function_builder_test.rb +16 -16
  80. data/test/gir_ffi/builders/interface_builder_test.rb +9 -7
  81. data/test/gir_ffi/builders/module_builder_test.rb +5 -6
  82. data/test/gir_ffi/builders/object_builder_test.rb +24 -19
  83. data/test/gir_ffi/builders/property_builder_test.rb +25 -23
  84. data/test/gir_ffi/builders/registered_type_builder_test.rb +11 -11
  85. data/test/gir_ffi/builders/return_value_builder_test.rb +237 -197
  86. data/test/gir_ffi/builders/signal_closure_builder_test.rb +29 -22
  87. data/test/gir_ffi/builders/struct_builder_test.rb +10 -10
  88. data/test/gir_ffi/builders/unintrospectable_builder_test.rb +8 -8
  89. data/test/gir_ffi/builders/union_builder_test.rb +5 -6
  90. data/test/gir_ffi/builders/user_defined_builder_test.rb +42 -33
  91. data/test/gir_ffi/builders/vfunc_builder_test.rb +37 -30
  92. data/test/gir_ffi/callback_base_test.rb +4 -5
  93. data/test/gir_ffi/class_base_test.rb +35 -28
  94. data/test/gir_ffi/error_type_info_test.rb +14 -14
  95. data/test/gir_ffi/ffi_ext/pointer_test.rb +4 -4
  96. data/test/gir_ffi/g_type_test.rb +6 -6
  97. data/test/gir_ffi/in_out_pointer_test.rb +27 -27
  98. data/test/gir_ffi/in_pointer_test.rb +54 -50
  99. data/test/gir_ffi/info_ext/i_callable_info_test.rb +8 -7
  100. data/test/gir_ffi/info_ext/i_callback_info_test.rb +7 -7
  101. data/test/gir_ffi/info_ext/i_field_info_test.rb +10 -8
  102. data/test/gir_ffi/info_ext/i_function_info_test.rb +17 -15
  103. data/test/gir_ffi/info_ext/i_signal_info_test.rb +10 -8
  104. data/test/gir_ffi/info_ext/i_type_info_test.rb +158 -155
  105. data/test/gir_ffi/info_ext/i_unresolved_info_test.rb +17 -0
  106. data/test/gir_ffi/info_ext/safe_constant_name_test.rb +12 -10
  107. data/test/gir_ffi/info_ext/safe_function_name_test.rb +12 -10
  108. data/test/gir_ffi/interface_base_test.rb +6 -6
  109. data/test/gir_ffi/method_stubber_test.rb +16 -13
  110. data/test/gir_ffi/object_base_test.rb +6 -6
  111. data/test/gir_ffi/sized_array_test.rb +23 -23
  112. data/test/gir_ffi/type_map_test.rb +3 -3
  113. data/test/gir_ffi/unintrospectable_type_info_test.rb +18 -18
  114. data/test/gir_ffi/user_defined_property_info_test.rb +4 -4
  115. data/test/gir_ffi/user_defined_type_info_test.rb +16 -16
  116. data/test/gir_ffi/variable_name_generator_test.rb +6 -6
  117. data/test/gir_ffi/version_test.rb +1 -1
  118. data/test/gir_ffi/zero_terminated_test.rb +16 -17
  119. data/test/gir_ffi-base/glib/boolean_test.rb +13 -13
  120. data/test/gir_ffi-base/glib/strv_test.rb +11 -11
  121. data/test/gir_ffi_test.rb +18 -18
  122. data/test/gir_ffi_test_helper.rb +13 -18
  123. data/test/integration/derived_classes_test.rb +8 -8
  124. data/test/integration/generated_gimarshallingtests_test.rb +794 -792
  125. data/test/integration/generated_gio_test.rb +25 -26
  126. data/test/integration/generated_glib_test.rb +8 -2
  127. data/test/integration/generated_gobject_test.rb +16 -9
  128. data/test/integration/generated_pango_ft2_test.rb +1 -2
  129. data/test/integration/generated_pango_test.rb +2 -2
  130. data/test/integration/generated_regress_test.rb +785 -705
  131. data/test/integration/generated_secret_test.rb +5 -5
  132. data/test/integration/method_lookup_test.rb +5 -5
  133. data/test/introspection_test_helper.rb +3 -1
  134. data/test/minitest/stats_plugin.rb +3 -3
  135. metadata +6 -3
@@ -2,4 +2,3 @@ require 'gir_ffi_test_helper'
2
2
 
3
3
  describe GirFFI::Builders::BaseArgumentBuilder do
4
4
  end
5
-
@@ -4,41 +4,107 @@ describe GirFFI::Builders::CallbackArgumentBuilder do
4
4
  let(:var_gen) { GirFFI::VariableNameGenerator.new }
5
5
  let(:builder) { GirFFI::Builders::CallbackArgumentBuilder.new(var_gen, arg_info) }
6
6
 
7
- describe "for an argument with direction :out" do
8
- describe "for :zero_terminated" do
7
+ describe 'for an argument with direction :out' do
8
+ describe 'for :zero_terminated' do
9
9
  let(:vfunc_info) {
10
10
  get_vfunc_introspection_data('GIMarshallingTests', 'Object',
11
- 'vfunc_array_out_parameter') }
11
+ 'vfunc_array_out_parameter')
12
+ }
12
13
  let(:arg_info) { vfunc_info.args[0] }
13
14
 
14
15
  before { skip unless vfunc_info }
15
16
 
16
- it "has the correct value for #pre_conversion" do
17
- builder.pre_conversion.must_equal [ "_v1 = GirFFI::InOutPointer.new([:pointer, :zero_terminated], a)" ]
17
+ it 'has the correct value for #pre_conversion' do
18
+ builder.pre_conversion.must_equal ['_v1 = GirFFI::InOutPointer.new([:pointer, :zero_terminated], a)']
18
19
  end
19
20
 
20
- it "has the correct value for #post_conversion" do
21
- builder.post_conversion.must_equal [ "_v1.set_value GirFFI::ZeroTerminated.from(:gfloat, _v2)" ]
21
+ it 'has the correct value for #post_conversion' do
22
+ builder.post_conversion.must_equal ['_v1.set_value GirFFI::ZeroTerminated.from(:gfloat, _v2)']
22
23
  end
23
24
  end
24
25
  end
25
26
 
26
- describe "for an argument with direction :error" do
27
+ describe 'for an argument with direction :error' do
27
28
  let(:arg_info) { GirFFI::ErrorArgumentInfo.new }
28
29
 
29
- it "sets up a rescueing block in #pre_conversion" do
30
+ it 'sets up a rescueing block in #pre_conversion' do
30
31
  builder.pre_conversion.must_equal [
31
- "_v1 = GirFFI::InOutPointer.new([:pointer, :error], _error)",
32
- "begin"
32
+ '_v1 = GirFFI::InOutPointer.new([:pointer, :error], _error)',
33
+ 'begin'
33
34
  ]
34
35
  end
35
36
 
36
- it "converts any exceptions to GLib::Error in #post_conversion" do
37
+ it 'converts any exceptions to GLib::Error in #post_conversion' do
37
38
  builder.post_conversion.must_equal [
38
- "rescue => _v1",
39
- "_v2.set_value GLib::Error.from(_v1)",
40
- "end"
39
+ 'rescue => _v1',
40
+ '_v2.set_value GLib::Error.from(_v1)',
41
+ 'end'
41
42
  ]
42
43
  end
43
44
  end
45
+
46
+ describe 'for an argument with direction :inout' do
47
+ let(:callback_info) {
48
+ get_introspection_data('Regress',
49
+ 'TestCallbackArrayInOut')
50
+ }
51
+ let(:array_arg_info) { callback_info.args[0] }
52
+ let(:array_arg_builder) {
53
+ GirFFI::Builders::CallbackArgumentBuilder.new(var_gen, array_arg_info)
54
+ }
55
+ let(:length_arg_info) { callback_info.args[1] }
56
+ let(:length_arg_builder) {
57
+ GirFFI::Builders::CallbackArgumentBuilder.new(var_gen, length_arg_info)
58
+ }
59
+
60
+ before do
61
+ skip unless callback_info
62
+ length_arg_builder.array_arg = array_arg_builder
63
+ array_arg_builder.length_arg = length_arg_builder
64
+ end
65
+
66
+ describe 'for arrays with a length argument' do
67
+ it 'provides a call argument name' do
68
+ array_arg_builder.call_argument_name.must_equal '_v1'
69
+ end
70
+
71
+ it 'provides a capture variable name' do
72
+ array_arg_builder.capture_variable_name.must_equal '_v1'
73
+ end
74
+
75
+ it 'has the correct value for #pre_conversion' do
76
+ array_arg_builder.pre_conversion.
77
+ must_equal ['_v1 = GirFFI::InOutPointer.new([:pointer, :c], ints)',
78
+ '_v2 = GirFFI::SizedArray.wrap(:gint32, _v3, _v1.to_value)']
79
+ end
80
+
81
+ it 'has the correct value for #post_conversion' do
82
+ array_arg_builder.pre_conversion
83
+ array_arg_builder.post_conversion.
84
+ must_equal ['_v1.set_value GirFFI::SizedArray.from(:gint32, -1, _v4)']
85
+ end
86
+ end
87
+
88
+ describe 'for an array length argument' do
89
+ it 'does not provide a call argument name' do
90
+ length_arg_builder.call_argument_name.must_be_nil
91
+ end
92
+
93
+ it 'does not provide a capture variable name' do
94
+ length_arg_builder.capture_variable_name.must_be_nil
95
+ end
96
+
97
+ it 'has the correct value for #pre_conversion' do
98
+ length_arg_builder.pre_conversion.
99
+ must_equal ['_v1 = GirFFI::InOutPointer.new(:gint32, length)',
100
+ '_v2 = _v1.to_value']
101
+ end
102
+
103
+ it 'has the correct value for #post_conversion' do
104
+ length_arg_builder.pre_conversion
105
+ length_arg_builder.post_conversion.
106
+ must_equal ['_v1.set_value _v3.length']
107
+ end
108
+ end
109
+ end
44
110
  end
@@ -3,10 +3,10 @@ require 'gir_ffi_test_helper'
3
3
  describe GirFFI::Builders::CallbackBuilder do
4
4
  let(:builder) { GirFFI::Builders::CallbackBuilder.new callback_info }
5
5
 
6
- describe "#mapping_method_definition" do
7
- describe "for a callback with arguments and return value" do
8
- let(:callback_info) { get_introspection_data "Regress", "TestCallbackFull" }
9
- it "returns a valid mapping method" do
6
+ describe '#mapping_method_definition' do
7
+ describe 'for a callback with arguments and return value' do
8
+ let(:callback_info) { get_introspection_data 'Regress', 'TestCallbackFull' }
9
+ it 'returns a valid mapping method' do
10
10
  expected = <<-CODE.reset_indentation
11
11
  def self.call_with_argument_mapping(_proc, foo, bar, path)
12
12
  _v1 = foo
@@ -21,9 +21,9 @@ describe GirFFI::Builders::CallbackBuilder do
21
21
  end
22
22
  end
23
23
 
24
- describe "for a callback with no arguments or return value" do
25
- let(:callback_info) { get_introspection_data "Regress", "TestSimpleCallback" }
26
- it "returns a valid mapping method" do
24
+ describe 'for a callback with no arguments or return value' do
25
+ let(:callback_info) { get_introspection_data 'Regress', 'TestSimpleCallback' }
26
+ it 'returns a valid mapping method' do
27
27
  expected = <<-CODE.reset_indentation
28
28
  def self.call_with_argument_mapping(_proc)
29
29
  _proc.call()
@@ -34,9 +34,9 @@ describe GirFFI::Builders::CallbackBuilder do
34
34
  end
35
35
  end
36
36
 
37
- describe "for a callback with a closure argument" do
38
- let(:callback_info) { get_introspection_data "Regress", "TestCallbackUserData" }
39
- it "returns a valid mapping method" do
37
+ describe 'for a callback with a closure argument' do
38
+ let(:callback_info) { get_introspection_data 'Regress', 'TestCallbackUserData' }
39
+ it 'returns a valid mapping method' do
40
40
  expected = <<-CODE.reset_indentation
41
41
  def self.call_with_argument_mapping(_proc, user_data)
42
42
  _v1 = GirFFI::ArgHelper::OBJECT_STORE.fetch(user_data)
@@ -49,10 +49,12 @@ describe GirFFI::Builders::CallbackBuilder do
49
49
  end
50
50
  end
51
51
 
52
- describe "for a callback with one out argument" do
53
- let(:callback_info) { get_introspection_data("GIMarshallingTests",
54
- "CallbackOneOutParameter") }
55
- it "returns a valid mapping method" do
52
+ describe 'for a callback with one out argument' do
53
+ let(:callback_info) {
54
+ get_introspection_data('GIMarshallingTests',
55
+ 'CallbackOneOutParameter')
56
+ }
57
+ it 'returns a valid mapping method' do
56
58
  expected = <<-CODE.reset_indentation
57
59
  def self.call_with_argument_mapping(_proc, a)
58
60
  _v1 = GirFFI::InOutPointer.new(:gfloat, a)
@@ -64,5 +66,28 @@ describe GirFFI::Builders::CallbackBuilder do
64
66
  builder.mapping_method_definition.must_equal expected
65
67
  end
66
68
  end
69
+
70
+ describe 'for a callback with an inout array argument' do
71
+ let(:callback_info) {
72
+ get_introspection_data('Regress',
73
+ 'TestCallbackArrayInOut')
74
+ }
75
+ it 'returns a valid mapping method' do
76
+ skip unless callback_info
77
+ expected = <<-CODE.reset_indentation
78
+ def self.call_with_argument_mapping(_proc, ints, length)
79
+ _v1 = GirFFI::InOutPointer.new(:gint32, length)
80
+ _v2 = _v1.to_value
81
+ _v3 = GirFFI::InOutPointer.new([:pointer, :c], ints)
82
+ _v4 = GirFFI::SizedArray.wrap(:gint32, _v2, _v3.to_value)
83
+ _v5 = _proc.call(_v4)
84
+ _v1.set_value _v5.length
85
+ _v3.set_value GirFFI::SizedArray.from(:gint32, -1, _v5)
86
+ end
87
+ CODE
88
+
89
+ builder.mapping_method_definition.must_equal expected
90
+ end
91
+ end
67
92
  end
68
93
  end
@@ -4,71 +4,79 @@ describe GirFFI::Builders::CallbackReturnValueBuilder do
4
4
  let(:var_gen) { GirFFI::VariableNameGenerator.new }
5
5
  let(:return_value_info) { GirFFI::ReturnValueInfo.new(type_info) }
6
6
  let(:type_info) { callback_info.return_type }
7
- let(:builder) { GirFFI::Builders::CallbackReturnValueBuilder.new(var_gen,
8
- return_value_info) }
7
+ let(:builder) {
8
+ GirFFI::Builders::CallbackReturnValueBuilder.new(var_gen,
9
+ return_value_info)
10
+ }
9
11
 
10
12
  before do
11
13
  skip unless callback_info
12
14
  end
13
15
 
14
- describe "for :gint32" do
15
- let(:callback_info) { get_introspection_data("GIMarshallingTests", "CallbackIntInt") }
16
+ describe 'for :gint32' do
17
+ let(:callback_info) { get_introspection_data('GIMarshallingTests', 'CallbackIntInt') }
16
18
 
17
- it "has no statements in #post_conversion" do
19
+ it 'has no statements in #post_conversion' do
18
20
  builder.post_conversion.must_equal []
19
21
  end
20
22
 
21
- it "returns the result of the callback directly" do
22
- builder.capture_variable_name.must_equal "_v1"
23
- builder.return_value_name.must_equal "_v1"
23
+ it 'returns the result of the callback directly' do
24
+ builder.capture_variable_name.must_equal '_v1'
25
+ builder.return_value_name.must_equal '_v1'
24
26
  end
25
27
  end
26
28
 
27
- describe "for :void" do
28
- let(:callback_info) { get_introspection_data("GIMarshallingTests",
29
- "CallbackMultipleOutParameters") }
29
+ describe 'for :void' do
30
+ let(:callback_info) {
31
+ get_introspection_data('GIMarshallingTests',
32
+ 'CallbackMultipleOutParameters')
33
+ }
30
34
 
31
- it "has no statements in #post_conversion" do
35
+ it 'has no statements in #post_conversion' do
32
36
  builder.post_conversion.must_equal []
33
37
  end
34
38
 
35
- it "returns nothing" do
39
+ it 'returns nothing' do
36
40
  builder.capture_variable_name.must_be_nil
37
41
  builder.return_value_name.must_be_nil
38
42
  end
39
43
  end
40
44
 
41
- describe "for :enum" do
42
- let(:callback_info) { get_vfunc_introspection_data("GIMarshallingTests",
43
- "Object",
44
- "vfunc_return_enum") }
45
+ describe 'for :enum' do
46
+ let(:callback_info) {
47
+ get_vfunc_introspection_data('GIMarshallingTests',
48
+ 'Object',
49
+ 'vfunc_return_enum')
50
+ }
45
51
 
46
- it "converts the result" do
52
+ it 'converts the result' do
47
53
  # Ensure variable names are generated in order
48
- builder.capture_variable_name.must_equal "_v1"
49
- builder.post_conversion.must_equal [ "_v2 = GIMarshallingTests::Enum.from(_v1)"]
54
+ builder.capture_variable_name.must_equal '_v1'
55
+ builder.post_conversion.must_equal ['_v2 = GIMarshallingTests::Enum.from(_v1)']
50
56
  end
51
57
 
52
- it "returns the result of the conversion" do
53
- builder.capture_variable_name.must_equal "_v1"
54
- builder.return_value_name.must_equal "_v2"
58
+ it 'returns the result of the conversion' do
59
+ builder.capture_variable_name.must_equal '_v1'
60
+ builder.return_value_name.must_equal '_v2'
55
61
  end
56
62
  end
57
63
 
58
- describe "for :object" do
59
- let(:callback_info) { get_vfunc_introspection_data("GIMarshallingTests",
60
- "Object",
61
- "vfunc_return_object_transfer_full") }
64
+ describe 'for :object' do
65
+ let(:callback_info) {
66
+ get_vfunc_introspection_data('GIMarshallingTests',
67
+ 'Object',
68
+ 'vfunc_return_object_transfer_full')
69
+ }
62
70
 
63
- it "converts the result to a pointer" do
71
+ it 'converts the result to a pointer' do
64
72
  # Ensure variable names are generated in order
65
- builder.capture_variable_name.must_equal "_v1"
66
- builder.post_conversion.must_equal [ "_v2 = GObject::Object.from(_v1).to_ptr"]
73
+ builder.capture_variable_name.must_equal '_v1'
74
+ builder.post_conversion.must_equal ['_v2 = GObject::Object.from(_v1).to_ptr']
67
75
  end
68
76
 
69
- it "returns the result of the conversion" do
70
- builder.capture_variable_name.must_equal "_v1"
71
- builder.return_value_name.must_equal "_v2"
77
+ it 'returns the result of the conversion' do
78
+ builder.capture_variable_name.must_equal '_v1'
79
+ builder.return_value_name.must_equal '_v2'
72
80
  end
73
81
  end
74
82
  end
@@ -1,16 +1,16 @@
1
1
  require 'gir_ffi_test_helper'
2
2
 
3
3
  describe GirFFI::Builders::EnumBuilder do
4
- describe "creating Regress::TestEnum" do
4
+ describe 'creating Regress::TestEnum' do
5
5
  before do
6
6
  save_module :Regress
7
7
  end
8
8
 
9
- it "makes the created type know its proper name" do
9
+ it 'makes the created type know its proper name' do
10
10
  info = get_introspection_data 'Regress', 'TestEnum'
11
11
  builder = GirFFI::Builders::EnumBuilder.new info
12
12
  enum = builder.build_class
13
- enum.inspect.must_equal "Regress::TestEnum"
13
+ enum.inspect.must_equal 'Regress::TestEnum'
14
14
  end
15
15
 
16
16
  after do
@@ -3,9 +3,9 @@ require 'gir_ffi_test_helper'
3
3
  describe GirFFI::Builders::FieldBuilder do
4
4
  let(:instance) { GirFFI::Builders::FieldBuilder.new field_info }
5
5
 
6
- describe "for a field of type :gint8 with an offset" do
7
- let(:field_info) { get_field_introspection_data "Regress", "TestSimpleBoxedA", "some_int8" }
8
- it "creates the right getter method" do
6
+ describe 'for a field of type :gint8 with an offset' do
7
+ let(:field_info) { get_field_introspection_data 'Regress', 'TestSimpleBoxedA', 'some_int8' }
8
+ it 'creates the right getter method' do
9
9
  expected = <<-CODE.reset_indentation
10
10
  def some_int8
11
11
  _v1 = @struct.to_ptr + #{field_info.offset}
@@ -18,7 +18,7 @@ describe GirFFI::Builders::FieldBuilder do
18
18
  instance.getter_def.must_equal expected
19
19
  end
20
20
 
21
- it "creates the right setter method" do
21
+ it 'creates the right setter method' do
22
22
  expected = <<-CODE.reset_indentation
23
23
  def some_int8= value
24
24
  _v1 = @struct.to_ptr + #{field_info.offset}
@@ -31,9 +31,9 @@ describe GirFFI::Builders::FieldBuilder do
31
31
  end
32
32
  end
33
33
 
34
- describe "for a field of type :struct" do
35
- let(:field_info) { get_field_introspection_data "Regress", "TestBoxed", "nested_a" }
36
- it "creates the right getter method" do
34
+ describe 'for a field of type :struct' do
35
+ let(:field_info) { get_field_introspection_data 'Regress', 'TestBoxed', 'nested_a' }
36
+ it 'creates the right getter method' do
37
37
  expected = <<-CODE.reset_indentation
38
38
  def nested_a
39
39
  _v1 = @struct.to_ptr + #{field_info.offset}
@@ -47,9 +47,9 @@ describe GirFFI::Builders::FieldBuilder do
47
47
  end
48
48
  end
49
49
 
50
- describe "for a field of type :enum" do
51
- let(:field_info) { get_field_introspection_data "Regress", "TestStructA", "some_enum" }
52
- it "creates the right getter method" do
50
+ describe 'for a field of type :enum' do
51
+ let(:field_info) { get_field_introspection_data 'Regress', 'TestStructA', 'some_enum' }
52
+ it 'creates the right getter method' do
53
53
  expected = <<-CODE.reset_indentation
54
54
  def some_enum
55
55
  _v1 = @struct.to_ptr + #{field_info.offset}
@@ -63,9 +63,9 @@ describe GirFFI::Builders::FieldBuilder do
63
63
  end
64
64
  end
65
65
 
66
- describe "for an inline fixed-size array field" do
67
- let(:field_info) { get_field_introspection_data "Regress", "TestStructE", "some_union" }
68
- it "creates the right getter method" do
66
+ describe 'for an inline fixed-size array field' do
67
+ let(:field_info) { get_field_introspection_data 'Regress', 'TestStructE', 'some_union' }
68
+ it 'creates the right getter method' do
69
69
  expected = <<-CODE.reset_indentation
70
70
  def some_union
71
71
  _v1 = @struct.to_ptr + #{field_info.offset}
@@ -78,7 +78,7 @@ describe GirFFI::Builders::FieldBuilder do
78
78
  instance.getter_def.must_equal expected
79
79
  end
80
80
 
81
- it "creates the right setter method" do
81
+ it 'creates the right setter method' do
82
82
  expected = <<-CODE.reset_indentation
83
83
  def some_union= value
84
84
  _v1 = @struct.to_ptr + #{field_info.offset}
@@ -92,9 +92,9 @@ describe GirFFI::Builders::FieldBuilder do
92
92
  end
93
93
  end
94
94
 
95
- describe "for a field of type :callback" do
96
- let(:field_info) { get_field_introspection_data "GObject", "TypeInfo", "class_init" }
97
- it "creates the right setter method" do
95
+ describe 'for a field of type :callback' do
96
+ let(:field_info) { get_field_introspection_data 'GObject', 'TypeInfo', 'class_init' }
97
+ it 'creates the right setter method' do
98
98
  expected = <<-CODE.reset_indentation
99
99
  def class_init= value
100
100
  _v1 = @struct.to_ptr + #{field_info.offset}
@@ -1,7 +1,7 @@
1
1
  require 'gir_ffi_test_helper'
2
2
 
3
3
  describe GirFFI::Builders::FunctionBuilder do
4
- it "builds a correct definition of Regress:test_array_fixed_out_objects" do
4
+ it 'builds a correct definition of Regress:test_array_fixed_out_objects' do
5
5
  go = get_introspection_data 'Regress', 'test_array_fixed_out_objects'
6
6
  skip unless go
7
7
  fbuilder = GirFFI::Builders::FunctionBuilder.new go
@@ -19,7 +19,7 @@ describe GirFFI::Builders::FunctionBuilder do
19
19
  assert_equal expected.reset_indentation, code
20
20
  end
21
21
 
22
- it "builds a correct definition for functions having a linked length argument" do
22
+ it 'builds a correct definition for functions having a linked length argument' do
23
23
  go = get_introspection_data 'Regress', 'test_array_gint16_in'
24
24
  fbuilder = GirFFI::Builders::FunctionBuilder.new go
25
25
  code = fbuilder.generate
@@ -37,7 +37,7 @@ describe GirFFI::Builders::FunctionBuilder do
37
37
  assert_equal expected.reset_indentation, code
38
38
  end
39
39
 
40
- it "builds a correct definition for functions with callbacks" do
40
+ it 'builds a correct definition for functions with callbacks' do
41
41
  go = get_introspection_data 'Regress', 'test_callback_destroy_notify'
42
42
  fbuilder = GirFFI::Builders::FunctionBuilder.new go
43
43
  code = fbuilder.generate
@@ -55,7 +55,7 @@ describe GirFFI::Builders::FunctionBuilder do
55
55
  assert_equal expected.reset_indentation, code
56
56
  end
57
57
 
58
- it "builds correct definition for constructors" do
58
+ it 'builds correct definition for constructors' do
59
59
  go = get_method_introspection_data 'Regress', 'TestObj', 'new_from_file'
60
60
  fbuilder = GirFFI::Builders::FunctionBuilder.new go
61
61
  code = fbuilder.generate
@@ -74,7 +74,7 @@ describe GirFFI::Builders::FunctionBuilder do
74
74
  assert_equal expected.reset_indentation, code
75
75
  end
76
76
 
77
- it "creates a call to GObject::Value#from for functions that take a GValue" do
77
+ it 'creates a call to GObject::Value#from for functions that take a GValue' do
78
78
  go = get_introspection_data 'GIMarshallingTests', 'gvalue_in'
79
79
  fbuilder = GirFFI::Builders::FunctionBuilder.new go
80
80
  code = fbuilder.generate
@@ -89,7 +89,7 @@ describe GirFFI::Builders::FunctionBuilder do
89
89
  assert_equal expected.reset_indentation, code
90
90
  end
91
91
 
92
- it "builds correct definition for functions with a nullable input array" do
92
+ it 'builds correct definition for functions with a nullable input array' do
93
93
  go = get_introspection_data 'Regress', 'test_array_int_null_in'
94
94
  fbuilder = GirFFI::Builders::FunctionBuilder.new go
95
95
  code = fbuilder.generate
@@ -106,7 +106,7 @@ describe GirFFI::Builders::FunctionBuilder do
106
106
  assert_equal expected.reset_indentation, code
107
107
  end
108
108
 
109
- it "builds correct definition for functions with a nullable output array" do
109
+ it 'builds correct definition for functions with a nullable output array' do
110
110
  go = get_introspection_data 'Regress', 'test_array_int_null_out'
111
111
  fbuilder = GirFFI::Builders::FunctionBuilder.new go
112
112
  code = fbuilder.generate
@@ -125,7 +125,7 @@ describe GirFFI::Builders::FunctionBuilder do
125
125
  assert_equal expected.reset_indentation, code
126
126
  end
127
127
 
128
- it "builds the correct definition for a method with an inout array with size argument" do
128
+ it 'builds the correct definition for a method with an inout array with size argument' do
129
129
  go = get_method_introspection_data 'GIMarshallingTests', 'Object', 'method_array_inout'
130
130
  fbuilder = GirFFI::Builders::FunctionBuilder.new go
131
131
  code = fbuilder.generate
@@ -147,7 +147,7 @@ describe GirFFI::Builders::FunctionBuilder do
147
147
  assert_equal expected.reset_indentation, code
148
148
  end
149
149
 
150
- it "builds a correct definition for a simple method" do
150
+ it 'builds a correct definition for a simple method' do
151
151
  go = get_method_introspection_data 'Regress', 'TestObj', 'instance_method'
152
152
  fbuilder = GirFFI::Builders::FunctionBuilder.new go
153
153
  code = fbuilder.generate
@@ -162,13 +162,13 @@ describe GirFFI::Builders::FunctionBuilder do
162
162
  assert_equal expected.reset_indentation, code
163
163
  end
164
164
 
165
- describe "#generate" do
165
+ describe '#generate' do
166
166
  let(:builder) { GirFFI::Builders::FunctionBuilder.new function_info }
167
167
  let(:code) { builder.generate }
168
168
 
169
- describe "for GLib::Variant.get_strv" do
169
+ describe 'for GLib::Variant.get_strv' do
170
170
  let(:function_info) { get_method_introspection_data 'GLib', 'Variant', 'get_strv' }
171
- it "builds a correct definition" do
171
+ it 'builds a correct definition' do
172
172
  size_type = ":guint#{FFI.type_size(:size_t) * 8}"
173
173
  code.must_equal <<-CODE.reset_indentation
174
174
  def get_strv
@@ -181,10 +181,10 @@ describe GirFFI::Builders::FunctionBuilder do
181
181
  end
182
182
  end
183
183
 
184
- describe "for Regress.has_parameter_named_attrs" do
184
+ describe 'for Regress.has_parameter_named_attrs' do
185
185
  let(:function_info) { get_introspection_data 'Regress', 'has_parameter_named_attrs' }
186
186
 
187
- it "builds a correct definition" do
187
+ it 'builds a correct definition' do
188
188
  skip unless function_info
189
189
  code.must_equal <<-CODE.reset_indentation
190
190
  def self.has_parameter_named_attrs(foo, attributes)
@@ -197,13 +197,13 @@ describe GirFFI::Builders::FunctionBuilder do
197
197
  end
198
198
  end
199
199
 
200
- describe "for GIMarshallingTests::Object.method_int8_arg_and_out_callee" do
200
+ describe 'for GIMarshallingTests::Object.method_int8_arg_and_out_callee' do
201
201
  let(:function_info) {
202
202
  get_method_introspection_data('GIMarshallingTests', 'Object',
203
203
  'method_int8_arg_and_out_callee')
204
204
  }
205
205
 
206
- it "builds a correct definition" do
206
+ it 'builds a correct definition' do
207
207
  skip unless function_info
208
208
  code.must_equal <<-CODE.reset_indentation
209
209
  def method_int8_arg_and_out_callee(arg)
@@ -1,27 +1,29 @@
1
1
  require 'gir_ffi_test_helper'
2
2
 
3
3
  describe GirFFI::Builders::InterfaceBuilder do
4
- let(:interface_builder) { GirFFI::Builders::InterfaceBuilder.new(
5
- get_introspection_data('Regress', 'TestInterface')) }
4
+ let(:interface_builder) {
5
+ GirFFI::Builders::InterfaceBuilder.new(
6
+ get_introspection_data('Regress', 'TestInterface'))
7
+ }
6
8
 
7
- describe "#build_class" do
9
+ describe '#build_class' do
8
10
  before do
9
11
  info = get_introspection_data 'GObject', 'TypePlugin'
10
12
  @bldr = GirFFI::Builders::InterfaceBuilder.new info
11
13
  @iface = @bldr.build_class
12
14
  end
13
15
 
14
- it "builds an interface as a module" do
16
+ it 'builds an interface as a module' do
15
17
  assert_instance_of Module, @iface
16
18
  end
17
19
 
18
- it "creates methods on the interface" do
20
+ it 'creates methods on the interface' do
19
21
  assert_defines_instance_method @iface, :complete_interface_info
20
22
  end
21
23
  end
22
24
 
23
- describe "#interface_struct" do
24
- it "returns the interface struct type" do
25
+ describe '#interface_struct' do
26
+ it 'returns the interface struct type' do
25
27
  interface_builder.interface_struct.must_equal Regress::TestInterfaceIface
26
28
  end
27
29
  end
@@ -1,14 +1,14 @@
1
1
  require 'gir_ffi_test_helper'
2
2
 
3
3
  describe GirFFI::Builders::ModuleBuilder do
4
- describe "#build_namespaced_class" do
5
- it "raises a clear error if the named class does not exist" do
4
+ describe '#build_namespaced_class' do
5
+ it 'raises a clear error if the named class does not exist' do
6
6
  gir = GObjectIntrospection::IRepository.default
7
- stub(gir).require("Foo", nil) { }
7
+ stub(gir).require('Foo', nil) {}
8
8
 
9
- builder = GirFFI::Builders::ModuleBuilder.new "Foo"
9
+ builder = GirFFI::Builders::ModuleBuilder.new 'Foo'
10
10
 
11
- mock(gir).find_by_name("Foo", "Bar") { nil }
11
+ mock(gir).find_by_name('Foo', 'Bar') { nil }
12
12
 
13
13
  assert_raises NameError do
14
14
  builder.build_namespaced_class :Bar
@@ -16,4 +16,3 @@ describe GirFFI::Builders::ModuleBuilder do
16
16
  end
17
17
  end
18
18
  end
19
-