gir_ffi 0.7.2 → 0.7.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Changelog.md +7 -0
- data/DESIGN.md +25 -0
- data/README.md +10 -2
- data/Rakefile +12 -1
- data/lib/ffi-glib/array.rb +5 -6
- data/lib/ffi-glib/byte_array.rb +4 -5
- data/lib/ffi-glib/hash_table.rb +1 -3
- data/lib/ffi-gobject/value.rb +44 -66
- data/lib/ffi-gobject_introspection/i_constant_info.rb +1 -1
- data/lib/gir_ffi/builder_helper.rb +1 -9
- data/lib/gir_ffi/builders/base_type_builder.rb +1 -1
- data/lib/gir_ffi/builders/callback_builder.rb +5 -5
- data/lib/gir_ffi/builders/mapping_method_builder.rb +2 -2
- data/lib/gir_ffi/builders/vfunc_builder.rb +4 -4
- data/lib/gir_ffi/callback_base.rb +4 -2
- data/lib/gir_ffi/ffi_ext/pointer.rb +2 -8
- data/lib/gir_ffi/info_ext/i_arg_info.rb +5 -0
- data/lib/gir_ffi/info_ext/i_callback_info.rb +11 -1
- data/lib/gir_ffi/info_ext/i_signal_info.rb +2 -1
- data/lib/gir_ffi/version.rb +1 -1
- data/lib/gir_ffi.rb +1 -0
- data/tasks/yard.rake +6 -0
- data/test/base_test_helper.rb +6 -0
- data/test/gir_ffi/builders/signal_builder_test.rb +4 -4
- data/test/gir_ffi/version_test.rb +7 -0
- data/test/integration/generated_gio_test.rb +6 -0
- metadata +7 -5
- data/tasks/setup.rb +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 22d6bb7bfc0aa7590953b8286894e4d0e814d70c
|
4
|
+
data.tar.gz: 76f360c36de64f4ec95614b1d80fce35620841eb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b850a1fbc54e68271fbd7928a42cd657743d6e95c28dfecc85851f4ad26247b80c06aacac8a1339e3b6988d2d3fd8a72f32dc4c660ccf9c1cdcac862034d2f47
|
7
|
+
data.tar.gz: 712bd571f53ccf66ef8f26b85b66ccc979a9f65733c2197f0dd982fe0d2d3509c8f0bef48dd2cf289ca85632537e6ebde25828aafc55571e7d01d5f2ce1c72e6
|
data/Changelog.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 0.7.3 / 2014-03-23
|
4
|
+
|
5
|
+
* Restore proper handling of enums in callback arguments
|
6
|
+
* Simplify Rake configuration
|
7
|
+
* Various small fixes
|
8
|
+
* Remove remaining Ruby 1.8 version checks
|
9
|
+
|
3
10
|
## 0.7.2 / 2014-01-18
|
4
11
|
|
5
12
|
* Officially drop Ruby 1.8 compatibility.
|
data/DESIGN.md
CHANGED
@@ -61,3 +61,28 @@ introspectable. The interface is specified in terms of structs and
|
|
61
61
|
functions rather than objects and methods. For now, the hard-coded Ruby
|
62
62
|
bindings for this don't follow the introspected specification: Gir-FFI
|
63
63
|
cannot bootstrap itself.
|
64
|
+
|
65
|
+
## Object initialization
|
66
|
+
|
67
|
+
An attempt at making Thing.new less hacky.
|
68
|
+
|
69
|
+
Goals:
|
70
|
+
|
71
|
+
* No aliasing of Ruby's new. Overriding is possible with super being called.
|
72
|
+
* #initialize should behave as expected. We may enforce use of super in Ruby
|
73
|
+
subclasses.
|
74
|
+
|
75
|
+
Schematic depiction of what happens (can happen):
|
76
|
+
|
77
|
+
```ruby
|
78
|
+
class GObject::Object
|
79
|
+
def self.new *args
|
80
|
+
# Stage A
|
81
|
+
super(*other_args)
|
82
|
+
# Stage C
|
83
|
+
end
|
84
|
+
|
85
|
+
def initialize *other_args
|
86
|
+
# Stage B
|
87
|
+
end
|
88
|
+
end
|
data/README.md
CHANGED
@@ -6,10 +6,18 @@ by Matijs van Zuijlen
|
|
6
6
|
|
7
7
|
Ruby bindings for GNOME using the GObject Introspection Repository.
|
8
8
|
|
9
|
-
##
|
9
|
+
## Status
|
10
|
+
|
11
|
+
[![Gem Version](https://badge.fury.io/rb/gir_ffi.png)](http://badge.fury.io/rb/gir_ffi)
|
12
|
+
[![Dependency Status](https://gemnasium.com/mvz/ruby-gir-ffi.png)](https://gemnasium.com/mvz/ruby-gir-ffi)
|
13
|
+
[![Build Status](https://travis-ci.org/mvz/ruby-gir-ffi.png?branch=master)](https://travis-ci.org/mvz/ruby-gir-ffi)
|
14
|
+
[![Code Climate](https://codeclimate.com/github/mvz/ruby-gir-ffi.png)](https://codeclimate.com/github/mvz/ruby-gir-ffi)
|
15
|
+
[![Coverage Status](https://coveralls.io/repos/mvz/ruby-gir-ffi/badge.png)](https://coveralls.io/r/mvz/ruby-gir-ffi)
|
16
|
+
|
17
|
+
## Features
|
10
18
|
|
11
19
|
* Create bindings to any GObject-based library.
|
12
|
-
* Bindings generated at runtime.
|
20
|
+
* Bindings are generated at runtime.
|
13
21
|
* Provides overridden bindings for selected methods.
|
14
22
|
* Install `gir_ffi-gtk` and require `gir_ffi-gtk2` or `gir_ffi-gtk3` to
|
15
23
|
load overrides for Gtk2 or Gtk3.
|
data/Rakefile
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
-
|
1
|
+
require 'rake/clean'
|
2
|
+
require 'bundler/gem_tasks'
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'repl_rake'
|
6
|
+
ReplRake.setup
|
7
|
+
rescue LoadError
|
8
|
+
end
|
9
|
+
|
10
|
+
load 'tasks/test.rake'
|
11
|
+
load 'tasks/valgrind.rake'
|
12
|
+
load 'tasks/yard.rake'
|
2
13
|
|
3
14
|
task :default => 'test:all'
|
data/lib/ffi-glib/array.rb
CHANGED
@@ -13,12 +13,11 @@ module GLib
|
|
13
13
|
|
14
14
|
attr_reader :element_type
|
15
15
|
|
16
|
-
class << self
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
end
|
16
|
+
class << self; undef :new; end
|
17
|
+
|
18
|
+
def self.new type
|
19
|
+
ptr = Lib.g_array_new(0, 0, calculated_element_size(type))
|
20
|
+
wrap type, ptr
|
22
21
|
end
|
23
22
|
|
24
23
|
def append_vals ary
|
data/lib/ffi-glib/byte_array.rb
CHANGED
@@ -13,11 +13,10 @@ module GLib
|
|
13
13
|
self.class.wrap(Lib.g_byte_array_append self.to_ptr, bytes, len)
|
14
14
|
end
|
15
15
|
|
16
|
-
class << self
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
end
|
16
|
+
class << self; undef :new; end
|
17
|
+
|
18
|
+
def self.new
|
19
|
+
wrap(Lib.g_byte_array_new)
|
21
20
|
end
|
22
21
|
end
|
23
22
|
end
|
data/lib/ffi-glib/hash_table.rb
CHANGED
@@ -31,9 +31,7 @@ module GLib
|
|
31
31
|
::GLib::Lib.g_hash_table_insert self.to_ptr, keyptr, valptr
|
32
32
|
end
|
33
33
|
|
34
|
-
class << self
|
35
|
-
remove_method :new
|
36
|
-
end
|
34
|
+
class << self; remove_method :new; end
|
37
35
|
|
38
36
|
def self.new keytype, valtype
|
39
37
|
wrap [keytype, valtype], Lib.g_hash_table_new(
|
data/lib/ffi-gobject/value.rb
CHANGED
@@ -12,26 +12,27 @@ module GObject
|
|
12
12
|
set_value val
|
13
13
|
end
|
14
14
|
|
15
|
-
|
16
|
-
TYPE_BOOLEAN => :set_boolean,
|
17
|
-
TYPE_BOXED
|
18
|
-
TYPE_CHAR
|
19
|
-
TYPE_DOUBLE
|
20
|
-
TYPE_ENUM
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
TYPE_INT
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
15
|
+
METHOD_MAP = {
|
16
|
+
TYPE_BOOLEAN => [:get_boolean, :set_boolean],
|
17
|
+
TYPE_BOXED => [:get_boxed, :set_boxed],
|
18
|
+
TYPE_CHAR => [:get_char, :set_char],
|
19
|
+
TYPE_DOUBLE => [:get_double, :set_double],
|
20
|
+
TYPE_ENUM => [:get_enum_enhanced, :set_enum],
|
21
|
+
TYPE_FLAGS => [:get_flags, :set_flags],
|
22
|
+
TYPE_FLOAT => [:get_float, :set_float],
|
23
|
+
TYPE_GTYPE => [:get_gtype, :set_gtype],
|
24
|
+
TYPE_INT => [:get_int, :set_int],
|
25
|
+
TYPE_INT64 => [:get_int64, :set_int64],
|
26
|
+
TYPE_LONG => [:get_long, :set_long],
|
27
|
+
TYPE_OBJECT => [:get_object, :set_instance_enhanced],
|
28
|
+
TYPE_PARAM => [:get_param, :set_param],
|
29
|
+
TYPE_POINTER => [:get_pointer, :set_pointer],
|
30
|
+
TYPE_STRING => [:get_string, :set_string],
|
31
|
+
TYPE_UCHAR => [:get_uchar, :set_uchar],
|
32
|
+
TYPE_UINT => [:get_uint, :set_uint],
|
33
|
+
TYPE_UINT64 => [:get_uint64, :set_uint64],
|
34
|
+
TYPE_ULONG => [:get_ulong, :set_ulong],
|
35
|
+
TYPE_VARIANT => [:get_variant, :set_variant]
|
35
36
|
}
|
36
37
|
|
37
38
|
def value= val
|
@@ -72,28 +73,6 @@ module GObject
|
|
72
73
|
GObject.type_name current_gtype
|
73
74
|
end
|
74
75
|
|
75
|
-
TYPE_TO_GET_METHOD_MAP = {
|
76
|
-
TYPE_BOOLEAN => :get_boolean,
|
77
|
-
TYPE_BOXED => :get_boxed,
|
78
|
-
TYPE_CHAR => :get_char,
|
79
|
-
TYPE_DOUBLE => :get_double,
|
80
|
-
TYPE_ENUM => :get_enum_enhanced,
|
81
|
-
TYPE_FLAGS => :get_flags,
|
82
|
-
TYPE_FLOAT => :get_float,
|
83
|
-
TYPE_GTYPE => :get_gtype,
|
84
|
-
TYPE_INT64 => :get_int64,
|
85
|
-
TYPE_INT => :get_int,
|
86
|
-
TYPE_LONG => :get_long,
|
87
|
-
TYPE_OBJECT => :get_object,
|
88
|
-
TYPE_POINTER => :get_pointer,
|
89
|
-
TYPE_STRING => :get_string,
|
90
|
-
TYPE_UCHAR => :get_uchar,
|
91
|
-
TYPE_UINT => :get_uint,
|
92
|
-
TYPE_UINT64 => :get_uint64,
|
93
|
-
TYPE_ULONG => :get_ulong,
|
94
|
-
TYPE_VARIANT => :get_variant,
|
95
|
-
}
|
96
|
-
|
97
76
|
def get_value
|
98
77
|
value = get_value_plain
|
99
78
|
if current_fundamental_type == TYPE_BOXED
|
@@ -107,27 +86,25 @@ module GObject
|
|
107
86
|
send get_method
|
108
87
|
end
|
109
88
|
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
end
|
89
|
+
# TODO: Give more generic name
|
90
|
+
def self.wrap_ruby_value val
|
91
|
+
self.new.set_ruby_value val
|
92
|
+
end
|
115
93
|
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
end
|
94
|
+
def self.from val
|
95
|
+
case val
|
96
|
+
when self
|
97
|
+
val
|
98
|
+
when nil
|
99
|
+
nil
|
100
|
+
else
|
101
|
+
wrap_ruby_value val
|
125
102
|
end
|
103
|
+
end
|
126
104
|
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
end
|
105
|
+
def self.for_g_type g_type
|
106
|
+
return nil if g_type == TYPE_NONE
|
107
|
+
self.new.tap {|it| it.init g_type }
|
131
108
|
end
|
132
109
|
|
133
110
|
# TODO: Combine with wrap_ruby_value
|
@@ -168,15 +145,16 @@ module GObject
|
|
168
145
|
end
|
169
146
|
|
170
147
|
def get_method
|
171
|
-
|
172
|
-
TYPE_TO_GET_METHOD_MAP[current_fundamental_type] or
|
173
|
-
raise "Can't find method to get #{current_gtype_name}"
|
148
|
+
method_map_entry.first
|
174
149
|
end
|
175
150
|
|
176
151
|
def set_method
|
177
|
-
|
178
|
-
|
179
|
-
|
152
|
+
method_map_entry.last
|
153
|
+
end
|
154
|
+
|
155
|
+
def method_map_entry
|
156
|
+
METHOD_MAP[current_gtype] || METHOD_MAP[current_fundamental_type] ||
|
157
|
+
fail("No method map entry for #{current_gtype_name}")
|
180
158
|
end
|
181
159
|
end
|
182
160
|
end
|
@@ -1,15 +1,7 @@
|
|
1
1
|
module GirFFI
|
2
2
|
module BuilderHelper
|
3
|
-
def const_defined_for parent, name
|
4
|
-
if RUBY_VERSION < "1.9"
|
5
|
-
parent.const_defined? name
|
6
|
-
else
|
7
|
-
parent.const_defined? name, false
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
3
|
def optionally_define_constant parent, name
|
12
|
-
if
|
4
|
+
if parent.const_defined? name, false
|
13
5
|
parent.const_get name
|
14
6
|
else
|
15
7
|
parent.const_set name, yield
|
@@ -20,7 +20,7 @@ module GirFFI
|
|
20
20
|
|
21
21
|
def setup_callback
|
22
22
|
optionally_define_constant klass, :Callback do
|
23
|
-
lib.callback callback_sym,
|
23
|
+
lib.callback callback_sym, argument_ffi_types, return_ffi_type
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
@@ -36,12 +36,12 @@ module GirFFI
|
|
36
36
|
@classname.to_sym
|
37
37
|
end
|
38
38
|
|
39
|
-
def
|
40
|
-
@
|
39
|
+
def argument_ffi_types
|
40
|
+
@argument_ffi_types ||= @info.argument_ffi_types
|
41
41
|
end
|
42
42
|
|
43
|
-
def
|
44
|
-
@
|
43
|
+
def return_ffi_type
|
44
|
+
@return_ffi_type ||= @info.return_ffi_type
|
45
45
|
end
|
46
46
|
end
|
47
47
|
end
|
@@ -100,8 +100,8 @@ module GirFFI
|
|
100
100
|
end
|
101
101
|
|
102
102
|
def parameter_preparation
|
103
|
-
argument_builders.sort_by {|arg|
|
104
|
-
arg.type_info.array_length}.map(&:pre_conversion).flatten
|
103
|
+
argument_builders.sort_by.with_index {|arg, i|
|
104
|
+
[arg.type_info.array_length, i] }.map(&:pre_conversion).flatten
|
105
105
|
end
|
106
106
|
|
107
107
|
def capture
|
@@ -45,12 +45,12 @@ module GirFFI
|
|
45
45
|
@container_info ||= info.container
|
46
46
|
end
|
47
47
|
|
48
|
-
def
|
49
|
-
@
|
48
|
+
def argument_ffi_types
|
49
|
+
@argument_ffi_types ||= info.argument_ffi_types.unshift(receiver_type_info.to_ffitype)
|
50
50
|
end
|
51
51
|
|
52
|
-
def
|
53
|
-
@
|
52
|
+
def return_ffi_type
|
53
|
+
@return_ffi_type ||= info.return_ffi_type
|
54
54
|
end
|
55
55
|
end
|
56
56
|
end
|
@@ -12,7 +12,8 @@ module GirFFI
|
|
12
12
|
|
13
13
|
def self.from_native(value, _context)
|
14
14
|
return nil if !value || value.null?
|
15
|
-
FFI::Function.new
|
15
|
+
FFI::Function.new(gir_ffi_builder.return_ffi_type,
|
16
|
+
gir_ffi_builder.argument_ffi_types, value)
|
16
17
|
end
|
17
18
|
|
18
19
|
def self.to_native(value, _context)
|
@@ -50,7 +51,8 @@ module GirFFI
|
|
50
51
|
def to_native
|
51
52
|
@to_native ||= begin
|
52
53
|
builder = self.class.gir_ffi_builder
|
53
|
-
FFI::Function.new
|
54
|
+
FFI::Function.new(builder.return_ffi_type,
|
55
|
+
builder.argument_ffi_types, self)
|
54
56
|
end
|
55
57
|
end
|
56
58
|
|
@@ -20,14 +20,8 @@ module GirFFI
|
|
20
20
|
klass.direct_wrap self
|
21
21
|
end
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
null? ? nil : read_string
|
26
|
-
end
|
27
|
-
else
|
28
|
-
def to_utf8
|
29
|
-
null? ? nil : read_string.force_encoding("utf-8")
|
30
|
-
end
|
23
|
+
def to_utf8
|
24
|
+
null? ? nil : read_string.force_encoding("utf-8")
|
31
25
|
end
|
32
26
|
end
|
33
27
|
end
|
@@ -6,8 +6,18 @@ module GirFFI
|
|
6
6
|
Builder.build_class(self)
|
7
7
|
end
|
8
8
|
|
9
|
+
def argument_ffi_types
|
10
|
+
args.map { |arg| arg.to_callback_ffitype }
|
11
|
+
end
|
12
|
+
|
9
13
|
def return_ffi_type
|
10
|
-
return_type.to_callback_ffitype
|
14
|
+
result = return_type.to_callback_ffitype
|
15
|
+
# FIXME: Should this be in ITypeInfo#to_callback_ffitype?
|
16
|
+
if result == GLib::Boolean
|
17
|
+
:bool
|
18
|
+
else
|
19
|
+
result
|
20
|
+
end
|
11
21
|
end
|
12
22
|
end
|
13
23
|
end
|
@@ -16,6 +16,7 @@ module GirFFI
|
|
16
16
|
# from that, instead of vice versa.
|
17
17
|
bldr = Builders::SignalBuilder.new(self)
|
18
18
|
wrapped = bldr.build_class.from(block)
|
19
|
+
# FIXME: Logically, this should use CallbackBase#to_native
|
19
20
|
FFI::Function.new return_ffi_type, ffi_callback_argument_types, &wrapped
|
20
21
|
end
|
21
22
|
|
@@ -44,7 +45,7 @@ module GirFFI
|
|
44
45
|
# types as well?
|
45
46
|
def ffi_callback_argument_types
|
46
47
|
types = args.map do |arg|
|
47
|
-
arg.
|
48
|
+
arg.to_callback_ffitype
|
48
49
|
end
|
49
50
|
types.unshift(:pointer).push(:pointer)
|
50
51
|
end
|
data/lib/gir_ffi/version.rb
CHANGED
data/lib/gir_ffi.rb
CHANGED
data/tasks/yard.rake
ADDED
data/test/base_test_helper.rb
CHANGED
@@ -70,10 +70,10 @@ describe GirFFI::Builders::SignalBuilder do
|
|
70
70
|
expected = <<-CODE.reset_indentation
|
71
71
|
def self.call_with_argument_mapping(_proc, _instance, arr, len, _user_data)
|
72
72
|
_v1 = Regress::TestObj.wrap(_instance)
|
73
|
-
_v2 =
|
74
|
-
_v3 =
|
75
|
-
_v4 = GirFFI::SizedArray.wrap(:guint32,
|
76
|
-
_proc.call(_v1, _v4,
|
73
|
+
_v2 = len
|
74
|
+
_v3 = GirFFI::ArgHelper::OBJECT_STORE[_user_data.address]
|
75
|
+
_v4 = GirFFI::SizedArray.wrap(:guint32, _v2, arr)
|
76
|
+
_proc.call(_v1, _v4, _v3)
|
77
77
|
end
|
78
78
|
CODE
|
79
79
|
|
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.7.
|
4
|
+
version: 0.7.3
|
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: 2014-
|
11
|
+
date: 2014-03-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - ~>
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 5.2.3
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 5.2.3
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rr
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -278,6 +278,7 @@ files:
|
|
278
278
|
- test/gir_ffi/builders/user_defined_builder_test.rb
|
279
279
|
- test/gir_ffi/method_stubber_test.rb
|
280
280
|
- test/gir_ffi/variable_name_generator_test.rb
|
281
|
+
- test/gir_ffi/version_test.rb
|
281
282
|
- test/gir_ffi/ffi_ext/pointer_test.rb
|
282
283
|
- test/gir_ffi/class_base_test.rb
|
283
284
|
- test/gir_ffi/type_map_test.rb
|
@@ -319,7 +320,7 @@ files:
|
|
319
320
|
- test/ffi-gobject_introspection/i_enum_info_test.rb
|
320
321
|
- test/gir_ffi_test.rb
|
321
322
|
- test/introspection_test_helper.rb
|
322
|
-
- tasks/
|
323
|
+
- tasks/yard.rake
|
323
324
|
- tasks/valgrind.rake
|
324
325
|
- tasks/test.rake
|
325
326
|
- examples/demo_ffi_nested_struct.rb
|
@@ -430,6 +431,7 @@ test_files:
|
|
430
431
|
- test/gir_ffi/user_defined_property_info_test.rb
|
431
432
|
- test/gir_ffi/user_defined_type_info_test.rb
|
432
433
|
- test/gir_ffi/variable_name_generator_test.rb
|
434
|
+
- test/gir_ffi/version_test.rb
|
433
435
|
- test/gir_ffi/zero_terminated_test.rb
|
434
436
|
- test/gir_ffi_test.rb
|
435
437
|
- test/gir_ffi_test_helper.rb
|