gir_ffi 0.14.0 → 0.15.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (265) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +45 -0
  3. data/Gemfile +6 -4
  4. data/README.md +11 -10
  5. data/Rakefile +5 -5
  6. data/lib/ffi-glib.rb +16 -16
  7. data/lib/ffi-glib/array.rb +14 -4
  8. data/lib/ffi-glib/byte_array.rb +7 -2
  9. data/lib/ffi-glib/container_class_methods.rb +1 -1
  10. data/lib/ffi-glib/error.rb +1 -1
  11. data/lib/ffi-glib/hash_table.rb +3 -3
  12. data/lib/ffi-glib/list.rb +1 -1
  13. data/lib/ffi-glib/list_methods.rb +1 -1
  14. data/lib/ffi-glib/main_loop.rb +3 -3
  15. data/lib/ffi-glib/ptr_array.rb +30 -8
  16. data/lib/ffi-glib/s_list.rb +1 -1
  17. data/lib/ffi-glib/variant.rb +1 -1
  18. data/lib/ffi-gobject.rb +13 -13
  19. data/lib/ffi-gobject/object.rb +23 -32
  20. data/lib/ffi-gobject/param_spec.rb +1 -1
  21. data/lib/ffi-gobject/ruby_closure.rb +2 -2
  22. data/lib/ffi-gobject/value.rb +40 -29
  23. data/lib/ffi-gobject_introspection.rb +20 -20
  24. data/lib/ffi-gobject_introspection/gobject_type_init.rb +2 -2
  25. data/lib/ffi-gobject_introspection/i_arg_info.rb +2 -2
  26. data/lib/ffi-gobject_introspection/i_base_info.rb +27 -17
  27. data/lib/ffi-gobject_introspection/i_callable_info.rb +4 -4
  28. data/lib/ffi-gobject_introspection/i_constant_info.rb +2 -2
  29. data/lib/ffi-gobject_introspection/i_enum_info.rb +1 -0
  30. data/lib/ffi-gobject_introspection/i_field_info.rb +1 -1
  31. data/lib/ffi-gobject_introspection/i_function_info.rb +1 -1
  32. data/lib/ffi-gobject_introspection/i_interface_info.rb +1 -1
  33. data/lib/ffi-gobject_introspection/i_object_info.rb +2 -2
  34. data/lib/ffi-gobject_introspection/i_property_info.rb +2 -2
  35. data/lib/ffi-gobject_introspection/i_repository.rb +9 -6
  36. data/lib/ffi-gobject_introspection/i_struct_info.rb +2 -1
  37. data/lib/ffi-gobject_introspection/i_type_info.rb +13 -7
  38. data/lib/ffi-gobject_introspection/i_unresolved_info.rb +1 -1
  39. data/lib/ffi-gobject_introspection/i_vfunc_info.rb +1 -1
  40. data/lib/ffi-gobject_introspection/lib.rb +30 -19
  41. data/lib/ffi-gobject_introspection/strv.rb +1 -1
  42. data/lib/gir_ffi-base.rb +1 -1
  43. data/lib/gir_ffi-base/gobject.rb +26 -25
  44. data/lib/gir_ffi-base/gobject/lib.rb +3 -2
  45. data/lib/gir_ffi.rb +3 -3
  46. data/lib/gir_ffi/allocation_helper.rb +1 -1
  47. data/lib/gir_ffi/arg_helper.rb +4 -4
  48. data/lib/gir_ffi/{in_out_pointer.rb → array_element_convertor.rb} +16 -23
  49. data/lib/gir_ffi/boolean.rb +1 -1
  50. data/lib/gir_ffi/boxed_base.rb +1 -1
  51. data/lib/gir_ffi/builder.rb +18 -10
  52. data/lib/gir_ffi/builder_helper.rb +6 -1
  53. data/lib/gir_ffi/builders/argument_builder.rb +19 -19
  54. data/lib/gir_ffi/builders/argument_builder_collection.rb +2 -2
  55. data/lib/gir_ffi/builders/base_argument_builder.rb +1 -0
  56. data/lib/gir_ffi/builders/base_method_builder.rb +7 -7
  57. data/lib/gir_ffi/builders/base_return_value_builder.rb +1 -1
  58. data/lib/gir_ffi/builders/base_type_builder.rb +1 -1
  59. data/lib/gir_ffi/builders/c_to_ruby_convertor.rb +5 -5
  60. data/lib/gir_ffi/builders/callback_argument_builder.rb +8 -8
  61. data/lib/gir_ffi/builders/callback_builder.rb +16 -4
  62. data/lib/gir_ffi/builders/callback_return_value_builder.rb +2 -2
  63. data/lib/gir_ffi/builders/closure_argument_builder.rb +1 -1
  64. data/lib/gir_ffi/builders/closure_return_value_builder.rb +1 -1
  65. data/lib/gir_ffi/builders/constant_builder.rb +1 -1
  66. data/lib/gir_ffi/builders/constructor_builder.rb +9 -9
  67. data/lib/gir_ffi/builders/enum_builder.rb +16 -3
  68. data/lib/gir_ffi/builders/field_builder.rb +20 -18
  69. data/lib/gir_ffi/builders/flags_builder.rb +2 -2
  70. data/lib/gir_ffi/builders/full_c_to_ruby_convertor.rb +1 -1
  71. data/lib/gir_ffi/builders/function_builder.rb +11 -5
  72. data/lib/gir_ffi/builders/initializer_builder.rb +3 -3
  73. data/lib/gir_ffi/builders/initializer_return_value_builder.rb +2 -2
  74. data/lib/gir_ffi/builders/interface_builder.rb +2 -2
  75. data/lib/gir_ffi/builders/mapping_method_builder.rb +9 -9
  76. data/lib/gir_ffi/builders/marshalling_method_builder.rb +7 -7
  77. data/lib/gir_ffi/builders/method_template.rb +1 -1
  78. data/lib/gir_ffi/builders/module_builder.rb +7 -7
  79. data/lib/gir_ffi/builders/object_builder.rb +6 -6
  80. data/lib/gir_ffi/builders/property_argument_builder.rb +1 -1
  81. data/lib/gir_ffi/builders/property_builder.rb +13 -12
  82. data/lib/gir_ffi/builders/property_return_value_builder.rb +1 -1
  83. data/lib/gir_ffi/builders/registered_type_builder.rb +14 -5
  84. data/lib/gir_ffi/builders/return_value_builder.rb +4 -4
  85. data/lib/gir_ffi/builders/ruby_to_c_convertor.rb +6 -6
  86. data/lib/gir_ffi/builders/signal_closure_builder.rb +2 -2
  87. data/lib/gir_ffi/builders/struct_builder.rb +6 -4
  88. data/lib/gir_ffi/builders/struct_like.rb +1 -1
  89. data/lib/gir_ffi/builders/type_builder.rb +12 -12
  90. data/lib/gir_ffi/builders/unintrospectable_boxed_builder.rb +2 -2
  91. data/lib/gir_ffi/builders/unintrospectable_builder.rb +2 -2
  92. data/lib/gir_ffi/builders/union_builder.rb +4 -4
  93. data/lib/gir_ffi/builders/user_defined_builder.rb +2 -2
  94. data/lib/gir_ffi/builders/vfunc_argument_builder.rb +1 -1
  95. data/lib/gir_ffi/builders/vfunc_builder.rb +8 -8
  96. data/lib/gir_ffi/builders/with_layout.rb +2 -2
  97. data/lib/gir_ffi/callback_base.rb +4 -6
  98. data/lib/gir_ffi/class_base.rb +6 -5
  99. data/lib/gir_ffi/core.rb +19 -20
  100. data/lib/gir_ffi/enum_base.rb +1 -1
  101. data/lib/gir_ffi/enum_like_base.rb +2 -2
  102. data/lib/gir_ffi/error_argument_info.rb +2 -2
  103. data/lib/gir_ffi/error_type_info.rb +1 -1
  104. data/lib/gir_ffi/ffi_ext.rb +1 -1
  105. data/lib/gir_ffi/ffi_ext/pointer.rb +1 -1
  106. data/lib/gir_ffi/flags_base.rb +1 -1
  107. data/lib/gir_ffi/in_pointer.rb +10 -0
  108. data/lib/gir_ffi/info_ext.rb +15 -14
  109. data/lib/gir_ffi/info_ext/full_type_name.rb +3 -3
  110. data/lib/gir_ffi/info_ext/i_arg_info.rb +1 -1
  111. data/lib/gir_ffi/info_ext/i_callable_info.rb +1 -1
  112. data/lib/gir_ffi/info_ext/i_callback_info.rb +1 -1
  113. data/lib/gir_ffi/info_ext/i_field_info.rb +1 -1
  114. data/lib/gir_ffi/info_ext/i_function_info.rb +1 -1
  115. data/lib/gir_ffi/info_ext/i_property_info.rb +2 -2
  116. data/lib/gir_ffi/info_ext/i_registered_type_info.rb +4 -5
  117. data/lib/gir_ffi/info_ext/i_signal_info.rb +7 -3
  118. data/lib/gir_ffi/info_ext/i_type_info.rb +48 -26
  119. data/lib/gir_ffi/info_ext/i_unresolved_info.rb +1 -1
  120. data/lib/gir_ffi/info_ext/i_value_info.rb +25 -0
  121. data/lib/gir_ffi/info_ext/i_vfunc_info.rb +2 -2
  122. data/lib/gir_ffi/info_ext/safe_constant_name.rb +8 -8
  123. data/lib/gir_ffi/info_ext/safe_function_name.rb +2 -2
  124. data/lib/gir_ffi/interface_base.rb +3 -3
  125. data/lib/gir_ffi/lib_c.rb +1 -1
  126. data/lib/gir_ffi/method_stubber.rb +1 -1
  127. data/lib/gir_ffi/module_base.rb +1 -1
  128. data/lib/gir_ffi/object_base.rb +3 -4
  129. data/lib/gir_ffi/receiver_argument_info.rb +1 -1
  130. data/lib/gir_ffi/receiver_type_info.rb +2 -2
  131. data/lib/gir_ffi/registered_type_base.rb +1 -1
  132. data/lib/gir_ffi/sized_array.rb +4 -2
  133. data/lib/gir_ffi/struct.rb +1 -1
  134. data/lib/gir_ffi/struct_base.rb +1 -1
  135. data/lib/gir_ffi/type_map.rb +2 -23
  136. data/lib/gir_ffi/unintrospectable_boxed_info.rb +2 -2
  137. data/lib/gir_ffi/unintrospectable_type_info.rb +5 -1
  138. data/lib/gir_ffi/union.rb +1 -1
  139. data/lib/gir_ffi/union_base.rb +1 -1
  140. data/lib/gir_ffi/user_defined_object_info.rb +6 -2
  141. data/lib/gir_ffi/user_defined_property_info.rb +33 -33
  142. data/lib/gir_ffi/version.rb +1 -1
  143. data/tasks/test.rake +3 -2
  144. data/test/base_test_helper.rb +16 -9
  145. data/test/ffi-glib/array_test.rb +71 -56
  146. data/test/ffi-glib/byte_array_test.rb +13 -7
  147. data/test/ffi-glib/bytes_test.rb +24 -19
  148. data/test/ffi-glib/closure_test.rb +11 -11
  149. data/test/ffi-glib/destroy_notify_test.rb +6 -6
  150. data/test/ffi-glib/hash_table_test.rb +27 -27
  151. data/test/ffi-glib/list_test.rb +22 -22
  152. data/test/ffi-glib/main_loop_test.rb +12 -12
  153. data/test/ffi-glib/ptr_array_test.rb +39 -39
  154. data/test/ffi-glib/ruby_closure_test.rb +10 -10
  155. data/test/ffi-glib/s_list_test.rb +20 -20
  156. data/test/ffi-glib/strv_test.rb +19 -19
  157. data/test/ffi-glib/variant_test.rb +5 -5
  158. data/test/ffi-gobject/gobject_test.rb +48 -44
  159. data/test/ffi-gobject/object_class_test.rb +8 -8
  160. data/test/ffi-gobject/object_test.rb +51 -68
  161. data/test/ffi-gobject/param_spec_test.rb +12 -12
  162. data/test/ffi-gobject/value_test.rb +145 -125
  163. data/test/ffi-gobject_introspection/gobject_type_init_test.rb +9 -9
  164. data/test/ffi-gobject_introspection/i_base_info_test.rb +15 -16
  165. data/test/ffi-gobject_introspection/i_constant_info_test.rb +9 -13
  166. data/test/ffi-gobject_introspection/i_enum_info_test.rb +7 -7
  167. data/test/ffi-gobject_introspection/i_function_info_test.rb +1 -1
  168. data/test/ffi-gobject_introspection/i_interface_info_test.rb +10 -10
  169. data/test/ffi-gobject_introspection/i_object_info_test.rb +23 -23
  170. data/test/ffi-gobject_introspection/i_property_info_test.rb +19 -19
  171. data/test/ffi-gobject_introspection/i_registered_type_info_test.rb +10 -10
  172. data/test/ffi-gobject_introspection/i_repository_test.rb +34 -34
  173. data/test/ffi-gobject_introspection/i_struct_info_test.rb +10 -10
  174. data/test/ffi-gobject_introspection/i_type_info_test.rb +12 -15
  175. data/test/ffi-gobject_introspection/i_union_info_test.rb +7 -7
  176. data/test/ffi-gobject_introspection/i_vfunc_info_test.rb +16 -16
  177. data/test/ffi-gobject_introspection/lib_test.rb +3 -3
  178. data/test/ffi-gobject_introspection/strv_test.rb +9 -9
  179. data/test/ffi-gobject_test.rb +47 -45
  180. data/test/gir_ffi/allocation_helper_test.rb +13 -13
  181. data/test/gir_ffi/arg_helper_test.rb +71 -65
  182. data/test/gir_ffi/boolean_test.rb +20 -20
  183. data/test/gir_ffi/boxed_base_test.rb +18 -18
  184. data/test/gir_ffi/builder_test.rb +81 -213
  185. data/test/gir_ffi/builders/argument_builder_test.rb +321 -287
  186. data/test/gir_ffi/builders/base_argument_builder_test.rb +1 -1
  187. data/test/gir_ffi/builders/callback_argument_builder_test.rb +57 -56
  188. data/test/gir_ffi/builders/callback_builder_test.rb +71 -72
  189. data/test/gir_ffi/builders/callback_return_value_builder_test.rb +40 -41
  190. data/test/gir_ffi/builders/constant_builder_test.rb +1 -1
  191. data/test/gir_ffi/builders/constructor_builder_test.rb +12 -10
  192. data/test/gir_ffi/builders/enum_builder_test.rb +12 -11
  193. data/test/gir_ffi/builders/field_builder_test.rb +48 -42
  194. data/test/gir_ffi/builders/function_builder_test.rb +256 -224
  195. data/test/gir_ffi/builders/initializer_builder_test.rb +16 -14
  196. data/test/gir_ffi/builders/interface_builder_test.rb +9 -9
  197. data/test/gir_ffi/builders/module_builder_test.rb +18 -18
  198. data/test/gir_ffi/builders/object_builder_test.rb +41 -41
  199. data/test/gir_ffi/builders/property_builder_test.rb +94 -94
  200. data/test/gir_ffi/builders/registered_type_builder_test.rb +35 -11
  201. data/test/gir_ffi/builders/return_value_builder_test.rb +227 -223
  202. data/test/gir_ffi/builders/signal_closure_builder_test.rb +124 -113
  203. data/test/gir_ffi/builders/struct_builder_test.rb +38 -35
  204. data/test/gir_ffi/builders/unintrospectable_boxed_builder_test.rb +8 -14
  205. data/test/gir_ffi/builders/unintrospectable_builder_test.rb +34 -23
  206. data/test/gir_ffi/builders/union_builder_test.rb +12 -15
  207. data/test/gir_ffi/builders/user_defined_builder_test.rb +152 -148
  208. data/test/gir_ffi/builders/vfunc_argument_builder_test.rb +46 -40
  209. data/test/gir_ffi/builders/vfunc_builder_test.rb +149 -157
  210. data/test/gir_ffi/callback_base_test.rb +9 -9
  211. data/test/gir_ffi/class_base_test.rb +56 -53
  212. data/test/gir_ffi/core_test.rb +36 -35
  213. data/test/gir_ffi/enum_base_test.rb +19 -19
  214. data/test/gir_ffi/error_type_info_test.rb +23 -23
  215. data/test/gir_ffi/ffi_ext/pointer_test.rb +9 -7
  216. data/test/gir_ffi/g_type_test.rb +11 -11
  217. data/test/gir_ffi/in_pointer_test.rb +70 -50
  218. data/test/gir_ffi/info_ext/i_callable_info_test.rb +5 -5
  219. data/test/gir_ffi/info_ext/i_callback_info_test.rb +6 -5
  220. data/test/gir_ffi/info_ext/i_field_info_test.rb +6 -6
  221. data/test/gir_ffi/info_ext/i_function_info_test.rb +17 -17
  222. data/test/gir_ffi/info_ext/i_signal_info_test.rb +8 -8
  223. data/test/gir_ffi/info_ext/i_type_info_test.rb +231 -216
  224. data/test/gir_ffi/info_ext/i_unresolved_info_test.rb +4 -4
  225. data/test/gir_ffi/info_ext/safe_constant_name_test.rb +8 -8
  226. data/test/gir_ffi/info_ext/safe_function_name_test.rb +8 -8
  227. data/test/gir_ffi/interface_base_test.rb +8 -8
  228. data/test/gir_ffi/method_stubber_test.rb +21 -19
  229. data/test/gir_ffi/object_base_test.rb +23 -23
  230. data/test/gir_ffi/object_store_test.rb +13 -13
  231. data/test/gir_ffi/receiver_argument_info_test.rb +15 -15
  232. data/test/gir_ffi/sized_array_test.rb +68 -68
  233. data/test/gir_ffi/struct_base_test.rb +8 -8
  234. data/test/gir_ffi/struct_like_base_test.rb +64 -64
  235. data/test/gir_ffi/type_map_test.rb +8 -8
  236. data/test/gir_ffi/unintrospectable_type_info_test.rb +33 -33
  237. data/test/gir_ffi/union_base_test.rb +8 -8
  238. data/test/gir_ffi/user_defined_object_info_test.rb +34 -34
  239. data/test/gir_ffi/user_defined_property_info_test.rb +16 -16
  240. data/test/gir_ffi/variable_name_generator_test.rb +8 -8
  241. data/test/gir_ffi/version_test.rb +4 -4
  242. data/test/gir_ffi/zero_terminated_test.rb +34 -34
  243. data/test/gir_ffi_test_helper.rb +3 -3
  244. data/test/integration/callback_exceptions_test.rb +17 -21
  245. data/test/integration/derived_classes_test.rb +14 -13
  246. data/test/integration/generated_everything_test.rb +225 -224
  247. data/test/integration/generated_gimarshallingtests_test.rb +1174 -1060
  248. data/test/integration/generated_gio_test.rb +36 -36
  249. data/test/integration/generated_glib_test.rb +4 -6
  250. data/test/integration/generated_gobject_test.rb +43 -35
  251. data/test/integration/generated_gst_test.rb +20 -16
  252. data/test/integration/generated_gtk_source_test.rb +9 -15
  253. data/test/integration/generated_gtop_test.rb +8 -15
  254. data/test/integration/generated_pango_ft2_test.rb +2 -2
  255. data/test/integration/generated_pango_test.rb +4 -4
  256. data/test/integration/generated_regress_test.rb +1858 -1632
  257. data/test/integration/generated_secret_test.rb +8 -11
  258. data/test/integration/generated_utility_test.rb +81 -81
  259. data/test/integration/generated_warnlib_test.rb +17 -21
  260. data/test/integration/method_lookup_test.rb +6 -6
  261. data/test/introspection_test_helper.rb +49 -7
  262. data/test/minitest/stats_plugin.rb +1 -1
  263. metadata +21 -23
  264. data/lib/ffi-glib/array_methods.rb +0 -16
  265. data/test/gir_ffi/in_out_pointer_test.rb +0 -56
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gir_ffi_test_helper'
3
+ require "gir_ffi_test_helper"
4
4
 
5
5
  GirFFI.setup :Regress
6
6
 
@@ -13,20 +13,20 @@ describe GirFFI::InfoExt::ISignalInfo do
13
13
  end
14
14
  let(:signal_info) { signal_class.new }
15
15
 
16
- describe '#arguments_to_gvalues' do
16
+ describe "#arguments_to_gvalues" do
17
17
  let(:object) { Regress::TestSubObj.new }
18
18
  let(:boxed) { Regress::TestSimpleBoxedA.const_return }
19
- let(:signal_info) { Regress::TestSubObj.find_signal 'test-with-static-scope-arg' }
19
+ let(:signal_info) { Regress::TestSubObj.find_signal "test-with-static-scope-arg" }
20
20
  let(:result) { signal_info.arguments_to_gvalues(object, [boxed]) }
21
21
 
22
- it 'correctly wraps :object' do
23
- result[0].get_value.must_equal object
22
+ it "correctly wraps :object" do
23
+ _(result[0].get_value).must_equal object
24
24
  end
25
25
 
26
- it 'correctly wraps :struct' do
26
+ it "correctly wraps :struct" do
27
27
  result_boxed = result[1].get_value
28
- result_boxed.some_int8.must_equal boxed.some_int8
29
- result_boxed.some_int.must_equal boxed.some_int
28
+ _(result_boxed.some_int8).must_equal boxed.some_int8
29
+ _(result_boxed.some_int).must_equal boxed.some_int
30
30
  end
31
31
  end
32
32
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gir_ffi_test_helper'
3
+ require "gir_ffi_test_helper"
4
4
 
5
5
  describe GirFFI::InfoExt::ITypeInfo do
6
6
  let(:info_class) do
@@ -16,15 +16,15 @@ describe GirFFI::InfoExt::ITypeInfo do
16
16
  let(:iface_info) { Object.new }
17
17
 
18
18
  let(:callback_type_info) do
19
- get_introspection_data('Regress', 'test_callback').args[0].argument_type
19
+ get_introspection_data("Regress", "test_callback").args[0].argument_type
20
20
  end
21
21
  let(:ghash_type_info) do
22
- get_introspection_data('Regress',
23
- 'test_ghash_nested_everything_return').return_type
22
+ get_introspection_data("Regress",
23
+ "test_ghash_nested_everything_return").return_type
24
24
  end
25
25
 
26
- describe '#to_ffi_type' do
27
- it 'returns an array with elements subtype and size for type :array' do
26
+ describe "#to_ffi_type" do
27
+ it "returns an array with elements subtype and size for type :array" do
28
28
  expect(type_info).to receive(:pointer?).and_return false
29
29
  allow(type_info).to receive(:tag).and_return :array
30
30
  expect(type_info).to receive(:array_fixed_size).and_return 2
@@ -36,7 +36,7 @@ describe GirFFI::InfoExt::ITypeInfo do
36
36
  assert_equal [:foo, 2], result
37
37
  end
38
38
 
39
- describe 'for an :interface type' do
39
+ describe "for an :interface type" do
40
40
  before do
41
41
  allow(type_info).to receive(:interface).and_return iface_info
42
42
  allow(type_info).to receive(:tag).and_return :interface
@@ -46,13 +46,13 @@ describe GirFFI::InfoExt::ITypeInfo do
46
46
  it "maps a the interface's ffi_type" do
47
47
  allow(iface_info).to receive(:to_ffi_type).and_return :foo
48
48
 
49
- type_info.to_ffi_type.must_equal :foo
49
+ _(type_info.to_ffi_type).must_equal :foo
50
50
  end
51
51
  end
52
52
  end
53
53
 
54
- describe '#element_type' do
55
- it 'returns the element type for lists' do
54
+ describe "#element_type" do
55
+ it "returns the element type for lists" do
56
56
  allow(elmtype_info).to receive(:tag).and_return :foo
57
57
  expect(elmtype_info).to receive(:pointer?).and_return false
58
58
 
@@ -60,10 +60,10 @@ describe GirFFI::InfoExt::ITypeInfo do
60
60
  expect(type_info).to receive(:param_type).with(0).and_return elmtype_info
61
61
 
62
62
  result = type_info.element_type
63
- result.must_equal :foo
63
+ _(result).must_equal :foo
64
64
  end
65
65
 
66
- it 'returns the key and value types for ghashes' do
66
+ it "returns the key and value types for ghashes" do
67
67
  allow(keytype_info).to receive(:tag).and_return :foo
68
68
  expect(keytype_info).to receive(:pointer?).and_return false
69
69
  allow(valtype_info).to receive(:tag).and_return :bar
@@ -74,17 +74,17 @@ describe GirFFI::InfoExt::ITypeInfo do
74
74
  expect(type_info).to receive(:param_type).with(1).and_return valtype_info
75
75
 
76
76
  result = type_info.element_type
77
- result.must_equal [:foo, :bar]
77
+ _(result).must_equal [:foo, :bar]
78
78
  end
79
79
 
80
- it 'returns nil for other types' do
80
+ it "returns nil for other types" do
81
81
  expect(type_info).to receive(:tag).and_return :foo
82
82
 
83
83
  result = type_info.element_type
84
- result.must_be_nil
84
+ _(result).must_be_nil
85
85
  end
86
86
 
87
- it 'returns [:pointer, :void] if the element type is a pointer with tag :void' do
87
+ it "returns [:pointer, :void] if the element type is a pointer with tag :void" do
88
88
  allow(elmtype_info).to receive(:tag_or_class).and_return [:pointer, :void]
89
89
 
90
90
  expect(type_info).to receive(:tag).and_return :glist
@@ -94,100 +94,100 @@ describe GirFFI::InfoExt::ITypeInfo do
94
94
  end
95
95
  end
96
96
 
97
- describe '#flattened_tag' do
98
- describe 'for a simple type' do
99
- it 'returns the type tag' do
97
+ describe "#flattened_tag" do
98
+ describe "for a simple type" do
99
+ it "returns the type tag" do
100
100
  allow(type_info).to receive(:tag).and_return :uint32
101
101
 
102
- type_info.flattened_tag.must_equal :uint32
102
+ _(type_info.flattened_tag).must_equal :uint32
103
103
  end
104
104
  end
105
105
 
106
- describe 'for a zero-terminated array' do
106
+ describe "for a zero-terminated array" do
107
107
  before do
108
108
  allow(type_info).to receive(:tag).and_return :array
109
109
  allow(type_info).to receive(:param_type).with(0).and_return elmtype_info
110
110
  allow(type_info).to receive(:zero_terminated?).and_return true
111
111
  end
112
112
 
113
- describe 'of utf8' do
114
- it 'returns :strv' do
113
+ describe "of utf8" do
114
+ it "returns :strv" do
115
115
  allow(elmtype_info).to receive(:tag).and_return :utf8
116
116
  allow(elmtype_info).to receive(:pointer?).and_return true
117
117
 
118
- type_info.flattened_tag.must_equal :strv
118
+ _(type_info.flattened_tag).must_equal :strv
119
119
  end
120
120
  end
121
121
 
122
- describe 'of filename' do
123
- it 'returns :strv' do
122
+ describe "of filename" do
123
+ it "returns :strv" do
124
124
  allow(elmtype_info).to receive(:tag).and_return :filename
125
125
  allow(elmtype_info).to receive(:pointer?).and_return true
126
126
 
127
- type_info.flattened_tag.must_equal :strv
127
+ _(type_info.flattened_tag).must_equal :strv
128
128
  end
129
129
  end
130
130
 
131
- describe 'of another type' do
132
- it 'returns :zero_terminated' do
131
+ describe "of another type" do
132
+ it "returns :zero_terminated" do
133
133
  allow(elmtype_info).to receive(:tag).and_return :foo
134
134
  allow(elmtype_info).to receive(:pointer?).and_return false
135
135
 
136
- type_info.flattened_tag.must_equal :zero_terminated
136
+ _(type_info.flattened_tag).must_equal :zero_terminated
137
137
  end
138
138
  end
139
139
  end
140
140
 
141
- describe 'for a fixed length c-like array' do
142
- it 'returns :c' do
141
+ describe "for a fixed length c-like array" do
142
+ it "returns :c" do
143
143
  expect(type_info).to receive(:tag).and_return :array
144
144
  expect(type_info).to receive(:zero_terminated?).and_return false
145
145
  expect(type_info).to receive(:array_type).and_return :c
146
146
 
147
- type_info.flattened_tag.must_equal :c
147
+ _(type_info.flattened_tag).must_equal :c
148
148
  end
149
149
  end
150
150
 
151
- describe 'for a GLib array' do
152
- it 'returns :c' do
151
+ describe "for a GLib array" do
152
+ it "returns :c" do
153
153
  expect(type_info).to receive(:tag).and_return :array
154
154
  expect(type_info).to receive(:zero_terminated?).and_return false
155
155
  expect(type_info).to receive(:array_type).and_return :array
156
156
 
157
- type_info.flattened_tag.must_equal :array
157
+ _(type_info.flattened_tag).must_equal :array
158
158
  end
159
159
  end
160
160
  end
161
161
 
162
- describe '#tag_or_class' do
163
- describe 'for a simple type' do
162
+ describe "#tag_or_class" do
163
+ describe "for a simple type" do
164
164
  it "returns the type's tag" do
165
165
  allow(type_info).to receive(:tag).and_return :foo
166
166
  expect(type_info).to receive(:pointer?).and_return false
167
167
 
168
- type_info.tag_or_class.must_equal :foo
168
+ _(type_info.tag_or_class).must_equal :foo
169
169
  end
170
170
  end
171
171
 
172
- describe 'for utf8 strings' do
173
- it 'returns the tag :utf8' do
172
+ describe "for utf8 strings" do
173
+ it "returns the tag :utf8" do
174
174
  allow(type_info).to receive(:tag).and_return :utf8
175
175
  expect(type_info).to receive(:pointer?).and_return true
176
176
 
177
- type_info.tag_or_class.must_equal :utf8
177
+ _(type_info.tag_or_class).must_equal :utf8
178
178
  end
179
179
  end
180
180
 
181
- describe 'for filename strings' do
182
- it 'returns the tag :filename' do
181
+ describe "for filename strings" do
182
+ it "returns the tag :filename" do
183
183
  allow(type_info).to receive(:tag).and_return :filename
184
184
  expect(type_info).to receive(:pointer?).and_return true
185
185
 
186
- type_info.tag_or_class.must_equal :filename
186
+ _(type_info.tag_or_class).must_equal :filename
187
187
  end
188
188
  end
189
189
 
190
- describe 'for an interface class' do
190
+ describe "for an interface class" do
191
191
  let(:interface) { Object.new }
192
192
 
193
193
  before do
@@ -195,61 +195,62 @@ describe GirFFI::InfoExt::ITypeInfo do
195
195
  allow(type_info).to receive(:interface).and_return iface_info
196
196
  expect(type_info).to receive(:pointer?).and_return false
197
197
 
198
- expect(GirFFI::Builder).to receive(:build_class).with(iface_info).and_return interface
198
+ expect(GirFFI::Builder)
199
+ .to receive(:build_class).with(iface_info).and_return interface
199
200
  end
200
201
 
201
- describe 'when the interface type is :enum' do
202
- it 'returns the built interface module' do
202
+ describe "when the interface type is :enum" do
203
+ it "returns the built interface module" do
203
204
  allow(iface_info).to receive(:info_type).and_return :enum
204
205
 
205
- type_info.tag_or_class.must_equal interface
206
+ _(type_info.tag_or_class).must_equal interface
206
207
  end
207
208
  end
208
209
 
209
- describe 'when the interface type is :object' do
210
- it 'returns the built interface class' do
210
+ describe "when the interface type is :object" do
211
+ it "returns the built interface class" do
211
212
  allow(iface_info).to receive(:info_type).and_return :object
212
213
 
213
- type_info.tag_or_class.must_equal interface
214
+ _(type_info.tag_or_class).must_equal interface
214
215
  end
215
216
  end
216
217
 
217
- describe 'when the interface type is :struct' do
218
- it 'returns the built interface class' do
218
+ describe "when the interface type is :struct" do
219
+ it "returns the built interface class" do
219
220
  allow(iface_info).to receive(:info_type).and_return :struct
220
221
 
221
- type_info.tag_or_class.must_equal interface
222
+ _(type_info.tag_or_class).must_equal interface
222
223
  end
223
224
  end
224
225
  end
225
226
 
226
- describe 'for a callback' do
227
+ describe "for a callback" do
227
228
  it "returns the callback's wrapper class" do
228
- callback_type_info.tag_or_class.must_equal Regress::TestCallback
229
+ _(callback_type_info.tag_or_class).must_equal Regress::TestCallback
229
230
  end
230
231
  end
231
232
 
232
- describe 'for a pointer to simple type :foo' do
233
- it 'returns [:pointer, :foo]' do
233
+ describe "for a pointer to simple type :foo" do
234
+ it "returns [:pointer, :foo]" do
234
235
  allow(type_info).to receive(:tag).and_return :foo
235
236
  expect(type_info).to receive(:pointer?).and_return true
236
237
 
237
- type_info.tag_or_class.must_equal [:pointer, :foo]
238
+ _(type_info.tag_or_class).must_equal [:pointer, :foo]
238
239
  end
239
240
  end
240
241
 
241
- describe 'for a pointer to :void' do
242
- it 'returns [:pointer, :void]' do
242
+ describe "for a pointer to :void" do
243
+ it "returns [:pointer, :void]" do
243
244
  allow(type_info).to receive(:tag).and_return :void
244
245
  allow(type_info).to receive(:pointer?).and_return true
245
246
 
246
- type_info.tag_or_class.must_equal [:pointer, :void]
247
+ _(type_info.tag_or_class).must_equal [:pointer, :void]
247
248
  end
248
249
  end
249
250
 
250
- describe 'for a complex nested hash type' do
251
- it 'returns a representeation of the nested structure' do
252
- ghash_type_info.tag_or_class.must_equal(
251
+ describe "for a complex nested hash type" do
252
+ it "returns a representeation of the nested structure" do
253
+ _(ghash_type_info.tag_or_class).must_equal(
253
254
  [:pointer,
254
255
  [:ghash,
255
256
  :utf8,
@@ -259,34 +260,34 @@ describe GirFFI::InfoExt::ITypeInfo do
259
260
  end
260
261
  end
261
262
 
262
- describe '#to_callback_ffi_type' do
263
- describe 'for an :interface argument' do
263
+ describe "#to_callback_ffi_type" do
264
+ describe "for an :interface argument" do
264
265
  before do
265
266
  allow(type_info).to receive(:interface).and_return iface_info
266
267
  allow(type_info).to receive(:tag).and_return :interface
267
268
  allow(type_info).to receive(:pointer?).and_return false
268
269
  end
269
270
 
270
- it 'delegates to interface info' do
271
+ it "delegates to interface info" do
271
272
  allow(iface_info).to receive(:to_callback_ffi_type).and_return :some_ffi_type
272
273
 
273
- type_info.to_callback_ffi_type.must_equal :some_ffi_type
274
+ _(type_info.to_callback_ffi_type).must_equal :some_ffi_type
274
275
  end
275
276
  end
276
277
  end
277
278
 
278
- describe '#extra_conversion_arguments' do
279
- describe 'for normal types' do
279
+ describe "#extra_conversion_arguments" do
280
+ describe "for normal types" do
280
281
  before do
281
282
  allow(type_info).to receive(:tag).and_return :foo
282
283
  end
283
284
 
284
- it 'returns an empty array' do
285
- type_info.extra_conversion_arguments.must_equal []
285
+ it "returns an empty array" do
286
+ _(type_info.extra_conversion_arguments).must_equal []
286
287
  end
287
288
  end
288
289
 
289
- describe 'for a fixed-size array' do
290
+ describe "for a fixed-size array" do
290
291
  before do
291
292
  allow(type_info).to receive(:tag).and_return :array
292
293
  allow(type_info).to receive(:zero_terminated?).and_return false
@@ -297,12 +298,12 @@ describe GirFFI::InfoExt::ITypeInfo do
297
298
  allow(elmtype_info).to receive(:tag_or_class).and_return :foo
298
299
  end
299
300
 
300
- it 'returns an array containing the element type' do
301
- type_info.extra_conversion_arguments.must_equal [:foo, 3]
301
+ it "returns an array containing the element type" do
302
+ _(type_info.extra_conversion_arguments).must_equal [:foo, 3]
302
303
  end
303
304
  end
304
305
 
305
- describe 'for a zero-terminated array' do
306
+ describe "for a zero-terminated array" do
306
307
  before do
307
308
  allow(type_info).to receive(:tag).and_return :array
308
309
  allow(type_info).to receive(:zero_terminated?).and_return true
@@ -311,12 +312,12 @@ describe GirFFI::InfoExt::ITypeInfo do
311
312
  allow(elmtype_info).to receive(:tag_or_class).and_return :foo
312
313
  end
313
314
 
314
- it 'returns an array containing the element type' do
315
- type_info.extra_conversion_arguments.must_equal [:foo]
315
+ it "returns an array containing the element type" do
316
+ _(type_info.extra_conversion_arguments).must_equal [:foo]
316
317
  end
317
318
  end
318
319
 
319
- describe 'for a GArray' do
320
+ describe "for a GArray" do
320
321
  before do
321
322
  allow(type_info).to receive(:tag).and_return :array
322
323
  allow(type_info).to receive(:zero_terminated?).and_return false
@@ -326,12 +327,12 @@ describe GirFFI::InfoExt::ITypeInfo do
326
327
  allow(elmtype_info).to receive(:tag_or_class).and_return :foo
327
328
  end
328
329
 
329
- it 'returns an array containing the element type' do
330
- type_info.extra_conversion_arguments.must_equal [:foo]
330
+ it "returns an array containing the element type" do
331
+ _(type_info.extra_conversion_arguments).must_equal [:foo]
331
332
  end
332
333
  end
333
334
 
334
- describe 'for a GHashTable' do
335
+ describe "for a GHashTable" do
335
336
  before do
336
337
  allow(type_info).to receive(:tag).and_return :ghash
337
338
  allow(type_info).to receive(:param_type).with(0).and_return keytype_info
@@ -341,12 +342,12 @@ describe GirFFI::InfoExt::ITypeInfo do
341
342
  allow(valtype_info).to receive(:tag_or_class).and_return :bar
342
343
  end
343
344
 
344
- it 'returns an array containing the element type pair' do
345
- type_info.extra_conversion_arguments.must_equal [[:foo, :bar]]
345
+ it "returns an array containing the element type pair" do
346
+ _(type_info.extra_conversion_arguments).must_equal [[:foo, :bar]]
346
347
  end
347
348
  end
348
349
 
349
- describe 'for a GList' do
350
+ describe "for a GList" do
350
351
  before do
351
352
  allow(type_info).to receive(:tag).and_return :glist
352
353
 
@@ -354,12 +355,12 @@ describe GirFFI::InfoExt::ITypeInfo do
354
355
  allow(elmtype_info).to receive(:tag_or_class).and_return :foo
355
356
  end
356
357
 
357
- it 'returns an array containing the element type' do
358
- type_info.extra_conversion_arguments.must_equal [:foo]
358
+ it "returns an array containing the element type" do
359
+ _(type_info.extra_conversion_arguments).must_equal [:foo]
359
360
  end
360
361
  end
361
362
 
362
- describe 'for a GSList' do
363
+ describe "for a GSList" do
363
364
  before do
364
365
  allow(type_info).to receive(:tag).and_return :gslist
365
366
 
@@ -367,12 +368,12 @@ describe GirFFI::InfoExt::ITypeInfo do
367
368
  allow(elmtype_info).to receive(:tag_or_class).and_return :foo
368
369
  end
369
370
 
370
- it 'returns an array containing the element type' do
371
- type_info.extra_conversion_arguments.must_equal [:foo]
371
+ it "returns an array containing the element type" do
372
+ _(type_info.extra_conversion_arguments).must_equal [:foo]
372
373
  end
373
374
  end
374
375
 
375
- describe 'for a GPtrArray' do
376
+ describe "for a GPtrArray" do
376
377
  before do
377
378
  allow(type_info).to receive(:tag).and_return :array
378
379
  allow(type_info).to receive(:zero_terminated?).and_return false
@@ -382,313 +383,327 @@ describe GirFFI::InfoExt::ITypeInfo do
382
383
  allow(elmtype_info).to receive(:tag_or_class).and_return :foo
383
384
  end
384
385
 
385
- it 'returns an array containing the element type' do
386
- type_info.extra_conversion_arguments.must_equal [:foo]
386
+ it "returns an array containing the element type" do
387
+ _(type_info.extra_conversion_arguments).must_equal [:foo]
387
388
  end
388
389
  end
389
390
 
390
- describe 'for a :callback' do
391
+ describe "for a :callback" do
391
392
  before do
392
- allow(interface_type_info = Object.new).to receive(:namespace).and_return 'Bar'
393
- allow(interface_type_info).to receive(:name).and_return 'Foo'
393
+ allow(interface_type_info = Object.new).to receive(:namespace).and_return "Bar"
394
+ allow(interface_type_info).to receive(:name).and_return "Foo"
394
395
 
395
396
  allow(type_info).to receive(:tag).and_return :callback
396
397
  allow(type_info).to receive(:interface).and_return interface_type_info
397
398
  end
398
399
 
399
- it 'returns an empty array' do
400
- type_info.extra_conversion_arguments.must_equal []
400
+ it "returns an empty array" do
401
+ _(type_info.extra_conversion_arguments).must_equal []
401
402
  end
402
403
  end
403
404
  end
404
405
 
405
- describe '#argument_class_name' do
406
+ describe "#argument_class_name" do
406
407
  before do
407
408
  allow(type_info).to receive(:tag).and_return tag
408
409
  end
409
410
 
410
- describe 'for :gint32' do
411
+ describe "for :gint32" do
411
412
  let(:tag) { :gint32 }
412
413
 
413
- it 'is nil' do
414
- type_info.argument_class_name.must_be_nil
414
+ it "is nil" do
415
+ _(type_info.argument_class_name).must_be_nil
415
416
  end
416
417
  end
417
418
 
418
- describe 'for interfaces' do
419
+ describe "for interfaces" do
419
420
  let(:tag) { :interface }
420
421
 
421
422
  before do
422
423
  allow(type_info).to receive(:interface).and_return iface_info
423
424
  allow(iface_info).to receive(:info_type).and_return interface_type
424
- allow(iface_info).to receive(:full_type_name).and_return 'Bar::Foo'
425
+ allow(iface_info).to receive(:full_type_name).and_return "Bar::Foo"
425
426
  end
426
427
 
427
- describe 'for :struct' do
428
+ describe "for :struct" do
428
429
  let(:interface_type) { :struct }
429
- it 'equals the struct class name' do
430
- type_info.argument_class_name.must_equal 'Bar::Foo'
430
+ it "equals the struct class name" do
431
+ _(type_info.argument_class_name).must_equal "Bar::Foo"
431
432
  end
432
433
  end
433
434
 
434
- describe 'for :union' do
435
+ describe "for :union" do
435
436
  let(:interface_type) { :union }
436
- it 'equals the union class name' do
437
- type_info.argument_class_name.must_equal 'Bar::Foo'
437
+ it "equals the union class name" do
438
+ _(type_info.argument_class_name).must_equal "Bar::Foo"
438
439
  end
439
440
  end
440
441
 
441
- describe 'for :interface' do
442
+ describe "for :interface" do
442
443
  let(:interface_type) { :interface }
443
444
 
444
- it 'equals the interface module name' do
445
- type_info.argument_class_name.must_equal 'Bar::Foo'
445
+ it "equals the interface module name" do
446
+ _(type_info.argument_class_name).must_equal "Bar::Foo"
446
447
  end
447
448
  end
448
449
 
449
- describe 'for :object' do
450
+ describe "for :object" do
450
451
  let(:interface_type) { :object }
451
452
 
452
- it 'equals the object class name' do
453
- type_info.argument_class_name.must_equal 'Bar::Foo'
453
+ it "equals the object class name" do
454
+ _(type_info.argument_class_name).must_equal "Bar::Foo"
454
455
  end
455
456
  end
456
457
 
457
- describe 'for :callback' do
458
+ describe "for :callback" do
458
459
  let(:interface_type) { :callback }
459
460
 
460
- it 'equals the callback type name' do
461
- type_info.argument_class_name.must_equal 'Bar::Foo'
461
+ it "equals the callback type name" do
462
+ _(type_info.argument_class_name).must_equal "Bar::Foo"
462
463
  end
463
464
  end
464
465
  end
465
466
 
466
- describe 'for :strv' do
467
+ describe "for :strv" do
467
468
  let(:tag) { :strv }
468
469
 
469
- it 'equals GLib::Strv' do
470
- type_info.argument_class_name.must_equal 'GLib::Strv'
470
+ it "equals GLib::Strv" do
471
+ _(type_info.argument_class_name).must_equal "GLib::Strv"
471
472
  end
472
473
  end
473
474
 
474
- describe 'for arrays' do
475
+ describe "for arrays" do
475
476
  let(:tag) { :array }
476
477
  before do
477
478
  allow(type_info).to receive(:param_type).with(0).and_return elmtype_info
478
479
  allow(elmtype_info).to receive(:tag_or_class).and_return :foo
479
480
  end
480
481
 
481
- describe 'for :zero_terminated' do
482
+ describe "for :zero_terminated" do
482
483
  before do
483
484
  allow(type_info).to receive(:zero_terminated?).and_return true
484
485
  end
485
486
 
486
- it 'equals GirFFI::ZeroTerminated' do
487
- type_info.argument_class_name.must_equal 'GirFFI::ZeroTerminated'
487
+ it "equals GirFFI::ZeroTerminated" do
488
+ _(type_info.argument_class_name).must_equal "GirFFI::ZeroTerminated"
488
489
  end
489
490
  end
490
491
 
491
- describe 'for :byte_array' do
492
+ describe "for :byte_array" do
492
493
  before do
493
494
  allow(type_info).to receive(:zero_terminated?).and_return false
494
495
  allow(type_info).to receive(:array_type).and_return :byte_array
495
496
  end
496
497
 
497
- it 'equals GLib::ByteArray' do
498
- type_info.argument_class_name.must_equal 'GLib::ByteArray'
498
+ it "equals GLib::ByteArray" do
499
+ _(type_info.argument_class_name).must_equal "GLib::ByteArray"
499
500
  end
500
501
  end
501
502
 
502
- describe 'for :ptr_array' do
503
+ describe "for :ptr_array" do
503
504
  before do
504
505
  allow(type_info).to receive(:zero_terminated?).and_return false
505
506
  allow(type_info).to receive(:array_type).and_return :ptr_array
506
507
  end
507
508
 
508
- it 'equals GLib::PtrArray' do
509
- type_info.argument_class_name.must_equal 'GLib::PtrArray'
509
+ it "equals GLib::PtrArray" do
510
+ _(type_info.argument_class_name).must_equal "GLib::PtrArray"
510
511
  end
511
512
  end
512
513
 
513
- describe 'for :array' do
514
+ describe "for :array" do
514
515
  before do
515
516
  allow(type_info).to receive(:zero_terminated?).and_return false
516
517
  allow(type_info).to receive(:array_type).and_return :array
517
518
  end
518
519
 
519
- it 'equals GLib::Array' do
520
- type_info.argument_class_name.must_equal 'GLib::Array'
520
+ it "equals GLib::Array" do
521
+ _(type_info.argument_class_name).must_equal "GLib::Array"
521
522
  end
522
523
  end
523
524
  end
524
525
 
525
- describe 'for :glist' do
526
+ describe "for :glist" do
526
527
  let(:tag) { :glist }
527
528
 
528
- it 'equals GLib::List' do
529
- type_info.argument_class_name.must_equal 'GLib::List'
529
+ it "equals GLib::List" do
530
+ _(type_info.argument_class_name).must_equal "GLib::List"
530
531
  end
531
532
  end
532
533
 
533
- describe 'for :gslist' do
534
+ describe "for :gslist" do
534
535
  let(:tag) { :gslist }
535
536
 
536
- it 'equals GLib::SList' do
537
- type_info.argument_class_name.must_equal 'GLib::SList'
537
+ it "equals GLib::SList" do
538
+ _(type_info.argument_class_name).must_equal "GLib::SList"
538
539
  end
539
540
  end
540
541
 
541
- describe 'for :ghash' do
542
+ describe "for :ghash" do
542
543
  let(:tag) { :ghash }
543
544
 
544
- it 'equals GLib::HashTable' do
545
- type_info.argument_class_name.must_equal 'GLib::HashTable'
545
+ it "equals GLib::HashTable" do
546
+ _(type_info.argument_class_name).must_equal "GLib::HashTable"
546
547
  end
547
548
  end
548
549
 
549
- describe 'for :error' do
550
+ describe "for :error" do
550
551
  let(:tag) { :error }
551
552
 
552
- it 'equals GLib::Error' do
553
- type_info.argument_class_name.must_equal 'GLib::Error'
553
+ it "equals GLib::Error" do
554
+ _(type_info.argument_class_name).must_equal "GLib::Error"
554
555
  end
555
556
  end
556
557
  end
557
558
 
558
- describe '#gtype' do
559
+ describe "#gtype" do
559
560
  before do
560
561
  allow(type_info).to receive(:tag).and_return tag
561
562
  allow(type_info).to receive(:pointer?).and_return pointer?
562
563
  end
563
564
 
564
- describe 'for :void' do
565
- let(:tag) { :void }
565
+ describe "for non-pointers" do
566
566
  let(:pointer?) { false }
567
+ describe "for :void" do
568
+ let(:tag) { :void }
567
569
 
568
- it 'equals the none type' do
569
- GObject.type_name(type_info.gtype).must_equal 'void'
570
+ it "equals the none type" do
571
+ _(GObject.type_name(type_info.gtype)).must_equal "void"
572
+ end
570
573
  end
571
- end
572
574
 
573
- describe 'for :void pointer' do
574
- let(:tag) { :void }
575
- let(:pointer?) { true }
575
+ describe "for :gboolean" do
576
+ let(:tag) { :gboolean }
576
577
 
577
- it 'equals the none type' do
578
- GObject.type_name(type_info.gtype).must_equal 'gpointer'
578
+ it "equals the gboolean type" do
579
+ _(GObject.type_name(type_info.gtype)).must_equal "gboolean"
580
+ end
579
581
  end
580
- end
581
582
 
582
- describe 'for :gboolean' do
583
- let(:tag) { :gboolean }
584
- let(:pointer?) { false }
583
+ describe "for :gint32" do
584
+ let(:tag) { :gint32 }
585
585
 
586
- it 'equals the gboolean type' do
587
- GObject.type_name(type_info.gtype).must_equal 'gboolean'
586
+ it "equals the gint type" do
587
+ _(GObject.type_name(type_info.gtype)).must_equal "gint"
588
+ end
588
589
  end
589
- end
590
590
 
591
- describe 'for :gint32' do
592
- let(:tag) { :gint32 }
593
- let(:pointer?) { false }
591
+ describe "for :gint64" do
592
+ let(:tag) { :gint64 }
594
593
 
595
- it 'equals the gint type' do
596
- GObject.type_name(type_info.gtype).must_equal 'gint'
594
+ it "equals the gint64 type" do
595
+ _(GObject.type_name(type_info.gtype)).must_equal "gint64"
596
+ end
597
597
  end
598
- end
599
598
 
600
- describe 'for :gint64' do
601
- let(:tag) { :gint64 }
602
- let(:pointer?) { false }
599
+ describe "for :guint64" do
600
+ let(:tag) { :guint64 }
603
601
 
604
- it 'equals the gint64 type' do
605
- GObject.type_name(type_info.gtype).must_equal 'gint64'
602
+ it "equals the guint64 type" do
603
+ _(GObject.type_name(type_info.gtype)).must_equal "guint64"
604
+ end
606
605
  end
607
606
  end
608
607
 
609
- describe 'for :guint64' do
610
- let(:tag) { :guint64 }
611
- let(:pointer?) { false }
608
+ describe "for pointers" do
609
+ let(:pointer?) { true }
610
+
611
+ describe "to :void" do
612
+ let(:tag) { :void }
612
613
 
613
- it 'equals the guint64 type' do
614
- GObject.type_name(type_info.gtype).must_equal 'guint64'
614
+ it "equals the gpointer type" do
615
+ _(GObject.type_name(type_info.gtype)).must_equal "gpointer"
616
+ end
615
617
  end
616
- end
617
618
 
618
- describe 'for pointer to :utf8' do
619
- let(:tag) { :utf8 }
620
- let(:pointer?) { true }
619
+ describe "to :utf8" do
620
+ let(:tag) { :utf8 }
621
621
 
622
- it 'equals the gchararray type' do
623
- GObject.type_name(type_info.gtype).must_equal 'gchararray'
622
+ it "equals the gchararray type" do
623
+ _(GObject.type_name(type_info.gtype)).must_equal "gchararray"
624
+ end
624
625
  end
625
- end
626
626
 
627
- describe 'for pointer to :ghash' do
628
- let(:tag) { :ghash }
629
- let(:pointer?) { true }
627
+ describe "to :ghash" do
628
+ let(:tag) { :ghash }
630
629
 
631
- it 'equals the GHashTable type' do
632
- GObject.type_name(type_info.gtype).must_equal 'GHashTable'
630
+ it "equals the GHashTable type" do
631
+ _(GObject.type_name(type_info.gtype)).must_equal "GHashTable"
632
+ end
633
633
  end
634
- end
635
634
 
636
- describe 'for pointer to :glist' do
637
- let(:tag) { :glist }
638
- let(:pointer?) { true }
635
+ describe "to :glist" do
636
+ let(:tag) { :glist }
639
637
 
640
- it 'equals the pointer type' do
641
- GObject.type_name(type_info.gtype).must_equal 'gpointer'
638
+ it "equals the pointer type" do
639
+ _(GObject.type_name(type_info.gtype)).must_equal "gpointer"
640
+ end
641
+ end
642
+
643
+ describe "to :error" do
644
+ let(:tag) { :error }
645
+
646
+ it "equals the gpointer type" do
647
+ _(GObject.type_name(type_info.gtype)).must_equal "gpointer"
648
+ end
649
+ end
650
+
651
+ describe "to :guint32" do
652
+ let(:tag) { :guint32 }
653
+
654
+ it "equals the gpointer type" do
655
+ _(GObject.type_name(type_info.gtype)).must_equal "gpointer"
656
+ end
642
657
  end
643
658
  end
644
659
 
645
- describe 'for arrays' do
660
+ describe "for arrays" do
646
661
  let(:tag) { :array }
647
662
  let(:pointer?) { true }
648
663
 
649
- describe 'for pointer to GArray' do
664
+ describe "for pointer to GArray" do
650
665
  before do
651
666
  allow(type_info).to receive(:zero_terminated?).and_return false
652
667
  allow(type_info).to receive(:array_type).and_return :array
653
668
  end
654
669
 
655
- it 'equals the GArray type' do
656
- GObject.type_name(type_info.gtype).must_equal 'GArray'
670
+ it "equals the GArray type" do
671
+ _(GObject.type_name(type_info.gtype)).must_equal "GArray"
657
672
  end
658
673
  end
659
674
 
660
- describe 'for a C array' do
675
+ describe "for a C array" do
661
676
  before do
662
677
  allow(type_info).to receive(:zero_terminated?).and_return false
663
678
  allow(type_info).to receive(:array_type).and_return :c
664
679
  end
665
680
 
666
- it 'equals the gpointer type' do
667
- GObject.type_name(type_info.gtype).must_equal 'gpointer'
681
+ it "equals the gpointer type" do
682
+ _(GObject.type_name(type_info.gtype)).must_equal "gpointer"
668
683
  end
669
684
  end
670
685
 
671
- describe 'for a zero-terminated array' do
686
+ describe "for a zero-terminated array" do
672
687
  before do
673
688
  allow(type_info).to receive(:param_type).with(0).and_return elmtype_info
674
689
  allow(type_info).to receive(:zero_terminated?).and_return true
675
690
  end
676
691
 
677
- describe 'of utf8' do
678
- it 'equals the GStrv type' do
692
+ describe "of utf8" do
693
+ it "equals the GStrv type" do
679
694
  allow(elmtype_info).to receive(:tag).and_return :utf8
680
695
  allow(elmtype_info).to receive(:pointer?).and_return true
681
696
 
682
- GObject.type_name(type_info.gtype).must_equal 'GStrv'
697
+ _(GObject.type_name(type_info.gtype)).must_equal "GStrv"
683
698
  end
684
699
  end
685
700
 
686
- describe 'of filename' do
687
- it 'equals the GStrv type' do
701
+ describe "of filename" do
702
+ it "equals the GStrv type" do
688
703
  allow(elmtype_info).to receive(:tag).and_return :filename
689
704
  allow(elmtype_info).to receive(:pointer?).and_return true
690
705
 
691
- GObject.type_name(type_info.gtype).must_equal 'GStrv'
706
+ _(GObject.type_name(type_info.gtype)).must_equal "GStrv"
692
707
  end
693
708
  end
694
709
  end