gir_ffi 0.9.0 → 0.9.1
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 +8 -0
- data/Gemfile +2 -0
- data/README.md +2 -2
- data/Rakefile +3 -1
- data/TODO.md +7 -19
- data/lib/ffi-glib/byte_array.rb +1 -1
- data/lib/ffi-glib/list.rb +1 -1
- data/lib/ffi-glib/main_loop.rb +8 -8
- data/lib/ffi-glib/s_list.rb +1 -1
- data/lib/ffi-gobject/object.rb +8 -6
- data/lib/ffi-gobject/value.rb +2 -2
- data/lib/ffi-gobject.rb +5 -1
- data/lib/ffi-gobject_introspection/i_arg_info.rb +1 -1
- data/lib/ffi-gobject_introspection/i_base_info.rb +1 -1
- data/lib/ffi-gobject_introspection/i_callable_info.rb +2 -2
- data/lib/ffi-gobject_introspection/i_constant_info.rb +2 -2
- data/lib/ffi-gobject_introspection/i_enum_info.rb +2 -2
- data/lib/ffi-gobject_introspection/i_field_info.rb +1 -1
- data/lib/ffi-gobject_introspection/i_interface_info.rb +9 -9
- data/lib/ffi-gobject_introspection/i_object_info.rb +19 -14
- data/lib/ffi-gobject_introspection/i_property_info.rb +1 -1
- data/lib/ffi-gobject_introspection/i_repository.rb +1 -1
- data/lib/ffi-gobject_introspection/i_struct_info.rb +2 -2
- data/lib/ffi-gobject_introspection/i_type_info.rb +1 -1
- data/lib/ffi-gobject_introspection/i_union_info.rb +3 -3
- data/lib/ffi-gobject_introspection/i_vfunc_info.rb +2 -2
- data/lib/gir_ffi/builders/argument_builder.rb +2 -1
- data/lib/gir_ffi/builders/base_argument_builder.rb +1 -1
- data/lib/gir_ffi/builders/boxed_builder.rb +6 -0
- data/lib/gir_ffi/builders/closure_to_pointer_convertor.rb +7 -1
- data/lib/gir_ffi/builders/field_builder.rb +2 -4
- data/lib/gir_ffi/builders/object_builder.rb +20 -9
- data/lib/gir_ffi/builders/type_builder.rb +1 -1
- data/lib/gir_ffi/builders/unintrospectable_builder.rb +8 -0
- data/lib/gir_ffi/builders/with_layout.rb +0 -6
- data/lib/gir_ffi/core.rb +2 -1
- data/lib/gir_ffi/ffi_ext/pointer.rb +1 -1
- data/lib/gir_ffi/info_ext/i_type_info.rb +10 -12
- data/lib/gir_ffi/object_base.rb +4 -2
- data/lib/gir_ffi/property_not_found_error.rb +12 -0
- data/lib/gir_ffi/signal_not_found_error.rb +12 -0
- data/lib/gir_ffi/sized_array.rb +4 -4
- data/lib/gir_ffi/type_map.rb +1 -1
- data/lib/gir_ffi/unintrospectable_boxed_info.rb +2 -1
- data/lib/gir_ffi/unintrospectable_signal_info.rb +39 -0
- data/lib/gir_ffi/version.rb +2 -1
- data/lib/gir_ffi-base/gobject/lib.rb +1 -1
- data/tasks/rubocop.rake +5 -0
- data/tasks/test.rake +7 -0
- data/test/ffi-gobject/object_test.rb +29 -1
- data/test/ffi-gobject_introspection/i_object_info_test.rb +16 -0
- data/test/ffi-gobject_test.rb +3 -6
- data/test/gir_ffi/builders/argument_builder_test.rb +2 -2
- data/test/gir_ffi/builders/object_builder_test.rb +25 -12
- data/test/gir_ffi/builders/unintrospectable_builder_test.rb +21 -15
- data/test/integration/generated_gimarshallingtests_test.rb +16 -13
- data/test/integration/generated_gio_test.rb +2 -1
- data/test/integration/generated_gobject_test.rb +11 -1
- data/test/integration/generated_gst_test.rb +18 -0
- data/test/integration/generated_regress_test.rb +6 -8
- metadata +21 -2
@@ -730,11 +730,14 @@ describe GIMarshallingTests do
|
|
730
730
|
result.must_equal 42
|
731
731
|
end
|
732
732
|
|
733
|
-
it 'does not have
|
734
|
-
|
735
|
-
|
736
|
-
|
737
|
-
|
733
|
+
it 'does not have accessors for its parent instance' do
|
734
|
+
instance.wont_respond_to :parent_instance
|
735
|
+
instance.wont_respond_to :parent_instance=
|
736
|
+
end
|
737
|
+
|
738
|
+
it 'has a readable field long_' do
|
739
|
+
instance.long_.must_equal 0
|
740
|
+
instance.wont_respond_to :long_=
|
738
741
|
end
|
739
742
|
end
|
740
743
|
|
@@ -1208,7 +1211,7 @@ describe GIMarshallingTests do
|
|
1208
1211
|
it 'creates an instance using #new' do
|
1209
1212
|
so = GIMarshallingTests::SubObject.new
|
1210
1213
|
so.must_be_instance_of GIMarshallingTests::SubObject
|
1211
|
-
GObject.
|
1214
|
+
GObject.type_name_from_instance(so).
|
1212
1215
|
must_equal 'GIMarshallingTestsSubObject'
|
1213
1216
|
end
|
1214
1217
|
|
@@ -1224,9 +1227,9 @@ describe GIMarshallingTests do
|
|
1224
1227
|
pass
|
1225
1228
|
end
|
1226
1229
|
|
1227
|
-
it 'does not have
|
1228
|
-
|
1229
|
-
|
1230
|
+
it 'does not have accessors for its parent instance' do
|
1231
|
+
instance.wont_respond_to :parent_instance
|
1232
|
+
instance.wont_respond_to :parent_instance=
|
1230
1233
|
end
|
1231
1234
|
end
|
1232
1235
|
|
@@ -1234,15 +1237,15 @@ describe GIMarshallingTests do
|
|
1234
1237
|
it 'creates an instance using #new' do
|
1235
1238
|
so = GIMarshallingTests::SubSubObject.new
|
1236
1239
|
assert_instance_of GIMarshallingTests::SubSubObject, so
|
1237
|
-
GObject.
|
1240
|
+
GObject.type_name_from_instance(so).
|
1238
1241
|
must_equal 'GIMarshallingTestsSubSubObject'
|
1239
1242
|
end
|
1240
1243
|
|
1241
1244
|
let(:instance) { GIMarshallingTests::SubSubObject.new }
|
1242
1245
|
|
1243
|
-
it 'does not have
|
1244
|
-
|
1245
|
-
|
1246
|
+
it 'does not have accessors for its parent instance' do
|
1247
|
+
instance.wont_respond_to :parent_instance
|
1248
|
+
instance.wont_respond_to :parent_instance=
|
1246
1249
|
end
|
1247
1250
|
end
|
1248
1251
|
|
@@ -4,6 +4,7 @@ GirFFI.setup :Gio
|
|
4
4
|
|
5
5
|
# Tests generated methods and functions in the Gio namespace.
|
6
6
|
describe 'The generated Gio module' do
|
7
|
+
# TODO: Allow Gio::File.new_for_path
|
7
8
|
describe '#file_new_for_path, a method returning an interface,' do
|
8
9
|
it 'returns an object of a more specific class' do
|
9
10
|
file = Gio.file_new_for_path('/')
|
@@ -109,7 +110,7 @@ describe 'The generated Gio module' do
|
|
109
110
|
end
|
110
111
|
|
111
112
|
it 'cannot write the property "state-type" with #state_type=' do
|
112
|
-
|
113
|
+
simple_action.wont_respond_to :state_type=
|
113
114
|
end
|
114
115
|
end
|
115
116
|
end
|
@@ -97,8 +97,18 @@ describe GObject do
|
|
97
97
|
end
|
98
98
|
|
99
99
|
it 'cannot write the property "target-property" with #target_property=' do
|
100
|
-
|
100
|
+
binding.wont_respond_to :target_property=
|
101
101
|
end
|
102
102
|
end
|
103
103
|
end
|
104
|
+
|
105
|
+
describe GObject::ParamSpec do
|
106
|
+
it 'does not have a separate #name field accessor' do
|
107
|
+
pspec = GObject.param_spec_int('foo', 'foo bar',
|
108
|
+
'The Foo Bar Property',
|
109
|
+
10, 20, 15,
|
110
|
+
3)
|
111
|
+
pspec.wont_respond_to :name
|
112
|
+
end
|
113
|
+
end
|
104
114
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'gir_ffi_test_helper'
|
2
|
+
|
3
|
+
GirFFI.setup :Gst
|
4
|
+
Gst.init []
|
5
|
+
|
6
|
+
# Tests behavior of objects in the generated Gio namespace.
|
7
|
+
describe 'the generated Gst module' do
|
8
|
+
describe 'Gst::FakeSink' do
|
9
|
+
let(:instance) { Gst::ElementFactory.make('fakesink', 'sink') }
|
10
|
+
|
11
|
+
it 'allows the handoff signal to be connected and emitted' do
|
12
|
+
a = nil
|
13
|
+
instance.signal_connect('handoff') { a = 10 }
|
14
|
+
GObject.signal_emit(instance, 'handoff')
|
15
|
+
a.must_equal 10
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -1824,8 +1824,8 @@ describe Regress do
|
|
1824
1824
|
|
1825
1825
|
it 'has a private field this_is_private' do
|
1826
1826
|
skip 'This field is identified as readable in the typelib'
|
1827
|
-
|
1828
|
-
|
1827
|
+
instance.wont_respond_to :this_is_private
|
1828
|
+
instance.wont_respond_to :this_is_private=
|
1829
1829
|
end
|
1830
1830
|
|
1831
1831
|
it 'has a writable field this_is_public_after' do
|
@@ -2243,7 +2243,7 @@ describe Regress do
|
|
2243
2243
|
end
|
2244
2244
|
|
2245
2245
|
it 'does not have a field parent_instance' do
|
2246
|
-
|
2246
|
+
instance.wont_respond_to :parent_instance
|
2247
2247
|
end
|
2248
2248
|
end
|
2249
2249
|
|
@@ -3314,10 +3314,8 @@ describe Regress do
|
|
3314
3314
|
end
|
3315
3315
|
|
3316
3316
|
it 'raises an appropriate NoMethodError when a function is not found' do
|
3317
|
-
|
3318
|
-
|
3319
|
-
|
3320
|
-
e.message.must_match(/^undefined method `this_method_does_not_exist' (for Regress:Module|on Regress \(Module\))$/)
|
3321
|
-
end
|
3317
|
+
proc { Regress.this_method_does_not_exist }.
|
3318
|
+
must_raise(NoMethodError).
|
3319
|
+
message.must_match(/^undefined method `this_method_does_not_exist' (for Regress:Module|on Regress \(Module\))$/)
|
3322
3320
|
end
|
3323
3321
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gir_ffi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matijs van Zuijlen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-02-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|
@@ -108,6 +108,20 @@ dependencies:
|
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '10.1'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: aruba
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 0.12.0
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 0.12.0
|
111
125
|
description: |2
|
112
126
|
GirFFI creates bindings for GObject-based libraries at runtime based on introspection
|
113
127
|
data provided by the GObject Introspection Repository (GIR) system. Bindings are created
|
@@ -274,15 +288,18 @@ files:
|
|
274
288
|
- lib/gir_ffi/module_base.rb
|
275
289
|
- lib/gir_ffi/object_base.rb
|
276
290
|
- lib/gir_ffi/object_store.rb
|
291
|
+
- lib/gir_ffi/property_not_found_error.rb
|
277
292
|
- lib/gir_ffi/receiver_argument_info.rb
|
278
293
|
- lib/gir_ffi/receiver_type_info.rb
|
279
294
|
- lib/gir_ffi/registered_type_base.rb
|
280
295
|
- lib/gir_ffi/return_value_info.rb
|
296
|
+
- lib/gir_ffi/signal_not_found_error.rb
|
281
297
|
- lib/gir_ffi/sized_array.rb
|
282
298
|
- lib/gir_ffi/struct_base.rb
|
283
299
|
- lib/gir_ffi/type_base.rb
|
284
300
|
- lib/gir_ffi/type_map.rb
|
285
301
|
- lib/gir_ffi/unintrospectable_boxed_info.rb
|
302
|
+
- lib/gir_ffi/unintrospectable_signal_info.rb
|
286
303
|
- lib/gir_ffi/unintrospectable_type_info.rb
|
287
304
|
- lib/gir_ffi/union_base.rb
|
288
305
|
- lib/gir_ffi/user_data_argument_info.rb
|
@@ -293,6 +310,7 @@ files:
|
|
293
310
|
- lib/gir_ffi/version.rb
|
294
311
|
- lib/gir_ffi/vfunc_implementation.rb
|
295
312
|
- lib/gir_ffi/zero_terminated.rb
|
313
|
+
- tasks/rubocop.rake
|
296
314
|
- tasks/test.rake
|
297
315
|
- test/base_test_helper.rb
|
298
316
|
- test/ffi-glib/array_test.rb
|
@@ -390,6 +408,7 @@ files:
|
|
390
408
|
- test/integration/generated_gio_test.rb
|
391
409
|
- test/integration/generated_glib_test.rb
|
392
410
|
- test/integration/generated_gobject_test.rb
|
411
|
+
- test/integration/generated_gst_test.rb
|
393
412
|
- test/integration/generated_gtop_test.rb
|
394
413
|
- test/integration/generated_pango_ft2_test.rb
|
395
414
|
- test/integration/generated_pango_test.rb
|