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.
- checksums.yaml +4 -4
- data/Changelog.md +9 -0
- data/lib/ffi-glib/array.rb +1 -1
- data/lib/ffi-glib/error.rb +1 -2
- data/lib/ffi-glib/hash_table.rb +2 -2
- data/lib/ffi-glib/variant.rb +1 -1
- data/lib/ffi-gobject/base.rb +23 -23
- data/lib/ffi-gobject/object.rb +7 -3
- data/lib/ffi-gobject/value.rb +6 -1
- data/lib/ffi-gobject.rb +9 -6
- data/lib/ffi-gobject_introspection/i_base_info.rb +3 -3
- data/lib/ffi-gobject_introspection/i_constant_info.rb +1 -1
- data/lib/ffi-gobject_introspection/i_repository.rb +4 -1
- data/lib/ffi-gobject_introspection/i_type_info.rb +1 -1
- data/lib/ffi-gobject_introspection/i_unresolved_info.rb +7 -0
- data/lib/ffi-gobject_introspection/lib.rb +1 -1
- data/lib/gir_ffi/builders/argument_builder.rb +1 -1
- data/lib/gir_ffi/builders/c_to_ruby_convertor.rb +37 -29
- data/lib/gir_ffi/builders/callback_argument_builder.rb +57 -27
- data/lib/gir_ffi/builders/closure_convertor.rb +12 -8
- data/lib/gir_ffi/builders/closure_to_pointer_convertor.rb +12 -8
- data/lib/gir_ffi/builders/constructor_result_convertor.rb +11 -7
- data/lib/gir_ffi/builders/field_builder.rb +1 -1
- data/lib/gir_ffi/builders/function_builder.rb +1 -1
- data/lib/gir_ffi/builders/mapping_method_builder.rb +1 -1
- data/lib/gir_ffi/builders/marshalling_method_builder.rb +2 -2
- data/lib/gir_ffi/builders/method_template.rb +1 -1
- data/lib/gir_ffi/builders/null_convertor.rb +11 -7
- data/lib/gir_ffi/builders/property_builder.rb +1 -1
- data/lib/gir_ffi/builders/ruby_to_c_convertor.rb +17 -13
- data/lib/gir_ffi/error_argument_info.rb +1 -1
- data/lib/gir_ffi/ffi_ext/pointer.rb +1 -1
- data/lib/gir_ffi/info_ext/i_unresolved_info.rb +12 -0
- data/lib/gir_ffi/info_ext/safe_constant_name.rb +2 -2
- data/lib/gir_ffi/info_ext/safe_function_name.rb +1 -1
- data/lib/gir_ffi/info_ext.rb +1 -0
- data/lib/gir_ffi/module_base.rb +1 -1
- data/lib/gir_ffi/receiver_argument_info.rb +15 -12
- data/lib/gir_ffi/user_data_argument_info.rb +17 -15
- data/lib/gir_ffi/user_data_type_info.rb +14 -12
- data/lib/gir_ffi/version.rb +1 -1
- data/lib/gir_ffi-base/gobject/lib.rb +1 -1
- data/test/base_test_helper.rb +15 -15
- data/test/ffi-glib/array_test.rb +38 -38
- data/test/ffi-glib/byte_array_test.rb +6 -7
- data/test/ffi-glib/bytes_test.rb +9 -9
- data/test/ffi-glib/hash_table_test.rb +26 -23
- data/test/ffi-glib/iconv_test.rb +5 -5
- data/test/ffi-glib/list_test.rb +16 -16
- data/test/ffi-glib/main_loop_test.rb +6 -6
- data/test/ffi-glib/ptr_array_test.rb +45 -45
- data/test/ffi-glib/ruby_closure_test.rb +6 -6
- data/test/ffi-glib/s_list_test.rb +15 -15
- data/test/ffi-glib/strv_test.rb +21 -21
- data/test/ffi-glib/variant_test.rb +4 -4
- data/test/ffi-gobject/gobject_test.rb +35 -35
- data/test/ffi-gobject/object_class_test.rb +1 -1
- data/test/ffi-gobject/object_test.rb +29 -6
- data/test/ffi-gobject/value_test.rb +66 -52
- data/test/ffi-gobject_introspection/i_base_info_test.rb +10 -11
- data/test/ffi-gobject_introspection/i_constant_info_test.rb +6 -6
- data/test/ffi-gobject_introspection/i_enum_info_test.rb +4 -5
- data/test/ffi-gobject_introspection/i_function_info_test.rb +0 -2
- data/test/ffi-gobject_introspection/i_object_info_test.rb +5 -5
- data/test/ffi-gobject_introspection/i_registered_type_info_test.rb +9 -8
- data/test/ffi-gobject_introspection/i_repository_test.rb +16 -16
- data/test/ffi-gobject_introspection/i_type_info_test.rb +16 -2
- data/test/ffi-gobject_introspection/lib_test.rb +2 -2
- data/test/ffi-gobject_test.rb +50 -40
- data/test/gir_ffi/arg_helper_test.rb +5 -5
- data/test/gir_ffi/builder_test.rb +41 -41
- data/test/gir_ffi/builders/argument_builder_test.rb +240 -207
- data/test/gir_ffi/builders/base_argument_builder_test.rb +0 -1
- data/test/gir_ffi/builders/callback_argument_builder_test.rb +81 -15
- data/test/gir_ffi/builders/callback_builder_test.rb +39 -14
- data/test/gir_ffi/builders/callback_return_value_builder_test.rb +41 -33
- data/test/gir_ffi/builders/enum_builder_test.rb +3 -3
- data/test/gir_ffi/builders/field_builder_test.rb +17 -17
- data/test/gir_ffi/builders/function_builder_test.rb +16 -16
- data/test/gir_ffi/builders/interface_builder_test.rb +9 -7
- data/test/gir_ffi/builders/module_builder_test.rb +5 -6
- data/test/gir_ffi/builders/object_builder_test.rb +24 -19
- data/test/gir_ffi/builders/property_builder_test.rb +25 -23
- data/test/gir_ffi/builders/registered_type_builder_test.rb +11 -11
- data/test/gir_ffi/builders/return_value_builder_test.rb +237 -197
- data/test/gir_ffi/builders/signal_closure_builder_test.rb +29 -22
- data/test/gir_ffi/builders/struct_builder_test.rb +10 -10
- data/test/gir_ffi/builders/unintrospectable_builder_test.rb +8 -8
- data/test/gir_ffi/builders/union_builder_test.rb +5 -6
- data/test/gir_ffi/builders/user_defined_builder_test.rb +42 -33
- data/test/gir_ffi/builders/vfunc_builder_test.rb +37 -30
- data/test/gir_ffi/callback_base_test.rb +4 -5
- data/test/gir_ffi/class_base_test.rb +35 -28
- data/test/gir_ffi/error_type_info_test.rb +14 -14
- data/test/gir_ffi/ffi_ext/pointer_test.rb +4 -4
- data/test/gir_ffi/g_type_test.rb +6 -6
- data/test/gir_ffi/in_out_pointer_test.rb +27 -27
- data/test/gir_ffi/in_pointer_test.rb +54 -50
- data/test/gir_ffi/info_ext/i_callable_info_test.rb +8 -7
- data/test/gir_ffi/info_ext/i_callback_info_test.rb +7 -7
- data/test/gir_ffi/info_ext/i_field_info_test.rb +10 -8
- data/test/gir_ffi/info_ext/i_function_info_test.rb +17 -15
- data/test/gir_ffi/info_ext/i_signal_info_test.rb +10 -8
- data/test/gir_ffi/info_ext/i_type_info_test.rb +158 -155
- data/test/gir_ffi/info_ext/i_unresolved_info_test.rb +17 -0
- data/test/gir_ffi/info_ext/safe_constant_name_test.rb +12 -10
- data/test/gir_ffi/info_ext/safe_function_name_test.rb +12 -10
- data/test/gir_ffi/interface_base_test.rb +6 -6
- data/test/gir_ffi/method_stubber_test.rb +16 -13
- data/test/gir_ffi/object_base_test.rb +6 -6
- data/test/gir_ffi/sized_array_test.rb +23 -23
- data/test/gir_ffi/type_map_test.rb +3 -3
- data/test/gir_ffi/unintrospectable_type_info_test.rb +18 -18
- data/test/gir_ffi/user_defined_property_info_test.rb +4 -4
- data/test/gir_ffi/user_defined_type_info_test.rb +16 -16
- data/test/gir_ffi/variable_name_generator_test.rb +6 -6
- data/test/gir_ffi/version_test.rb +1 -1
- data/test/gir_ffi/zero_terminated_test.rb +16 -17
- data/test/gir_ffi-base/glib/boolean_test.rb +13 -13
- data/test/gir_ffi-base/glib/strv_test.rb +11 -11
- data/test/gir_ffi_test.rb +18 -18
- data/test/gir_ffi_test_helper.rb +13 -18
- data/test/integration/derived_classes_test.rb +8 -8
- data/test/integration/generated_gimarshallingtests_test.rb +794 -792
- data/test/integration/generated_gio_test.rb +25 -26
- data/test/integration/generated_glib_test.rb +8 -2
- data/test/integration/generated_gobject_test.rb +16 -9
- data/test/integration/generated_pango_ft2_test.rb +1 -2
- data/test/integration/generated_pango_test.rb +2 -2
- data/test/integration/generated_regress_test.rb +785 -705
- data/test/integration/generated_secret_test.rb +5 -5
- data/test/integration/method_lookup_test.rb +5 -5
- data/test/introspection_test_helper.rb +3 -1
- data/test/minitest/stats_plugin.rb +3 -3
- metadata +6 -3
@@ -1,25 +1,25 @@
|
|
1
1
|
require 'gir_ffi_test_helper'
|
2
2
|
|
3
3
|
# Tests generated methods and functions in the Gio namespace.
|
4
|
-
describe
|
4
|
+
describe 'The generated Gio module' do
|
5
5
|
before do
|
6
6
|
GirFFI.setup :Gio
|
7
7
|
end
|
8
8
|
|
9
|
-
describe
|
10
|
-
it
|
9
|
+
describe '#file_new_for_path, a method returning an interface,' do
|
10
|
+
it 'returns an object of a more specific class' do
|
11
11
|
file = Gio.file_new_for_path('/')
|
12
12
|
refute_instance_of Gio::File, file
|
13
13
|
assert_includes file.class.ancestors, Gio::File
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
|
-
describe
|
17
|
+
describe 'the result of #file_new_from_path' do
|
18
18
|
before do
|
19
19
|
@it = Gio.file_new_for_path('/')
|
20
20
|
end
|
21
21
|
|
22
|
-
it
|
22
|
+
it 'is able to set up a method in a class that is not the first ancestor' do
|
23
23
|
anc = @it.class.ancestors
|
24
24
|
assert_equal [Gio::File, GObject::Object], anc[1, 2]
|
25
25
|
|
@@ -29,74 +29,73 @@ describe "The generated Gio module" do
|
|
29
29
|
@it.setup_and_call :get_qdata, 1
|
30
30
|
end
|
31
31
|
|
32
|
-
it
|
32
|
+
it 'knows its GType' do
|
33
33
|
instance_gtype = GObject.type_from_instance @it
|
34
34
|
@it.class.get_gtype.must_equal instance_gtype
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
38
|
-
describe
|
39
|
-
describe
|
38
|
+
describe 'the FileInfo class' do
|
39
|
+
describe 'an instance' do
|
40
40
|
before do
|
41
41
|
file = Gio.file_new_for_path('/')
|
42
|
-
@fileinfo = file.query_info
|
42
|
+
@fileinfo = file.query_info '*', :none, nil
|
43
43
|
end
|
44
44
|
|
45
|
-
it
|
46
|
-
type = @fileinfo.get_attribute_type
|
45
|
+
it 'has a working #get_attribute_type method' do
|
46
|
+
type = @fileinfo.get_attribute_type 'standard::display-name'
|
47
47
|
assert_equal :string, type
|
48
48
|
end
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
52
|
-
describe
|
52
|
+
describe 'the action-added signal' do
|
53
53
|
before do
|
54
54
|
@grp = Gio::SimpleActionGroup.new
|
55
55
|
end
|
56
56
|
|
57
57
|
it "correctly passes on the string parameter 'action_name'" do
|
58
58
|
a = nil
|
59
|
-
GObject.signal_connect @grp,
|
59
|
+
GObject.signal_connect @grp, 'action-added' do |_grp, action_name, _user_data|
|
60
60
|
a = action_name
|
61
61
|
end
|
62
|
-
GObject.signal_emit @grp,
|
63
|
-
assert_equal
|
62
|
+
GObject.signal_emit @grp, 'action-added', 'foo'
|
63
|
+
assert_equal 'foo', a
|
64
64
|
end
|
65
65
|
end
|
66
66
|
|
67
|
-
describe
|
67
|
+
describe 'the reply signal' do
|
68
68
|
before do
|
69
69
|
@mo = Gio::MountOperation.new
|
70
70
|
end
|
71
71
|
|
72
72
|
it "correctly passes on the enum parameter 'result'" do
|
73
73
|
a = nil
|
74
|
-
GObject.signal_connect @mo,
|
74
|
+
GObject.signal_connect @mo, 'reply' do |_mnt, result, _user_data|
|
75
75
|
a = result
|
76
76
|
end
|
77
|
-
GObject.signal_emit @mo,
|
77
|
+
GObject.signal_emit @mo, 'reply', :unhandled
|
78
78
|
assert_equal :unhandled, a
|
79
79
|
end
|
80
80
|
end
|
81
81
|
|
82
|
-
describe
|
83
|
-
it
|
82
|
+
describe 'the CharsetConverter class' do
|
83
|
+
it 'includes two interfaces' do
|
84
84
|
klass = Gio::CharsetConverter
|
85
85
|
assert_includes klass.ancestors, Gio::Converter
|
86
86
|
assert_includes klass.ancestors, Gio::Initable
|
87
87
|
end
|
88
88
|
|
89
|
-
it
|
90
|
-
cnv = Gio::CharsetConverter.new
|
89
|
+
it 'allows an instance to find the #reset method' do
|
90
|
+
cnv = Gio::CharsetConverter.new 'utf8', 'utf8'
|
91
91
|
cnv.reset
|
92
92
|
pass
|
93
93
|
end
|
94
94
|
end
|
95
95
|
|
96
|
-
describe
|
97
|
-
it
|
98
|
-
Gio::SocketSourceFunc.new {|*args| p args}.to_native
|
96
|
+
describe 'the SocketSourceFunc callback' do
|
97
|
+
it 'can be cast to a native function' do
|
98
|
+
Gio::SocketSourceFunc.new { |*args| p args }.to_native
|
99
99
|
end
|
100
100
|
end
|
101
101
|
end
|
102
|
-
|
@@ -1,10 +1,16 @@
|
|
1
1
|
require 'gir_ffi_test_helper'
|
2
2
|
|
3
3
|
# Tests generated classes, methods and functions in the GLib namespace.
|
4
|
-
describe
|
5
|
-
it
|
4
|
+
describe 'The generated GLib module' do
|
5
|
+
it 'can auto-generate the GLib::IConv class' do
|
6
6
|
klass = GLib::IConv
|
7
7
|
|
8
8
|
klass.must_be_instance_of Class
|
9
9
|
end
|
10
|
+
|
11
|
+
it 'can auto-generate the GLib::SOURCE_REMOVE constant' do
|
12
|
+
skip unless get_introspection_data 'GLib', 'SOURCE_REMOVE'
|
13
|
+
|
14
|
+
GLib::SOURCE_REMOVE.must_equal false
|
15
|
+
end
|
10
16
|
end
|
@@ -1,24 +1,31 @@
|
|
1
1
|
require 'gir_ffi_test_helper'
|
2
2
|
|
3
3
|
describe GObject do
|
4
|
-
describe
|
5
|
-
it
|
4
|
+
describe '.type_interfaces' do
|
5
|
+
it 'works, showing that returning an array of GType works' do
|
6
6
|
klass = GObject::TypeModule
|
7
7
|
ifcs = GObject.type_interfaces klass.get_gtype
|
8
8
|
assert_equal 1, ifcs.size
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
12
|
+
describe '.signal_set_va_marshaller' do
|
13
|
+
it 'can be set up' do
|
14
|
+
result = GObject.setup_method 'signal_set_va_marshaller'
|
15
|
+
result.must_equal true
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
12
19
|
describe GObject::TypeInfo do
|
13
20
|
let(:instance) { GObject::TypeInfo.new }
|
14
|
-
it
|
15
|
-
instance.class_init = proc do |
|
21
|
+
it 'has a working field setter for class_init' do
|
22
|
+
instance.class_init = proc do |_object_class, _data|
|
16
23
|
end
|
17
24
|
end
|
18
25
|
|
19
|
-
it
|
26
|
+
it 'has a working field getter for class_init' do
|
20
27
|
instance.class_init.must_be_nil
|
21
|
-
instance.class_init = proc do |
|
28
|
+
instance.class_init = proc do |_object_class, _data|
|
22
29
|
end
|
23
30
|
result = instance.class_init
|
24
31
|
result.wont_be_nil
|
@@ -27,7 +34,7 @@ describe GObject do
|
|
27
34
|
end
|
28
35
|
|
29
36
|
describe GObject::TypePlugin do
|
30
|
-
it
|
37
|
+
it 'is implemented as a module' do
|
31
38
|
mod = GObject::TypePlugin
|
32
39
|
assert_instance_of Module, mod
|
33
40
|
refute_instance_of Class, mod
|
@@ -35,14 +42,14 @@ describe GObject do
|
|
35
42
|
end
|
36
43
|
|
37
44
|
describe GObject::TypeModule do
|
38
|
-
it
|
45
|
+
it 'has the GObject::TypePlugin module as an ancestor' do
|
39
46
|
klass = GObject::TypeModule
|
40
47
|
assert_includes klass.ancestors, GObject::TypePlugin
|
41
48
|
end
|
42
49
|
end
|
43
50
|
|
44
51
|
describe GObject::ValueArray do
|
45
|
-
it
|
52
|
+
it 'uses the constructor provided by GObject' do
|
46
53
|
instance = GObject::ValueArray.new 16
|
47
54
|
instance.n_prealloced.must_equal 16
|
48
55
|
instance.n_values.must_equal 0
|
@@ -6,7 +6,7 @@ GirFFI.setup :PangoFT2
|
|
6
6
|
# Tests generated methods and functions in the PangoFT2 namespace.
|
7
7
|
describe PangoFT2 do
|
8
8
|
describe PangoFT2::FontMap do
|
9
|
-
it
|
9
|
+
it 'has a working method #load_font' do
|
10
10
|
font_map = PangoFT2::FontMap.new
|
11
11
|
context = font_map.create_context
|
12
12
|
font_description = Pango::FontDescription.new
|
@@ -14,4 +14,3 @@ describe PangoFT2 do
|
|
14
14
|
end
|
15
15
|
end
|
16
16
|
end
|
17
|
-
|
@@ -6,11 +6,11 @@ GirFFI.setup :Pango
|
|
6
6
|
# Tests generated methods and functions in the Pango namespace.
|
7
7
|
describe Pango do
|
8
8
|
describe Pango::Language do
|
9
|
-
it
|
9
|
+
it 'has a working method #get_scripts' do
|
10
10
|
lang = Pango::Language.from_string 'ja'
|
11
11
|
result = lang.get_scripts
|
12
12
|
|
13
|
-
if GirFFI::SizedArray
|
13
|
+
if result.is_a? GirFFI::SizedArray
|
14
14
|
scripts = result
|
15
15
|
else
|
16
16
|
ptr, size = *result
|