gir_ffi 0.14.0 → 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 (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,22 +1,22 @@
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::CallbackBase do
6
- describe '.store_callback' do
7
- it 'stores the passed in proc in CALLBACKS' do
8
- dummy_proc = 'some-callback'
6
+ describe ".store_callback" do
7
+ it "stores the passed in proc in CALLBACKS" do
8
+ dummy_proc = "some-callback"
9
9
  GirFFI::CallbackBase.store_callback dummy_proc
10
- GirFFI::CallbackBase::CALLBACKS[dummy_proc.object_id].must_equal dummy_proc
10
+ _(GirFFI::CallbackBase::CALLBACKS[dummy_proc.object_id]).must_equal dummy_proc
11
11
  end
12
12
  end
13
13
 
14
- describe '.drop_callback' do
15
- it 'removes the corresponding proc from CALLBACKS' do
16
- dummy_proc = 'some-callback'
14
+ describe ".drop_callback" do
15
+ it "removes the corresponding proc from CALLBACKS" do
16
+ dummy_proc = "some-callback"
17
17
  GirFFI::CallbackBase.store_callback dummy_proc
18
18
  GirFFI::CallbackBase.drop_callback dummy_proc
19
- GirFFI::CallbackBase::CALLBACKS[dummy_proc.object_id].must_be_nil
19
+ _(GirFFI::CallbackBase::CALLBACKS[dummy_proc.object_id]).must_be_nil
20
20
  end
21
21
  end
22
22
  end
@@ -1,9 +1,9 @@
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::ClassBase do
6
- describe 'a simple descendant' do
6
+ describe "a simple descendant" do
7
7
  let(:object_class) do
8
8
  Class.new(GirFFI::ClassBase) do
9
9
  self::Struct = Class.new(GirFFI::Struct) do
@@ -13,72 +13,73 @@ describe GirFFI::ClassBase do
13
13
  end
14
14
  let(:object) { object_class.wrap FFI::MemoryPointer.new(:int32) }
15
15
 
16
- it 'has #from as a pass-through method' do
16
+ it "has #from as a pass-through method" do
17
17
  result = object_class.from :foo
18
- result.must_equal :foo
18
+ _(result).must_equal :foo
19
19
  end
20
20
 
21
- describe '#==' do
22
- it 'returns true when comparing to an object of the same class and pointer' do
21
+ describe "#==" do
22
+ it "returns true for an object of the same class and pointer" do
23
23
  other = object_class.wrap object.to_ptr
24
24
 
25
- object.must_be :==, other
26
- other.must_be :==, object
25
+ _(object).must_be :==, other
26
+ _(other).must_be :==, object
27
27
  end
28
28
 
29
- it 'returns true when comparing to an object of the same class and a pointer with the same address' do
29
+ it "returns true for an object of the same class and pointer with the same address" do
30
30
  ptr = FFI::Pointer.new object.to_ptr
31
31
  other = object_class.wrap ptr
32
32
 
33
- object.must_be :==, other
34
- other.must_be :==, object
33
+ _(object).must_be :==, other
34
+ _(other).must_be :==, object
35
35
  end
36
36
 
37
- it 'returns false when comparing to an object of a sub/superclass and the same pointer' do
37
+ it "returns false for an object of a sub/superclass and the same pointer" do
38
38
  subclass = Class.new(object_class)
39
39
  other = subclass.wrap object.to_ptr
40
40
 
41
- object.wont_be :==, other
42
- other.wont_be :==, object
41
+ _(object).wont_be :==, other
42
+ _(other).wont_be :==, object
43
43
  end
44
44
 
45
- it 'returns false when comparing to an object of the same class and different pointer' do
45
+ it "returns false for an object of the same class and different pointer" do
46
46
  other = object_class.wrap FFI::MemoryPointer.new(:int32)
47
47
 
48
- object.wont_be :==, other
49
- other.wont_be :==, object
48
+ _(object).wont_be :==, other
49
+ _(other).wont_be :==, object
50
50
  end
51
51
 
52
- it "returns false when comparing to an object that doesn't respond to #to_ptr" do
52
+ it "returns false for an object that doesn't respond to #to_ptr" do
53
53
  other = Object.new
54
54
 
55
- object.wont_be :==, other
56
- other.wont_be :==, object
55
+ _(object).wont_be :==, other
56
+ _(other).wont_be :==, object
57
57
  end
58
58
 
59
- it 'returns false when comparing to an object of a different class and same pointer' do
59
+ it "returns false for an object of a different class and same pointer" do
60
60
  allow(other = Object.new).to receive(:to_ptr).and_return object.to_ptr
61
61
 
62
- object.wont_be :==, other
63
- other.wont_be :==, object
62
+ _(object).wont_be :==, other
63
+ _(other).wont_be :==, object
64
64
  end
65
65
 
66
- it 'returns false when comparing to an object of a different class and different pointer' do
67
- allow(other = Object.new).to receive(:to_ptr).and_return FFI::MemoryPointer.new(:int32)
66
+ it "returns false for an object of a different class and different pointer" do
67
+ allow(other = Object.new)
68
+ .to receive(:to_ptr).and_return FFI::MemoryPointer.new(:int32)
68
69
 
69
- object.wont_be :==, other
70
- other.wont_be :==, object
70
+ _(object).wont_be :==, other
71
+ _(other).wont_be :==, object
71
72
  end
72
73
  end
73
74
  end
74
75
 
75
- describe '.setup_and_call' do
76
- it 'looks up class methods in all builders' do
77
- expect(builder = Object.new).to receive(:setup_method).with('foo').and_return 'foo'
76
+ describe ".setup_and_call" do
77
+ it "looks up class methods in all builders" do
78
+ expect(builder = Object.new).to receive(:setup_method).with("foo").and_return "foo"
78
79
  klass = Class.new GirFFI::ClassBase
79
80
  klass.const_set :GIR_FFI_BUILDER, builder
80
81
 
81
- expect(sub_builder = Object.new).to receive(:setup_method).with('foo').and_return nil
82
+ expect(sub_builder = Object.new).to receive(:setup_method).with("foo").and_return nil
82
83
  sub_klass = Class.new klass do
83
84
  def self.foo; end
84
85
  end
@@ -87,11 +88,11 @@ describe GirFFI::ClassBase do
87
88
  sub_klass.setup_and_call :foo, []
88
89
  end
89
90
 
90
- it 'calls the method given by the result of .setup_method' do
91
- expect(builder = Object.new).to receive(:setup_method).with('foo').and_return 'bar'
91
+ it "calls the method given by the result of .setup_method" do
92
+ expect(builder = Object.new).to receive(:setup_method).with("foo").and_return "bar"
92
93
  klass = Class.new GirFFI::ClassBase do
93
94
  def self.bar
94
- 'correct-result'
95
+ "correct-result"
95
96
  end
96
97
 
97
98
  def initialize; end
@@ -99,29 +100,30 @@ describe GirFFI::ClassBase do
99
100
  klass.const_set :GIR_FFI_BUILDER, builder
100
101
 
101
102
  result = klass.setup_and_call :foo, []
102
- result.must_equal 'correct-result'
103
+ _(result).must_equal "correct-result"
103
104
  end
104
105
 
105
- it 'raises a sensible error if the method is not found' do
106
- expect(builder = Object.new).to receive(:setup_method).with('foo').and_return nil
106
+ it "raises a sensible error if the method is not found" do
107
+ expect(builder = Object.new).to receive(:setup_method).with("foo").and_return nil
107
108
  klass = Class.new GirFFI::ClassBase do
108
109
  def initialize; end
109
110
  end
110
111
  klass.const_set :GIR_FFI_BUILDER, builder
111
112
 
112
- proc { klass.setup_and_call :foo, [] }.
113
- must_raise(NoMethodError).message.
114
- must_match(/^undefined method `foo' for/)
113
+ exception = _(proc { klass.setup_and_call :foo, [] }).must_raise(NoMethodError)
114
+ _(exception.message).must_match(/^undefined method `foo' for/)
115
115
  end
116
116
  end
117
117
 
118
- describe '#setup_and_call' do
119
- it 'looks up instance methods in all builders' do
120
- expect(builder = Object.new).to receive(:setup_instance_method).with('foo').and_return 'foo'
118
+ describe "#setup_and_call" do
119
+ it "looks up instance methods in all builders" do
120
+ expect(builder = Object.new)
121
+ .to receive(:setup_instance_method).with("foo").and_return "foo"
121
122
  klass = Class.new GirFFI::ClassBase
122
123
  klass.const_set :GIR_FFI_BUILDER, builder
123
124
 
124
- expect(sub_builder = Object.new).to receive(:setup_instance_method).with('foo').and_return nil
125
+ expect(sub_builder = Object.new)
126
+ .to receive(:setup_instance_method).with("foo").and_return nil
125
127
  sub_klass = Class.new klass do
126
128
  def foo; end
127
129
 
@@ -134,11 +136,12 @@ describe GirFFI::ClassBase do
134
136
  obj.setup_and_call :foo, []
135
137
  end
136
138
 
137
- it 'calls the method given by the result of .setup_instance_method' do
138
- expect(builder = Object.new).to receive(:setup_instance_method).with('foo').and_return 'bar'
139
+ it "calls the method given by the result of .setup_instance_method" do
140
+ expect(builder = Object.new)
141
+ .to receive(:setup_instance_method).with("foo").and_return "bar"
139
142
  klass = Class.new GirFFI::ClassBase do
140
143
  def bar
141
- 'correct-result'
144
+ "correct-result"
142
145
  end
143
146
 
144
147
  def initialize; end
@@ -148,11 +151,12 @@ describe GirFFI::ClassBase do
148
151
  obj = klass.new
149
152
 
150
153
  result = obj.setup_and_call :foo, []
151
- result.must_equal 'correct-result'
154
+ _(result).must_equal "correct-result"
152
155
  end
153
156
 
154
- it 'raises a sensible error if the method is not found' do
155
- expect(builder = Object.new).to receive(:setup_instance_method).with('foo').and_return nil
157
+ it "raises a sensible error if the method is not found" do
158
+ expect(builder = Object.new)
159
+ .to receive(:setup_instance_method).with("foo").and_return nil
156
160
  klass = Class.new GirFFI::ClassBase do
157
161
  def initialize; end
158
162
  end
@@ -160,9 +164,8 @@ describe GirFFI::ClassBase do
160
164
 
161
165
  obj = klass.new
162
166
 
163
- proc { obj.setup_and_call :foo, [] }.
164
- must_raise(NoMethodError).message.
165
- must_match(/^undefined method `foo' for/)
167
+ exception = _(proc { obj.setup_and_call :foo, [] }).must_raise(NoMethodError)
168
+ _(exception.message).must_match(/^undefined method `foo' for/)
166
169
  end
167
170
  end
168
171
  end
@@ -1,97 +1,98 @@
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 :GIMarshallingTests
6
6
 
7
7
  describe GirFFI::Core do
8
- it 'sets up cairo as Cairo' do
8
+ it "sets up cairo as Cairo" do
9
9
  GirFFI.setup :cairo
10
10
  assert Object.const_defined?(:Cairo)
11
11
  end
12
12
 
13
- it 'sets up xlib, which has no shared library' do
13
+ it "sets up xlib, which has no shared library" do
14
14
  gir = GObjectIntrospection::IRepository.default
15
- gir.require 'xlib'
16
- assert_nil gir.shared_library('xlib'), 'Precondition for test failed'
15
+ gir.require "xlib"
16
+ assert_nil gir.shared_library("xlib"), "Precondition for test failed"
17
17
  GirFFI.setup :xlib
18
18
  end
19
19
 
20
- it 'sets up dependencies' do
21
- save_module :GObject
20
+ it "sets up dependencies" do
21
+ save_module :Utility
22
22
  save_module :Regress
23
+ refute Object.const_defined?(:Utility)
23
24
  GirFFI.setup :Regress
24
- assert Object.const_defined?(:GObject)
25
+ assert Object.const_defined?(:Utility)
25
26
  restore_module :Regress
26
- restore_module :GObject
27
+ restore_module :Utility
27
28
  end
28
29
 
29
- describe '.setup' do
30
- it 'passes the desired version down to the module builder' do
31
- expect(GirFFI::Builder).to receive(:build_module).with('Regress', '0.1')
32
- GirFFI.setup :Regress, '0.1'
30
+ describe ".setup" do
31
+ it "passes the desired version down to the module builder" do
32
+ expect(GirFFI::Builder).to receive(:build_module).with("Regress", "0.1")
33
+ GirFFI.setup :Regress, "0.1"
33
34
  end
34
35
  end
35
36
 
36
- describe '::define_type' do
37
- describe 'without a block' do
37
+ describe "::define_type" do
38
+ describe "without a block" do
38
39
  before do
39
40
  @klass = Class.new GIMarshallingTests::OverridesObject
40
41
  Object.const_set "DerivedA#{Sequence.next}", @klass
41
42
  @gtype = GirFFI.define_type @klass
42
43
  end
43
44
 
44
- it 'returns a GType for the derived class' do
45
+ it "returns a GType for the derived class" do
45
46
  parent_gtype = GIMarshallingTests::OverridesObject.gtype
46
- @gtype.wont_equal parent_gtype
47
- GObject.type_name(@gtype).must_equal @klass.name
47
+ _(@gtype).wont_equal parent_gtype
48
+ _(GObject.type_name(@gtype)).must_equal @klass.name
48
49
  end
49
50
 
50
- it 'makes #gtype on the registered class return the new GType' do
51
- @klass.gtype.must_equal @gtype
51
+ it "makes #gtype on the registered class return the new GType" do
52
+ _(@klass.gtype).must_equal @gtype
52
53
  end
53
54
 
54
- it 'registers a type with the same size as the parent' do
55
+ it "registers a type with the same size as the parent" do
55
56
  q = GObject.type_query @gtype
56
- q.instance_size.must_equal GIMarshallingTests::OverridesObject::Struct.size
57
+ _(q.instance_size).must_equal GIMarshallingTests::OverridesObject::Struct.size
57
58
  end
58
59
 
59
- it 'creates a struct class for the derived class with just one member' do
60
- @klass::Struct.members.must_equal [:parent]
60
+ it "creates a struct class for the derived class with just one member" do
61
+ _(@klass::Struct.members).must_equal [:parent]
61
62
  end
62
63
 
63
- it 'allows the new class to be instantiated' do
64
+ it "allows the new class to be instantiated" do
64
65
  obj = @klass.new
65
66
  type = GObject.type_from_instance obj
66
- type.must_equal @gtype
67
+ _(type).must_equal @gtype
67
68
  end
68
69
  end
69
70
 
70
- describe 'with a block with a call to #install_property' do
71
+ describe "with a block with a call to #install_property" do
71
72
  before do
72
73
  @klass = Class.new GIMarshallingTests::OverridesObject
73
74
  Object.const_set "DerivedB#{Sequence.next}", @klass
74
75
  @gtype = GirFFI.define_type @klass do |info|
75
- info.install_property GObject.param_spec_int('foo', 'foo bar',
76
- 'The Foo Bar Property',
76
+ info.install_property GObject.param_spec_int("foo", "foo bar",
77
+ "The Foo Bar Property",
77
78
  10, 20, 15,
78
79
  3)
79
80
  end
80
81
  end
81
82
 
82
- it 'registers a type that is bigger than the parent' do
83
+ it "registers a type that is bigger than the parent" do
83
84
  q = GObject.type_query @gtype
84
- q.instance_size.must_be :>, GIMarshallingTests::OverridesObject::Struct.size
85
+ _(q.instance_size).must_be :>, GIMarshallingTests::OverridesObject::Struct.size
85
86
  end
86
87
 
87
- it 'gives the types Struct the fields :parent and :foo' do
88
- @klass::Struct.members.must_equal [:parent, :foo]
88
+ it "gives the types Struct the fields :parent and :foo" do
89
+ _(@klass::Struct.members).must_equal [:parent, :foo]
89
90
  end
90
91
 
91
- it 'creates accessor functions for the property' do
92
+ it "creates accessor functions for the property" do
92
93
  obj = @klass.new
93
94
  obj.foo = 13
94
- obj.foo.must_equal 13
95
+ _(obj.foo).must_equal 13
95
96
  end
96
97
  end
97
98
  end
@@ -1,43 +1,43 @@
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
 
7
7
  describe GirFFI::EnumBase do
8
- describe '.wrap' do
9
- it 'converts an integer to a symbol if possible' do
10
- Regress::TestEnum.wrap(1).must_equal :value2
8
+ describe ".wrap" do
9
+ it "converts an integer to a symbol if possible" do
10
+ _(Regress::TestEnum.wrap(1)).must_equal :value2
11
11
  end
12
12
 
13
- it 'passes an integer if it cannot be converted' do
14
- Regress::TestEnum.wrap(32).must_equal 32
13
+ it "passes an integer if it cannot be converted" do
14
+ _(Regress::TestEnum.wrap(32)).must_equal 32
15
15
  end
16
16
 
17
- it 'passes a known symbol untouched' do
18
- Regress::TestEnum.wrap(:value1).must_equal :value1
17
+ it "passes a known symbol untouched" do
18
+ _(Regress::TestEnum.wrap(:value1)).must_equal :value1
19
19
  end
20
20
 
21
- it 'passes an unknown symbol untouched' do
22
- Regress::TestEnum.wrap(:foo).must_equal :foo
21
+ it "passes an unknown symbol untouched" do
22
+ _(Regress::TestEnum.wrap(:foo)).must_equal :foo
23
23
  end
24
24
  end
25
25
 
26
- describe '.to_int' do
27
- it 'passes a known integer untouched' do
28
- Regress::TestEnum.to_int(1).must_equal 1
26
+ describe ".to_int" do
27
+ it "passes a known integer untouched" do
28
+ _(Regress::TestEnum.to_int(1)).must_equal 1
29
29
  end
30
30
 
31
- it 'passes an unknown integer untouched' do
32
- Regress::TestEnum.to_int(32).must_equal 32
31
+ it "passes an unknown integer untouched" do
32
+ _(Regress::TestEnum.to_int(32)).must_equal 32
33
33
  end
34
34
 
35
- it 'convertes a known symbol to an integer' do
36
- Regress::TestEnum.to_int(:value1).must_equal 0
35
+ it "convertes a known symbol to an integer" do
36
+ _(Regress::TestEnum.to_int(:value1)).must_equal 0
37
37
  end
38
38
 
39
- it 'raises an error for an unknown symbol' do
40
- -> { Regress::TestEnum.to_int(:foo) }.must_raise ArgumentError
39
+ it "raises an error for an unknown symbol" do
40
+ _(-> { Regress::TestEnum.to_int(:foo) }).must_raise ArgumentError
41
41
  end
42
42
  end
43
43
  end
@@ -1,50 +1,50 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gir_ffi_test_helper'
4
- require 'gir_ffi/error_type_info'
3
+ require "gir_ffi_test_helper"
4
+ require "gir_ffi/error_type_info"
5
5
 
6
6
  describe GirFFI::ErrorTypeInfo do
7
7
  let(:instance) { GirFFI::ErrorTypeInfo.new }
8
8
 
9
- describe '#array_length' do
10
- it 'returns the correct value' do
11
- instance.array_length.must_equal(-1)
9
+ describe "#array_length" do
10
+ it "returns the correct value" do
11
+ _(instance.array_length).must_equal(-1)
12
12
  end
13
13
  end
14
14
 
15
- describe '#tag_or_class' do
16
- it 'returns the correct value' do
17
- instance.tag_or_class.must_equal [:pointer, :error]
15
+ describe "#tag_or_class" do
16
+ it "returns the correct value" do
17
+ _(instance.tag_or_class).must_equal [:pointer, :error]
18
18
  end
19
19
  end
20
20
 
21
- describe '#pointer?' do
22
- it 'returns the correct value' do
23
- instance.pointer?.must_equal true
21
+ describe "#pointer?" do
22
+ it "returns the correct value" do
23
+ _(instance.pointer?).must_equal true
24
24
  end
25
25
  end
26
26
 
27
- describe '#flattened_tag' do
28
- it 'returns the correct value' do
29
- instance.flattened_tag.must_equal :error
27
+ describe "#flattened_tag" do
28
+ it "returns the correct value" do
29
+ _(instance.flattened_tag).must_equal :error
30
30
  end
31
31
  end
32
32
 
33
- describe '#extra_conversion_arguments' do
34
- it 'returns the correct value' do
35
- instance.extra_conversion_arguments.must_equal []
33
+ describe "#extra_conversion_arguments" do
34
+ it "returns the correct value" do
35
+ _(instance.extra_conversion_arguments).must_equal []
36
36
  end
37
37
  end
38
38
 
39
- describe '#argument_class_name' do
40
- it 'returns the correct value' do
41
- instance.argument_class_name.must_equal 'GLib::Error'
39
+ describe "#argument_class_name" do
40
+ it "returns the correct value" do
41
+ _(instance.argument_class_name).must_equal "GLib::Error"
42
42
  end
43
43
  end
44
44
 
45
- describe '#needs_ruby_to_c_conversion_for_callbacks?' do
46
- it 'returns the correct value' do
47
- instance.needs_ruby_to_c_conversion_for_callbacks?.must_equal true
45
+ describe "#needs_ruby_to_c_conversion_for_callbacks?" do
46
+ it "returns the correct value" do
47
+ _(instance.needs_ruby_to_c_conversion_for_callbacks?).must_equal true
48
48
  end
49
49
  end
50
50
  end