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
@@ -1,13 +1,15 @@
1
1
  require 'gir_ffi_test_helper'
2
2
 
3
3
  describe GirFFI::InfoExt::ICallbackInfo do
4
- let(:klass) { Class.new do
5
- include GirFFI::InfoExt::ICallbackInfo
6
- end }
4
+ let(:klass) {
5
+ Class.new do
6
+ include GirFFI::InfoExt::ICallbackInfo
7
+ end
8
+ }
7
9
  let(:callback_info) { klass.new }
8
10
 
9
- describe "#return_ffi_type" do
10
- it "returns the callback ffi type of the return type" do
11
+ describe '#return_ffi_type' do
12
+ it 'returns the callback ffi type of the return type' do
11
13
  stub(return_type_info = Object.new).to_callback_ffitype { :some_type }
12
14
  stub(callback_info).return_type { return_type_info }
13
15
 
@@ -15,5 +17,3 @@ describe GirFFI::InfoExt::ICallbackInfo do
15
17
  end
16
18
  end
17
19
  end
18
-
19
-
@@ -1,15 +1,17 @@
1
1
  require 'gir_ffi_test_helper'
2
2
 
3
3
  describe GirFFI::InfoExt::IFieldInfo do
4
- let(:klass) { Class.new do
5
- include GirFFI::InfoExt::IFieldInfo
6
- end }
4
+ let(:klass) {
5
+ Class.new do
6
+ include GirFFI::InfoExt::IFieldInfo
7
+ end
8
+ }
7
9
  let(:field_info) { klass.new }
8
- describe "#layout_specification" do
9
- it "returns an array of name, typespec and offset" do
10
+ describe '#layout_specification' do
11
+ it 'returns an array of name, typespec and offset' do
10
12
  mock(type = Object.new).to_ffitype { :bar }
11
13
 
12
- mock(field_info).name { "foo" }
14
+ mock(field_info).name { 'foo' }
13
15
  mock(field_info).field_type { type }
14
16
  mock(field_info).offset { 0 }
15
17
 
@@ -18,10 +20,10 @@ describe GirFFI::InfoExt::IFieldInfo do
18
20
  assert_equal [:foo, :bar, 0], result
19
21
  end
20
22
 
21
- it "keeps a complex typespec intact" do
23
+ it 'keeps a complex typespec intact' do
22
24
  mock(type = Object.new).to_ffitype { [:bar, 2] }
23
25
 
24
- mock(field_info).name { "foo" }
26
+ mock(field_info).name { 'foo' }
25
27
  mock(field_info).field_type { type }
26
28
  mock(field_info).offset { 0 }
27
29
 
@@ -1,66 +1,68 @@
1
1
  require 'gir_ffi_test_helper'
2
2
 
3
3
  describe GirFFI::InfoExt::IFunctionInfo do
4
- let(:klass) { Class.new do
5
- include GirFFI::InfoExt::ICallableInfo
6
- include GirFFI::InfoExt::IFunctionInfo
7
- end }
4
+ let(:klass) {
5
+ Class.new do
6
+ include GirFFI::InfoExt::ICallableInfo
7
+ include GirFFI::InfoExt::IFunctionInfo
8
+ end
9
+ }
8
10
  let(:function_info) { klass.new }
9
11
 
10
- describe "#argument_ffi_types" do
12
+ describe '#argument_ffi_types' do
11
13
  before do
12
14
  stub(arg_info1 = Object.new).to_ffitype { :type1 }
13
15
  stub(arg_info2 = Object.new).to_ffitype { :type2 }
14
16
  stub(function_info).args { [arg_info1, arg_info2] }
15
17
  end
16
18
 
17
- describe "for a simple function with several arguments" do
19
+ describe 'for a simple function with several arguments' do
18
20
  before do
19
21
  stub(function_info).method? { false }
20
22
  stub(function_info).throws? { false }
21
23
  end
22
24
 
23
- it "returns the ffi types of the arguments" do
25
+ it 'returns the ffi types of the arguments' do
24
26
  function_info.argument_ffi_types.must_equal [:type1, :type2]
25
27
  end
26
28
  end
27
29
 
28
- describe "for a throwing function with several arguments" do
30
+ describe 'for a throwing function with several arguments' do
29
31
  before do
30
32
  stub(function_info).method? { false }
31
33
  stub(function_info).throws? { true }
32
34
  end
33
35
 
34
- it "appends :pointer to represent the error argument" do
36
+ it 'appends :pointer to represent the error argument' do
35
37
  function_info.argument_ffi_types.must_equal [:type1, :type2, :pointer]
36
38
  end
37
39
  end
38
40
 
39
- describe "for a method with several arguments" do
41
+ describe 'for a method with several arguments' do
40
42
  before do
41
43
  stub(function_info).method? { true }
42
44
  stub(function_info).throws? { false }
43
45
  end
44
46
 
45
- it "prepends :pointer to represent the method reciever" do
47
+ it 'prepends :pointer to represent the method reciever' do
46
48
  function_info.argument_ffi_types.must_equal [:pointer, :type1, :type2]
47
49
  end
48
50
  end
49
51
 
50
- describe "for a throwing method with several arguments" do
52
+ describe 'for a throwing method with several arguments' do
51
53
  before do
52
54
  stub(function_info).method? { true }
53
55
  stub(function_info).throws? { true }
54
56
  end
55
57
 
56
- it "adds :pointer for both the reciever and the error argument" do
58
+ it 'adds :pointer for both the reciever and the error argument' do
57
59
  function_info.argument_ffi_types.must_equal [:pointer, :type1, :type2, :pointer]
58
60
  end
59
61
  end
60
62
  end
61
63
 
62
- describe "#return_ffi_type" do
63
- it "returns the ffi type of the return type" do
64
+ describe '#return_ffi_type' do
65
+ it 'returns the ffi type of the return type' do
64
66
  stub(return_type_info = Object.new).to_ffitype { :some_type }
65
67
  stub(function_info).return_type { return_type_info }
66
68
 
@@ -3,23 +3,25 @@ require 'gir_ffi_test_helper'
3
3
  GirFFI.setup :Regress
4
4
 
5
5
  describe GirFFI::InfoExt::ISignalInfo do
6
- let(:klass) { Class.new do
7
- include GirFFI::InfoExt::ICallableInfo
8
- include GirFFI::InfoExt::ISignalInfo
9
- end }
6
+ let(:klass) {
7
+ Class.new do
8
+ include GirFFI::InfoExt::ICallableInfo
9
+ include GirFFI::InfoExt::ISignalInfo
10
+ end
11
+ }
10
12
  let(:signal_info) { klass.new }
11
13
 
12
- describe "#arguments_to_gvalues" do
14
+ describe '#arguments_to_gvalues' do
13
15
  let(:object) { Regress::TestSubObj.new }
14
16
  let(:boxed) { Regress::TestSimpleBoxedA.const_return }
15
- let(:signal_info) { Regress::TestSubObj.find_signal "test-with-static-scope-arg" }
17
+ let(:signal_info) { Regress::TestSubObj.find_signal 'test-with-static-scope-arg' }
16
18
  let(:result) { signal_info.arguments_to_gvalues(object, [boxed]) }
17
19
 
18
- it "correctly wraps :object" do
20
+ it 'correctly wraps :object' do
19
21
  result[0].get_value.must_equal object
20
22
  end
21
23
 
22
- it "correctly wraps :struct" do
24
+ it 'correctly wraps :struct' do
23
25
  result_boxed = result[1].get_value
24
26
  result_boxed.some_int8.must_equal boxed.some_int8
25
27
  result_boxed.some_int.must_equal boxed.some_int