gir_ffi 0.8.3 → 0.8.4
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 -1
- data/Gemfile +1 -1
- data/README.md +3 -2
- data/lib/ffi-glib/bytes.rb +0 -14
- data/lib/ffi-glib/hash_table.rb +0 -1
- data/lib/ffi-gobject/object.rb +7 -0
- data/lib/ffi-gobject_introspection/i_base_info.rb +4 -0
- data/lib/ffi-gobject_introspection/lib.rb +1 -0
- data/lib/gir_ffi/boxed_base.rb +2 -2
- data/lib/gir_ffi/builders/callback_argument_builder.rb +3 -1
- data/lib/gir_ffi/builders/closure_return_value_builder.rb +0 -1
- data/lib/gir_ffi/builders/module_builder.rb +9 -2
- data/lib/gir_ffi/builders/null_class_builder.rb +1 -0
- data/lib/gir_ffi/builders/registered_type_builder.rb +5 -1
- data/lib/gir_ffi/callback_base.rb +2 -2
- data/lib/gir_ffi/enum_base.rb +2 -2
- data/lib/gir_ffi/in_out_pointer.rb +1 -1
- data/lib/gir_ffi/info_ext/i_registered_type_info.rb +1 -1
- data/lib/gir_ffi/object_base.rb +24 -8
- data/lib/gir_ffi/sized_array.rb +2 -2
- data/lib/gir_ffi/version.rb +1 -1
- data/lib/gir_ffi/zero_terminated.rb +12 -1
- data/lib/gir_ffi-base/glib/boolean.rb +2 -2
- data/tasks/test.rake +25 -23
- data/test/base_test_helper.rb +3 -4
- data/test/ffi-gobject/object_test.rb +10 -4
- data/test/ffi-gobject_introspection/i_property_info_test.rb +3 -2
- data/test/gir_ffi/builders/module_builder_test.rb +26 -3
- data/test/gir_ffi/object_base_test.rb +2 -2
- data/test/integration/generated_everything_test.rb +428 -0
- data/test/integration/generated_gimarshallingtests_test.rb +17 -0
- data/test/integration/generated_gtop_test.rb +21 -0
- data/test/integration/generated_regress_test.rb +734 -0
- data/test/integration/generated_warnlib_test.rb +47 -0
- data/test/introspection_test_helper.rb +2 -0
- data/test/lib/Makefile.am +82 -16
- data/test/lib/configure.ac +3 -0
- metadata +5 -2
@@ -3,6 +3,16 @@ require 'gir_ffi_test_helper'
|
|
3
3
|
|
4
4
|
GirFFI.setup :Regress
|
5
5
|
|
6
|
+
if IntrospectionTestExtensions.get_introspection_data 'Regress', 'TestInheritDrawable'
|
7
|
+
class ConcreteDrawable < Regress::TestInheritDrawable
|
8
|
+
def initialize
|
9
|
+
super(self.class.gtype, [])
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
GirFFI.define_type ConcreteDrawable
|
14
|
+
end
|
15
|
+
|
6
16
|
# Tests generated methods and functions in the Regress namespace.
|
7
17
|
describe Regress do
|
8
18
|
describe Regress::Lib do
|
@@ -12,6 +22,19 @@ describe Regress do
|
|
12
22
|
end
|
13
23
|
end
|
14
24
|
end
|
25
|
+
it 'has the constant ANNOTATION_CALCULATED_DEFINE' do
|
26
|
+
skip unless get_introspection_data 'Regress', 'ANNOTATION_CALCULATED_DEFINE'
|
27
|
+
Regress::ANNOTATION_CALCULATED_DEFINE.must_equal 100
|
28
|
+
end
|
29
|
+
it 'has the constant ANNOTATION_CALCULATED_LARGE' do
|
30
|
+
skip unless get_introspection_data 'Regress', 'ANNOTATION_CALCULATED_LARGE'
|
31
|
+
skip 'Constant is marked with the wrong type'
|
32
|
+
Regress::ANNOTATION_CALCULATED_LARGE.must_equal 10_000_000_000
|
33
|
+
end
|
34
|
+
it 'has the constant ANNOTATION_CALCULATED_LARGE_DIV' do
|
35
|
+
skip unless get_introspection_data 'Regress', 'ANNOTATION_CALCULATED_LARGE_DIV'
|
36
|
+
Regress::ANNOTATION_CALCULATED_LARGE_DIV.must_equal 1_000_000
|
37
|
+
end
|
15
38
|
describe 'Regress::ATestError' do
|
16
39
|
before do
|
17
40
|
skip unless get_introspection_data 'Regress', 'ATestError'
|
@@ -30,6 +53,215 @@ describe Regress do
|
|
30
53
|
end
|
31
54
|
end
|
32
55
|
|
56
|
+
describe 'Regress::AnAnonymousUnion' do
|
57
|
+
before do
|
58
|
+
skip unless get_introspection_data 'Regress', 'AnAnonymousUnion'
|
59
|
+
end
|
60
|
+
|
61
|
+
let(:instance) { Regress::AnAnonymousUnion.new }
|
62
|
+
|
63
|
+
it 'has a writable field x' do
|
64
|
+
instance.x.must_equal 0
|
65
|
+
instance.x = 42
|
66
|
+
instance.x.must_equal 42
|
67
|
+
end
|
68
|
+
|
69
|
+
it 'has a writable field a' do
|
70
|
+
skip 'Not implemented yet'
|
71
|
+
end
|
72
|
+
|
73
|
+
it 'has a writable field padding' do
|
74
|
+
skip 'Not implemented yet'
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
describe 'Regress::AnnotationBitfield' do
|
79
|
+
before do
|
80
|
+
skip unless get_introspection_data 'Regress', 'AnnotationBitfield'
|
81
|
+
end
|
82
|
+
it 'has the member :foo' do
|
83
|
+
Regress::AnnotationBitfield[:foo].must_equal 1
|
84
|
+
end
|
85
|
+
it 'has the member :bar' do
|
86
|
+
Regress::AnnotationBitfield[:bar].must_equal 2
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
describe 'Regress::AnnotationFields' do
|
91
|
+
before do
|
92
|
+
skip unless get_introspection_data 'Regress', 'AnnotationFields'
|
93
|
+
end
|
94
|
+
|
95
|
+
let(:instance) { Regress::AnnotationFields.new }
|
96
|
+
|
97
|
+
it 'has a writable field field1' do
|
98
|
+
instance.field1.must_equal 0
|
99
|
+
instance.field1 = 42
|
100
|
+
instance.field1.must_equal 42
|
101
|
+
end
|
102
|
+
|
103
|
+
it 'has a writable field arr' do
|
104
|
+
instance.arr.must_equal nil
|
105
|
+
instance.arr = [1, 2, 3]
|
106
|
+
# TODO: len should be set automatically
|
107
|
+
instance.len = 3
|
108
|
+
instance.arr.to_a.must_equal [1, 2, 3]
|
109
|
+
instance.len.must_equal 3
|
110
|
+
end
|
111
|
+
|
112
|
+
it 'has a writable field len' do
|
113
|
+
skip 'len should not be set independently'
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
describe 'Regress::AnnotationObject' do
|
118
|
+
it 'has a working method #allow_none' do
|
119
|
+
skip 'Needs testing'
|
120
|
+
end
|
121
|
+
it 'has a working method #calleeowns' do
|
122
|
+
skip 'Needs testing'
|
123
|
+
end
|
124
|
+
it 'has a working method #calleesowns' do
|
125
|
+
skip 'Needs testing'
|
126
|
+
end
|
127
|
+
it 'has a working method #compute_sum' do
|
128
|
+
skip 'Needs testing'
|
129
|
+
end
|
130
|
+
it 'has a working method #compute_sum_n' do
|
131
|
+
skip 'Needs testing'
|
132
|
+
end
|
133
|
+
it 'has a working method #compute_sum_nz' do
|
134
|
+
skip 'Needs testing'
|
135
|
+
end
|
136
|
+
it 'has a working method #create_object' do
|
137
|
+
skip 'Needs testing'
|
138
|
+
end
|
139
|
+
it 'has a working method #do_not_use' do
|
140
|
+
skip 'Needs testing'
|
141
|
+
end
|
142
|
+
it 'has a working method #extra_annos' do
|
143
|
+
skip 'Needs testing'
|
144
|
+
end
|
145
|
+
it 'has a working method #foreach' do
|
146
|
+
skip 'Needs testing'
|
147
|
+
end
|
148
|
+
it 'has a working method #get_hash' do
|
149
|
+
skip 'Needs testing'
|
150
|
+
end
|
151
|
+
it 'has a working method #get_objects' do
|
152
|
+
skip 'Needs testing'
|
153
|
+
end
|
154
|
+
it 'has a working method #get_strings' do
|
155
|
+
skip 'Needs testing'
|
156
|
+
end
|
157
|
+
it 'has a working method #hidden_self' do
|
158
|
+
skip 'Needs testing'
|
159
|
+
end
|
160
|
+
it 'has a working method #in' do
|
161
|
+
skip 'Needs testing'
|
162
|
+
end
|
163
|
+
it 'has a working method #inout' do
|
164
|
+
skip 'Needs testing'
|
165
|
+
end
|
166
|
+
it 'has a working method #inout2' do
|
167
|
+
skip 'Needs testing'
|
168
|
+
end
|
169
|
+
it 'has a working method #inout3' do
|
170
|
+
skip 'Needs testing'
|
171
|
+
end
|
172
|
+
it 'has a working method #method' do
|
173
|
+
skip 'Needs testing'
|
174
|
+
end
|
175
|
+
it 'has a working method #notrans' do
|
176
|
+
skip 'Needs testing'
|
177
|
+
end
|
178
|
+
it 'has a working method #out' do
|
179
|
+
skip 'Needs testing'
|
180
|
+
end
|
181
|
+
it 'has a working method #parse_args' do
|
182
|
+
skip 'Needs testing'
|
183
|
+
end
|
184
|
+
it 'has a working method #set_data' do
|
185
|
+
skip 'Needs testing'
|
186
|
+
end
|
187
|
+
it 'has a working method #set_data2' do
|
188
|
+
skip 'Needs testing'
|
189
|
+
end
|
190
|
+
it 'has a working method #set_data3' do
|
191
|
+
skip 'Needs testing'
|
192
|
+
end
|
193
|
+
it 'has a working method #string_out' do
|
194
|
+
skip 'Needs testing'
|
195
|
+
end
|
196
|
+
it 'has a working method #use_buffer' do
|
197
|
+
skip 'Needs testing'
|
198
|
+
end
|
199
|
+
it 'has a working method #watch_full' do
|
200
|
+
skip 'Needs testing'
|
201
|
+
end
|
202
|
+
it 'has a working method #with_voidp' do
|
203
|
+
skip 'Needs testing'
|
204
|
+
end
|
205
|
+
describe "its 'function-property' property" do
|
206
|
+
it 'can be retrieved with #get_property' do
|
207
|
+
skip 'Needs testing'
|
208
|
+
end
|
209
|
+
it 'can be retrieved with #function_property' do
|
210
|
+
skip 'Needs testing'
|
211
|
+
end
|
212
|
+
it 'can be set with #set_property' do
|
213
|
+
skip 'Needs testing'
|
214
|
+
end
|
215
|
+
it 'can be set with #function_property=' do
|
216
|
+
skip 'Needs testing'
|
217
|
+
end
|
218
|
+
end
|
219
|
+
describe "its 'string-property' property" do
|
220
|
+
it 'can be retrieved with #get_property' do
|
221
|
+
skip 'Needs testing'
|
222
|
+
end
|
223
|
+
it 'can be retrieved with #string_property' do
|
224
|
+
skip 'Needs testing'
|
225
|
+
end
|
226
|
+
it 'can be set with #set_property' do
|
227
|
+
skip 'Needs testing'
|
228
|
+
end
|
229
|
+
it 'can be set with #string_property=' do
|
230
|
+
skip 'Needs testing'
|
231
|
+
end
|
232
|
+
end
|
233
|
+
describe "its 'tab-property' property" do
|
234
|
+
it 'can be retrieved with #get_property' do
|
235
|
+
skip 'Needs testing'
|
236
|
+
end
|
237
|
+
it 'can be retrieved with #tab_property' do
|
238
|
+
skip 'Needs testing'
|
239
|
+
end
|
240
|
+
it 'can be set with #set_property' do
|
241
|
+
skip 'Needs testing'
|
242
|
+
end
|
243
|
+
it 'can be set with #tab_property=' do
|
244
|
+
skip 'Needs testing'
|
245
|
+
end
|
246
|
+
end
|
247
|
+
it "handles the 'attribute-signal' signal" do
|
248
|
+
skip 'Needs testing'
|
249
|
+
end
|
250
|
+
it "handles the 'doc-empty-arg-parsing' signal" do
|
251
|
+
skip 'Needs testing'
|
252
|
+
end
|
253
|
+
it "handles the 'list-signal' signal" do
|
254
|
+
skip 'Needs testing'
|
255
|
+
end
|
256
|
+
it "handles the 'string-signal' signal" do
|
257
|
+
skip 'Needs testing'
|
258
|
+
end
|
259
|
+
end
|
260
|
+
describe 'Regress::AnnotationStruct' do
|
261
|
+
it 'has a writable field objects' do
|
262
|
+
skip 'Needs testing'
|
263
|
+
end
|
264
|
+
end
|
33
265
|
it 'has the constant BOOL_CONSTANT' do
|
34
266
|
skip unless get_introspection_data 'Regress', 'BOOL_CONSTANT'
|
35
267
|
Regress::BOOL_CONSTANT.must_equal true
|
@@ -39,6 +271,356 @@ describe Regress do
|
|
39
271
|
assert_equal 44.22, Regress::DOUBLE_CONSTANT
|
40
272
|
end
|
41
273
|
|
274
|
+
it 'has the constant FOO_DEFINE_SHOULD_BE_EXPOSED' do
|
275
|
+
skip 'Needs testing'
|
276
|
+
end
|
277
|
+
it 'has the constant FOO_PIE_IS_TASTY' do
|
278
|
+
skip 'Needs testing'
|
279
|
+
end
|
280
|
+
it 'has the constant FOO_SUCCESS_INT' do
|
281
|
+
skip 'Needs testing'
|
282
|
+
end
|
283
|
+
describe 'Regress::FooASingle' do
|
284
|
+
it 'has the member :foo_some_single_enum' do
|
285
|
+
skip 'Needs testing'
|
286
|
+
end
|
287
|
+
end
|
288
|
+
describe 'Regress::FooAddressType' do
|
289
|
+
it 'has the member :invalid' do
|
290
|
+
skip 'Needs testing'
|
291
|
+
end
|
292
|
+
it 'has the member :ipv4' do
|
293
|
+
skip 'Needs testing'
|
294
|
+
end
|
295
|
+
it 'has the member :ipv6' do
|
296
|
+
skip 'Needs testing'
|
297
|
+
end
|
298
|
+
end
|
299
|
+
describe 'Regress::FooBRect' do
|
300
|
+
it 'has a writable field x' do
|
301
|
+
skip 'Needs testing'
|
302
|
+
end
|
303
|
+
it 'has a writable field y' do
|
304
|
+
skip 'Needs testing'
|
305
|
+
end
|
306
|
+
it 'creates an instance using #new' do
|
307
|
+
skip 'Needs testing'
|
308
|
+
end
|
309
|
+
it 'has a working method #add' do
|
310
|
+
skip 'Needs testing'
|
311
|
+
end
|
312
|
+
end
|
313
|
+
describe 'Regress::FooBUnion' do
|
314
|
+
it 'has a writable field type' do
|
315
|
+
skip 'Needs testing'
|
316
|
+
end
|
317
|
+
it 'has a writable field v' do
|
318
|
+
skip 'Needs testing'
|
319
|
+
end
|
320
|
+
it 'has a writable field rect' do
|
321
|
+
skip 'Needs testing'
|
322
|
+
end
|
323
|
+
it 'creates an instance using #new' do
|
324
|
+
skip 'Needs testing'
|
325
|
+
end
|
326
|
+
it 'has a working method #get_contained_type' do
|
327
|
+
skip 'Needs testing'
|
328
|
+
end
|
329
|
+
end
|
330
|
+
describe 'Regress::FooBoxed' do
|
331
|
+
it 'creates an instance using #new' do
|
332
|
+
skip 'Needs testing'
|
333
|
+
end
|
334
|
+
it 'has a working method #method' do
|
335
|
+
skip 'Needs testing'
|
336
|
+
end
|
337
|
+
end
|
338
|
+
describe 'Regress::FooBuffer' do
|
339
|
+
it 'has a working method #some_method' do
|
340
|
+
skip 'Needs testing'
|
341
|
+
end
|
342
|
+
end
|
343
|
+
describe 'Regress::FooDBusData' do
|
344
|
+
it 'has a working method #method' do
|
345
|
+
skip 'Needs testing'
|
346
|
+
end
|
347
|
+
end
|
348
|
+
describe 'Regress::FooEnumFullname' do
|
349
|
+
it 'has the member :one' do
|
350
|
+
skip 'Needs testing'
|
351
|
+
end
|
352
|
+
it 'has the member :two' do
|
353
|
+
skip 'Needs testing'
|
354
|
+
end
|
355
|
+
it 'has the member :three' do
|
356
|
+
skip 'Needs testing'
|
357
|
+
end
|
358
|
+
end
|
359
|
+
describe 'Regress::FooEnumNoType' do
|
360
|
+
it 'has the member :un' do
|
361
|
+
skip 'Needs testing'
|
362
|
+
end
|
363
|
+
it 'has the member :deux' do
|
364
|
+
skip 'Needs testing'
|
365
|
+
end
|
366
|
+
it 'has the member :trois' do
|
367
|
+
skip 'Needs testing'
|
368
|
+
end
|
369
|
+
it 'has the member :neuf' do
|
370
|
+
skip 'Needs testing'
|
371
|
+
end
|
372
|
+
end
|
373
|
+
describe 'Regress::FooEnumType' do
|
374
|
+
it 'has the member :alpha' do
|
375
|
+
skip 'Needs testing'
|
376
|
+
end
|
377
|
+
it 'has the member :beta' do
|
378
|
+
skip 'Needs testing'
|
379
|
+
end
|
380
|
+
it 'has the member :delta' do
|
381
|
+
skip 'Needs testing'
|
382
|
+
end
|
383
|
+
it 'has a working function #method' do
|
384
|
+
skip 'Needs testing'
|
385
|
+
end
|
386
|
+
it 'has a working function #returnv' do
|
387
|
+
skip 'Needs testing'
|
388
|
+
end
|
389
|
+
end
|
390
|
+
describe 'Regress::FooError' do
|
391
|
+
it 'has the member :good' do
|
392
|
+
skip 'Needs testing'
|
393
|
+
end
|
394
|
+
it 'has the member :bad' do
|
395
|
+
skip 'Needs testing'
|
396
|
+
end
|
397
|
+
it 'has the member :ugly' do
|
398
|
+
skip 'Needs testing'
|
399
|
+
end
|
400
|
+
it 'has a working function #quark' do
|
401
|
+
skip 'Needs testing'
|
402
|
+
end
|
403
|
+
end
|
404
|
+
describe 'Regress::FooEvent' do
|
405
|
+
it 'has a writable field type' do
|
406
|
+
skip 'Needs testing'
|
407
|
+
end
|
408
|
+
it 'has a writable field any' do
|
409
|
+
skip 'Needs testing'
|
410
|
+
end
|
411
|
+
it 'has a writable field expose' do
|
412
|
+
skip 'Needs testing'
|
413
|
+
end
|
414
|
+
end
|
415
|
+
describe 'Regress::FooEventAny' do
|
416
|
+
it 'has a writable field send_event' do
|
417
|
+
skip 'Needs testing'
|
418
|
+
end
|
419
|
+
end
|
420
|
+
describe 'Regress::FooEventExpose' do
|
421
|
+
it 'has a writable field send_event' do
|
422
|
+
skip 'Needs testing'
|
423
|
+
end
|
424
|
+
it 'has a writable field count' do
|
425
|
+
skip 'Needs testing'
|
426
|
+
end
|
427
|
+
end
|
428
|
+
describe 'Regress::FooFlagsNoType' do
|
429
|
+
it 'has the member :ett' do
|
430
|
+
skip 'Needs testing'
|
431
|
+
end
|
432
|
+
it 'has the member :tva' do
|
433
|
+
skip 'Needs testing'
|
434
|
+
end
|
435
|
+
it 'has the member :fyra' do
|
436
|
+
skip 'Needs testing'
|
437
|
+
end
|
438
|
+
end
|
439
|
+
describe 'Regress::FooFlagsType' do
|
440
|
+
it 'has the member :first' do
|
441
|
+
skip 'Needs testing'
|
442
|
+
end
|
443
|
+
it 'has the member :second' do
|
444
|
+
skip 'Needs testing'
|
445
|
+
end
|
446
|
+
it 'has the member :third' do
|
447
|
+
skip 'Needs testing'
|
448
|
+
end
|
449
|
+
end
|
450
|
+
describe 'Regress::FooForeignStruct' do
|
451
|
+
it 'has a writable field regress_foo' do
|
452
|
+
skip 'Needs testing'
|
453
|
+
end
|
454
|
+
it 'creates an instance using #new' do
|
455
|
+
skip 'Needs testing'
|
456
|
+
end
|
457
|
+
it 'has a working method #copy' do
|
458
|
+
skip 'Needs testing'
|
459
|
+
end
|
460
|
+
end
|
461
|
+
describe 'Regress::FooInterface' do
|
462
|
+
it 'has a working function #static_method' do
|
463
|
+
skip 'Needs testing'
|
464
|
+
end
|
465
|
+
it 'has a working method #do_regress_foo' do
|
466
|
+
skip 'Needs testing'
|
467
|
+
end
|
468
|
+
end
|
469
|
+
describe 'Regress::FooObject' do
|
470
|
+
it 'creates an instance using #new' do
|
471
|
+
skip 'Needs testing'
|
472
|
+
end
|
473
|
+
it 'creates an instance using #new_as_super' do
|
474
|
+
skip 'Needs testing'
|
475
|
+
end
|
476
|
+
it 'has a working function #a_global_method' do
|
477
|
+
skip 'Needs testing'
|
478
|
+
end
|
479
|
+
it 'has a working function #get_default' do
|
480
|
+
skip 'Needs testing'
|
481
|
+
end
|
482
|
+
it 'has a working function #static_meth' do
|
483
|
+
skip 'Needs testing'
|
484
|
+
end
|
485
|
+
it 'has a working method #append_new_stack_layer' do
|
486
|
+
skip 'Needs testing'
|
487
|
+
end
|
488
|
+
it 'has a working method #dup_name' do
|
489
|
+
skip 'Needs testing'
|
490
|
+
end
|
491
|
+
it 'has a working method #external_type' do
|
492
|
+
skip 'Needs testing'
|
493
|
+
end
|
494
|
+
it 'has a working method #get_name' do
|
495
|
+
skip 'Needs testing'
|
496
|
+
end
|
497
|
+
it 'has a working method #handle_glyph' do
|
498
|
+
skip 'Needs testing'
|
499
|
+
end
|
500
|
+
it 'has a working method #is_it_time_yet' do
|
501
|
+
skip 'Needs testing'
|
502
|
+
end
|
503
|
+
it 'has a working method #read' do
|
504
|
+
skip 'Needs testing'
|
505
|
+
end
|
506
|
+
it 'has a working method #various' do
|
507
|
+
skip 'Needs testing'
|
508
|
+
end
|
509
|
+
it 'has a working method #virtual_method' do
|
510
|
+
skip 'Needs testing'
|
511
|
+
end
|
512
|
+
describe "its 'string' property" do
|
513
|
+
it 'can be retrieved with #get_property' do
|
514
|
+
skip 'Needs testing'
|
515
|
+
end
|
516
|
+
it 'can be retrieved with #string' do
|
517
|
+
skip 'Needs testing'
|
518
|
+
end
|
519
|
+
it 'can be set with #set_property' do
|
520
|
+
skip 'Needs testing'
|
521
|
+
end
|
522
|
+
it 'can be set with #string=' do
|
523
|
+
skip 'Needs testing'
|
524
|
+
end
|
525
|
+
end
|
526
|
+
it "handles the 'signal' signal" do
|
527
|
+
end
|
528
|
+
end
|
529
|
+
describe 'Regress::FooOtherObject' do
|
530
|
+
end
|
531
|
+
describe 'Regress::FooRectangle' do
|
532
|
+
it 'has a writable field x' do
|
533
|
+
skip 'Needs testing'
|
534
|
+
end
|
535
|
+
it 'has a writable field y' do
|
536
|
+
skip 'Needs testing'
|
537
|
+
end
|
538
|
+
it 'has a writable field width' do
|
539
|
+
skip 'Needs testing'
|
540
|
+
end
|
541
|
+
it 'has a writable field height' do
|
542
|
+
skip 'Needs testing'
|
543
|
+
end
|
544
|
+
it 'has a working method #add' do
|
545
|
+
skip 'Needs testing'
|
546
|
+
end
|
547
|
+
end
|
548
|
+
describe 'Regress::FooStackLayer' do
|
549
|
+
it 'has the member :desktop' do
|
550
|
+
skip 'Needs testing'
|
551
|
+
end
|
552
|
+
it 'has the member :bottom' do
|
553
|
+
skip 'Needs testing'
|
554
|
+
end
|
555
|
+
it 'has the member :normal' do
|
556
|
+
skip 'Needs testing'
|
557
|
+
end
|
558
|
+
it 'has the member :top' do
|
559
|
+
skip 'Needs testing'
|
560
|
+
end
|
561
|
+
it 'has the member :dock' do
|
562
|
+
skip 'Needs testing'
|
563
|
+
end
|
564
|
+
it 'has the member :fullscreen' do
|
565
|
+
skip 'Needs testing'
|
566
|
+
end
|
567
|
+
it 'has the member :focused_window' do
|
568
|
+
skip 'Needs testing'
|
569
|
+
end
|
570
|
+
it 'has the member :override_redirect' do
|
571
|
+
skip 'Needs testing'
|
572
|
+
end
|
573
|
+
it 'has the member :last' do
|
574
|
+
skip 'Needs testing'
|
575
|
+
end
|
576
|
+
end
|
577
|
+
describe 'Regress::FooStruct' do
|
578
|
+
it 'has a writable field priv' do
|
579
|
+
skip 'Needs testing'
|
580
|
+
end
|
581
|
+
it 'has a writable field member' do
|
582
|
+
skip 'Needs testing'
|
583
|
+
end
|
584
|
+
end
|
585
|
+
describe 'Regress::FooSubInterface' do
|
586
|
+
it 'has a working method #do_bar' do
|
587
|
+
skip 'Needs testing'
|
588
|
+
end
|
589
|
+
it 'has a working method #do_baz' do
|
590
|
+
skip 'Needs testing'
|
591
|
+
end
|
592
|
+
it "handles the 'destroy-event' signal" do
|
593
|
+
end
|
594
|
+
end
|
595
|
+
describe 'Regress::FooSubobject' do
|
596
|
+
it 'creates an instance using #new' do
|
597
|
+
skip 'Needs testing'
|
598
|
+
end
|
599
|
+
end
|
600
|
+
describe 'Regress::FooThingWithArray' do
|
601
|
+
it 'has a writable field x' do
|
602
|
+
skip 'Needs testing'
|
603
|
+
end
|
604
|
+
it 'has a writable field y' do
|
605
|
+
skip 'Needs testing'
|
606
|
+
end
|
607
|
+
it 'has a writable field lines' do
|
608
|
+
skip 'Needs testing'
|
609
|
+
end
|
610
|
+
it 'has a writable field data' do
|
611
|
+
skip 'Needs testing'
|
612
|
+
end
|
613
|
+
end
|
614
|
+
describe 'Regress::FooUnion' do
|
615
|
+
it 'has a writable field regress_foo' do
|
616
|
+
skip 'Needs testing'
|
617
|
+
end
|
618
|
+
end
|
619
|
+
describe 'Regress::FooUtilityStruct' do
|
620
|
+
it 'has a writable field bar' do
|
621
|
+
skip 'Needs testing'
|
622
|
+
end
|
623
|
+
end
|
42
624
|
it 'has the constant GI_SCANNER_ELSE' do
|
43
625
|
skip unless get_introspection_data 'Regress', 'GI_SCANNER_ELSE'
|
44
626
|
Regress::GI_SCANNER_ELSE.must_equal 3
|
@@ -507,6 +1089,37 @@ describe Regress do
|
|
507
1089
|
end
|
508
1090
|
end
|
509
1091
|
|
1092
|
+
describe 'Regress::TestInheritDrawable' do
|
1093
|
+
before do
|
1094
|
+
skip unless get_introspection_data 'Regress', 'TestInheritDrawable'
|
1095
|
+
end
|
1096
|
+
|
1097
|
+
let(:instance) { ConcreteDrawable.new }
|
1098
|
+
it 'has a working method #do_foo' do
|
1099
|
+
instance.do_foo 42
|
1100
|
+
pass
|
1101
|
+
end
|
1102
|
+
|
1103
|
+
it 'has a working method #do_foo_maybe_throw' do
|
1104
|
+
instance.do_foo_maybe_throw 42
|
1105
|
+
proc { instance.do_foo_maybe_throw 41 }.must_raise GirFFI::GLibError
|
1106
|
+
end
|
1107
|
+
|
1108
|
+
it 'has a working method #get_origin' do
|
1109
|
+
instance.get_origin.must_equal [0, 0]
|
1110
|
+
end
|
1111
|
+
|
1112
|
+
it 'has a working method #get_size' do
|
1113
|
+
instance.get_size.must_equal [42, 42]
|
1114
|
+
end
|
1115
|
+
end
|
1116
|
+
|
1117
|
+
describe 'Regress::TestInheritPixmapObjectClass' do
|
1118
|
+
it 'has a writable field parent_class' do
|
1119
|
+
skip 'This is a class struct without defined class'
|
1120
|
+
end
|
1121
|
+
end
|
1122
|
+
|
510
1123
|
describe 'Regress::TestInterface' do
|
511
1124
|
it 'is a module' do
|
512
1125
|
assert_instance_of Module, Regress::TestInterface
|
@@ -1699,18 +2312,126 @@ describe Regress do
|
|
1699
2312
|
result.must_be_instance_of Regress::TestBoxed
|
1700
2313
|
end
|
1701
2314
|
|
2315
|
+
it 'has a working function #annotation_attribute_func' do
|
2316
|
+
skip 'Needs testing'
|
2317
|
+
end
|
2318
|
+
it 'has a working function #annotation_custom_destroy' do
|
2319
|
+
skip 'Needs testing'
|
2320
|
+
end
|
2321
|
+
it 'has a working function #annotation_get_source_file' do
|
2322
|
+
skip 'Needs testing'
|
2323
|
+
end
|
2324
|
+
it 'has a working function #annotation_init' do
|
2325
|
+
skip 'Needs testing'
|
2326
|
+
end
|
2327
|
+
it 'has a working function #annotation_invalid_regress_annotation' do
|
2328
|
+
skip 'Needs testing'
|
2329
|
+
end
|
2330
|
+
it 'has a working function #annotation_ptr_array' do
|
2331
|
+
skip 'Needs testing'
|
2332
|
+
end
|
2333
|
+
it 'has a working function #annotation_return_array' do
|
2334
|
+
skip 'Needs testing'
|
2335
|
+
end
|
2336
|
+
it 'has a working function #annotation_return_filename' do
|
2337
|
+
skip 'Needs testing'
|
2338
|
+
end
|
2339
|
+
it 'has a working function #annotation_set_source_file' do
|
2340
|
+
skip 'Needs testing'
|
2341
|
+
end
|
2342
|
+
it 'has a working function #annotation_space_after_comment_bug631690' do
|
2343
|
+
skip 'Needs testing'
|
2344
|
+
end
|
2345
|
+
it 'has a working function #annotation_string_array_length' do
|
2346
|
+
skip 'Needs testing'
|
2347
|
+
end
|
2348
|
+
it 'has a working function #annotation_string_zero_terminated' do
|
2349
|
+
skip 'Needs testing'
|
2350
|
+
end
|
2351
|
+
it 'has a working function #annotation_string_zero_terminated_out' do
|
2352
|
+
skip 'Needs testing'
|
2353
|
+
end
|
2354
|
+
it 'has a working function #annotation_test_parsing_bug630862' do
|
2355
|
+
skip 'Needs testing'
|
2356
|
+
end
|
2357
|
+
it 'has a working function #annotation_transfer_floating' do
|
2358
|
+
skip 'Needs testing'
|
2359
|
+
end
|
2360
|
+
it 'has a working function #annotation_versioned' do
|
2361
|
+
skip 'Needs testing'
|
2362
|
+
end
|
1702
2363
|
it 'has a working function #atest_error_quark' do
|
1703
2364
|
skip unless get_introspection_data 'Regress', 'atest_error_quark'
|
1704
2365
|
result = Regress.atest_error_quark
|
1705
2366
|
GLib.quark_to_string(result).must_equal 'regress-atest-error'
|
1706
2367
|
end
|
1707
2368
|
|
2369
|
+
it 'has a working function #foo_async_ready_callback' do
|
2370
|
+
skip 'Needs testing'
|
2371
|
+
end
|
2372
|
+
it 'has a working function #foo_destroy_notify_callback' do
|
2373
|
+
skip 'Needs testing'
|
2374
|
+
end
|
2375
|
+
it 'has a working function #foo_enum_type_method' do
|
2376
|
+
skip 'Needs testing'
|
2377
|
+
end
|
2378
|
+
it 'has a working function #foo_enum_type_returnv' do
|
2379
|
+
skip 'Needs testing'
|
2380
|
+
end
|
2381
|
+
it 'has a working function #foo_error_quark' do
|
2382
|
+
skip 'Needs testing'
|
2383
|
+
end
|
2384
|
+
it 'has a working function #foo_init' do
|
2385
|
+
skip 'Needs testing'
|
2386
|
+
end
|
2387
|
+
it 'has a working function #foo_interface_static_method' do
|
2388
|
+
skip 'Needs testing'
|
2389
|
+
end
|
2390
|
+
it 'has a working function #foo_method_external_references' do
|
2391
|
+
skip 'Needs testing'
|
2392
|
+
end
|
2393
|
+
it 'has a working function #foo_not_a_constructor_new' do
|
2394
|
+
skip 'Needs testing'
|
2395
|
+
end
|
2396
|
+
it 'has a working function #foo_test_array' do
|
2397
|
+
skip 'Needs testing'
|
2398
|
+
end
|
2399
|
+
it 'has a working function #foo_test_const_char_param' do
|
2400
|
+
skip 'Needs testing'
|
2401
|
+
end
|
2402
|
+
it 'has a working function #foo_test_const_char_retval' do
|
2403
|
+
skip 'Needs testing'
|
2404
|
+
end
|
2405
|
+
it 'has a working function #foo_test_const_struct_param' do
|
2406
|
+
skip 'Needs testing'
|
2407
|
+
end
|
2408
|
+
it 'has a working function #foo_test_const_struct_retval' do
|
2409
|
+
skip 'Needs testing'
|
2410
|
+
end
|
2411
|
+
it 'has a working function #foo_test_string_array' do
|
2412
|
+
skip 'Needs testing'
|
2413
|
+
end
|
2414
|
+
it 'has a working function #foo_test_string_array_with_g' do
|
2415
|
+
skip 'Needs testing'
|
2416
|
+
end
|
2417
|
+
it 'has a working function #foo_test_unsigned_qualifier' do
|
2418
|
+
skip 'Needs testing'
|
2419
|
+
end
|
2420
|
+
it 'has a working function #foo_test_unsigned_type' do
|
2421
|
+
skip 'Needs testing'
|
2422
|
+
end
|
1708
2423
|
it 'has a working function #func_obj_null_in' do
|
1709
2424
|
Regress.func_obj_null_in nil
|
1710
2425
|
Regress.func_obj_null_in Regress::TestObj.constructor
|
1711
2426
|
pass
|
1712
2427
|
end
|
1713
2428
|
|
2429
|
+
it 'has a working function #func_obj_nullable_in' do
|
2430
|
+
Regress.func_obj_null_in nil
|
2431
|
+
Regress.func_obj_null_in Regress::TestObj.constructor
|
2432
|
+
pass
|
2433
|
+
end
|
2434
|
+
|
1714
2435
|
it 'has a working function #global_get_flags_out' do
|
1715
2436
|
result = Regress.global_get_flags_out
|
1716
2437
|
result.must_equal Regress::TestFlags[:flag1] | Regress::TestFlags[:flag3]
|
@@ -1977,6 +2698,13 @@ describe Regress do
|
|
1977
2698
|
b.must_be_nil
|
1978
2699
|
end
|
1979
2700
|
|
2701
|
+
it 'has a working function #test_callback_return_full' do
|
2702
|
+
skip unless get_introspection_data 'Regress', 'test_callback_return_full'
|
2703
|
+
obj = Regress::TestObj.constructor
|
2704
|
+
Regress.test_callback_return_full proc { obj }
|
2705
|
+
ref_count(obj).must_equal 1
|
2706
|
+
end
|
2707
|
+
|
1980
2708
|
it 'has a working function #test_callback_thaw_async' do
|
1981
2709
|
invoked = []
|
1982
2710
|
Regress.test_callback_async proc { invoked << 1; 1 }, nil
|
@@ -2220,6 +2948,12 @@ describe Regress do
|
|
2220
2948
|
list.must_be :==, %w(1 2 3)
|
2221
2949
|
end
|
2222
2950
|
|
2951
|
+
it 'has a working function #test_glist_gtype_container_in' do
|
2952
|
+
skip 'Not implemented yet'
|
2953
|
+
Regress.test_glist_gtype_container_in %w(1 2 3)
|
2954
|
+
pass
|
2955
|
+
end
|
2956
|
+
|
2223
2957
|
it 'has a working function #test_glist_nothing_in' do
|
2224
2958
|
Regress.test_glist_nothing_in %w(1 2 3)
|
2225
2959
|
pass
|