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
@@ -31,7 +31,7 @@ module GirFFI
31
31
  end
32
32
 
33
33
  def method_name
34
- "marshaller"
34
+ 'marshaller'
35
35
  end
36
36
 
37
37
  def method_arguments
@@ -42,7 +42,7 @@ module GirFFI
42
42
  if param_names.size == 1
43
43
  ["#{param_names.first} = param_values.first.get_value_plain"]
44
44
  else
45
- ["#{param_names.join(", ")} = param_values.map(&:get_value_plain)"]
45
+ ["#{param_names.join(', ')} = param_values.map(&:get_value_plain)"]
46
46
  end
47
47
  end
48
48
 
@@ -66,7 +66,7 @@ module GirFFI
66
66
 
67
67
  def result_name_list
68
68
  @result_name_list ||=
69
- @argument_builder_collection.capture_variable_names.join(", ")
69
+ @argument_builder_collection.capture_variable_names.join(', ')
70
70
  end
71
71
 
72
72
  def capturing_invocation
@@ -1,10 +1,14 @@
1
- # Argument convertor that does nothing
2
- class GirFFI::Builders::NullConvertor
3
- def initialize argument_name
4
- @argument_name = argument_name
5
- end
1
+ module GirFFI
2
+ module Builders
3
+ # Argument convertor that does nothing
4
+ class NullConvertor
5
+ def initialize argument_name
6
+ @argument_name = argument_name
7
+ end
6
8
 
7
- def conversion
8
- @argument_name
9
+ def conversion
10
+ @argument_name
11
+ end
12
+ end
9
13
  end
10
14
  end
@@ -109,7 +109,7 @@ module GirFFI
109
109
  end
110
110
 
111
111
  def argument_info
112
- @argument_info ||= FieldArgumentInfo.new("value", type_info)
112
+ @argument_info ||= FieldArgumentInfo.new('value', type_info)
113
113
  end
114
114
 
115
115
  def container_class
@@ -1,17 +1,21 @@
1
- # Builder that generates code to convert values from Ruby to C. Used by
2
- # argument builders.
3
- class GirFFI::Builders::RubyToCConvertor
4
- def initialize type_info, argument_name
5
- @type_info = type_info
6
- @argument_name = argument_name
7
- end
1
+ module GirFFI
2
+ module Builders
3
+ # Builder that generates code to convert values from Ruby to C. Used by
4
+ # argument builders.
5
+ class RubyToCConvertor
6
+ def initialize type_info, argument_name
7
+ @type_info = type_info
8
+ @argument_name = argument_name
9
+ end
8
10
 
9
- def conversion
10
- args = conversion_arguments @argument_name
11
- "#{@type_info.argument_class_name}.from(#{args})"
12
- end
11
+ def conversion
12
+ args = conversion_arguments @argument_name
13
+ "#{@type_info.argument_class_name}.from(#{args})"
14
+ end
13
15
 
14
- def conversion_arguments name
15
- @type_info.extra_conversion_arguments.map(&:inspect).push(name).join(", ")
16
+ def conversion_arguments name
17
+ @type_info.extra_conversion_arguments.map(&:inspect).push(name).join(', ')
18
+ end
19
+ end
16
20
  end
17
21
  end
@@ -16,7 +16,7 @@ module GirFFI
16
16
  end
17
17
 
18
18
  def name
19
- "_error"
19
+ '_error'
20
20
  end
21
21
 
22
22
  def closure
@@ -21,7 +21,7 @@ module GirFFI
21
21
  end
22
22
 
23
23
  def to_utf8
24
- null? ? nil : read_string.force_encoding("utf-8")
24
+ null? ? nil : read_string.force_encoding('utf-8')
25
25
  end
26
26
  end
27
27
  end
@@ -0,0 +1,12 @@
1
+ module GirFFI
2
+ module InfoExt
3
+ # Extensions for GObjectIntrospection::IUnresolvedInfo needed by GirFFI
4
+ module IUnresolvedInfo
5
+ def to_ffitype
6
+ :pointer
7
+ end
8
+ end
9
+ end
10
+ end
11
+
12
+ GObjectIntrospection::IUnresolvedInfo.send :include, GirFFI::InfoExt::IUnresolvedInfo
@@ -5,8 +5,8 @@ module GirFFI
5
5
  def safe_name
6
6
  name.tr('-', '_').gsub(/^./) do |char|
7
7
  case char
8
- when "_"
9
- "Private___"
8
+ when '_'
9
+ 'Private___'
10
10
  else
11
11
  char.upcase
12
12
  end
@@ -4,7 +4,7 @@ module GirFFI
4
4
  module SafeFunctionName
5
5
  def safe_name
6
6
  name = self.name
7
- return "_" if name.empty?
7
+ return '_' if name.empty?
8
8
  name
9
9
  end
10
10
  end
@@ -8,6 +8,7 @@ require 'gir_ffi/info_ext/i_property_info'
8
8
  require 'gir_ffi/info_ext/i_registered_type_info'
9
9
  require 'gir_ffi/info_ext/i_signal_info'
10
10
  require 'gir_ffi/info_ext/i_type_info'
11
+ require 'gir_ffi/info_ext/i_unresolved_info'
11
12
  require 'gir_ffi/info_ext/i_vfunc_info'
12
13
  require 'gir_ffi/info_ext/safe_constant_name'
13
14
  require 'gir_ffi/info_ext/safe_function_name'
@@ -8,7 +8,7 @@ module GirFFI
8
8
  end
9
9
 
10
10
  def const_missing classname
11
- load_class(classname) || super
11
+ load_class(classname)
12
12
  end
13
13
 
14
14
  # @deprecated The load_class method should always be used. Remove in 0.8.0
@@ -1,17 +1,20 @@
1
- # Class to represent the info for the receiver argument of a callback or signal
2
- # handler. Implements the necessary parts of IArgumentInfo's interface.
3
- class GirFFI::ReceiverArgumentInfo
4
- attr_reader :argument_type
1
+ module GirFFI
2
+ # Class to represent the info for the receiver argument of a callback or
3
+ # signal handler. Implements the necessary parts of IArgumentInfo's
4
+ # interface.
5
+ class ReceiverArgumentInfo
6
+ attr_reader :argument_type
5
7
 
6
- def initialize type
7
- @argument_type = type
8
- end
8
+ def initialize type
9
+ @argument_type = type
10
+ end
9
11
 
10
- def direction
11
- :in
12
- end
12
+ def direction
13
+ :in
14
+ end
13
15
 
14
- def name
15
- "_instance"
16
+ def name
17
+ '_instance'
18
+ end
16
19
  end
17
20
  end
@@ -1,21 +1,23 @@
1
- # Class to represent the info for the user data argument of a signal handler.
2
- # Implements the necessary parts of IArgumentInfo's interface.
3
- class GirFFI::UserDataArgumentInfo
4
- attr_reader :argument_type
1
+ module GirFFI
2
+ # Class to represent the info for the user data argument of a signal handler.
3
+ # Implements the necessary parts of IArgumentInfo's interface.
4
+ class UserDataArgumentInfo
5
+ attr_reader :argument_type
5
6
 
6
- def initialize type
7
- @argument_type = type
8
- end
7
+ def initialize type
8
+ @argument_type = type
9
+ end
9
10
 
10
- def direction
11
- :in
12
- end
11
+ def direction
12
+ :in
13
+ end
13
14
 
14
- def skip?
15
- false
16
- end
15
+ def skip?
16
+ false
17
+ end
17
18
 
18
- def name
19
- "_user_data"
19
+ def name
20
+ '_user_data'
21
+ end
20
22
  end
21
23
  end
@@ -1,19 +1,21 @@
1
1
  require 'gir_ffi/info_ext/i_type_info'
2
2
 
3
- # Represents the type of the user data (closure argument) of a signal or vfunc,
4
- # conforming, as needed, to the interface of GObjectIntrospection::ITypeInfo.
5
- class GirFFI::UserDataTypeInfo
6
- include GirFFI::InfoExt::ITypeInfo
3
+ module GirFFI
4
+ # Represents the type of the user data (closure argument) of a signal or vfunc,
5
+ # conforming, as needed, to the interface of GObjectIntrospection::ITypeInfo.
6
+ class UserDataTypeInfo
7
+ include InfoExt::ITypeInfo
7
8
 
8
- def tag
9
- :void
10
- end
9
+ def tag
10
+ :void
11
+ end
11
12
 
12
- def pointer?
13
- true
14
- end
13
+ def pointer?
14
+ true
15
+ end
15
16
 
16
- def array_length
17
- -1
17
+ def array_length
18
+ -1
19
+ end
18
20
  end
19
21
  end
@@ -1,4 +1,4 @@
1
1
  # Current GirFFI version
2
2
  module GirFFI
3
- VERSION = "0.7.7"
3
+ VERSION = '0.7.8'
4
4
  end
@@ -2,7 +2,7 @@ module GObject
2
2
  # Module for attaching functions from the gobject library
3
3
  module Lib
4
4
  extend FFI::Library
5
- ffi_lib "gobject-2.0"
5
+ ffi_lib 'gobject-2.0'
6
6
  attach_function :g_type_init, [], :void
7
7
  end
8
8
  end
@@ -1,11 +1,9 @@
1
- if RUBY_PLATFORM == 'java'
2
- require 'rubygems'
3
- end
1
+ require 'rubygems' if RUBY_PLATFORM == 'java'
4
2
 
5
3
  begin
6
4
  require 'simplecov'
7
5
  SimpleCov.start do
8
- add_filter "/test/"
6
+ add_filter '/test/'
9
7
  end
10
8
  rescue LoadError
11
9
  end
@@ -28,28 +26,28 @@ module GObjectIntrospection
28
26
  class IRepository
29
27
  def shared_library_with_regress namespace
30
28
  case namespace
31
- when "Regress"
29
+ when 'Regress'
32
30
  return File.join(File.dirname(__FILE__), 'lib', 'libregress.so')
33
- when "GIMarshallingTests"
31
+ when 'GIMarshallingTests'
34
32
  return File.join(File.dirname(__FILE__), 'lib', 'libgimarshallingtests.so')
35
33
  else
36
34
  return shared_library_without_regress namespace
37
35
  end
38
36
  end
39
37
 
40
- alias shared_library_without_regress shared_library
41
- alias shared_library shared_library_with_regress
38
+ alias_method :shared_library_without_regress, :shared_library
39
+ alias_method :shared_library, :shared_library_with_regress
42
40
  end
43
41
  end
44
42
 
45
43
  Thread.abort_on_exception = true
46
44
 
47
- class Minitest::Test
45
+ module BaseTestExtensions
48
46
  def assert_defines_singleton_method klass, method, msg = nil
49
47
  method = method.to_sym
50
- methods = klass.singleton_methods(false).map { |name| name.to_sym }
48
+ methods = klass.singleton_methods(false).map(&:to_sym)
51
49
  msg = message(msg) {
52
- "Expected #{mu_pp(klass)} to define singleton method #{mu_pp(method)}, " +
50
+ "Expected #{mu_pp(klass)} to define singleton method #{mu_pp(method)}, " \
53
51
  "but only found #{mu_pp(methods)}"
54
52
  }
55
53
  assert_includes methods, method, msg
@@ -57,7 +55,7 @@ class Minitest::Test
57
55
 
58
56
  def refute_defines_singleton_method klass, method, msg = nil
59
57
  method = method.to_sym
60
- methods = klass.singleton_methods(false).map { |name| name.to_sym }
58
+ methods = klass.singleton_methods(false).map(&:to_sym)
61
59
  msg = message(msg) {
62
60
  "Expected #{mu_pp(klass)} not to define singleton method #{mu_pp(method)}"
63
61
  }
@@ -66,9 +64,9 @@ class Minitest::Test
66
64
 
67
65
  def assert_defines_instance_method klass, method, msg = nil
68
66
  method = method.to_sym
69
- methods = klass.instance_methods(false).map { |name| name.to_sym }
67
+ methods = klass.instance_methods(false).map(&:to_sym)
70
68
  msg = message(msg) {
71
- "Expected #{mu_pp(klass)} to define instance method #{mu_pp(method)}, " +
69
+ "Expected #{mu_pp(klass)} to define instance method #{mu_pp(method)}, " \
72
70
  "but only found #{mu_pp(methods)}"
73
71
  }
74
72
  assert_includes methods, method, msg
@@ -76,10 +74,12 @@ class Minitest::Test
76
74
 
77
75
  def refute_defines_instance_method klass, method, msg = nil
78
76
  method = method.to_sym
79
- methods = klass.instance_methods(false).map { |name| name.to_sym }
77
+ methods = klass.instance_methods(false).map(&:to_sym)
80
78
  msg = message(msg) {
81
79
  "Expected #{mu_pp(klass)} not to define instance method #{mu_pp(method)}"
82
80
  }
83
81
  refute_includes methods, method, msg
84
82
  end
85
83
  end
84
+
85
+ Minitest::Test.send :include, BaseTestExtensions
@@ -1,41 +1,41 @@
1
1
  require 'gir_ffi_test_helper'
2
2
 
3
3
  describe GLib::Array do
4
- it "knows its element type" do
4
+ it 'knows its element type' do
5
5
  arr = GLib::Array.new :gint32
6
6
  assert_equal :gint32, arr.element_type
7
7
  end
8
8
 
9
- describe "#append_vals" do
9
+ describe '#append_vals' do
10
10
  before do
11
11
  @arr = GLib::Array.new :gint32
12
12
  @result = @arr.append_vals [1, 2, 3]
13
13
  end
14
14
 
15
- it "appends values" do
15
+ it 'appends values' do
16
16
  assert_equal 3, @arr.len
17
17
  end
18
18
 
19
- it "returns self" do
19
+ it 'returns self' do
20
20
  assert_equal @result, @arr
21
21
  end
22
22
  end
23
23
 
24
- describe "#each" do
24
+ describe '#each' do
25
25
  before do
26
26
  @arr = GLib::Array.new(:gint32).append_vals [1, 2, 3]
27
27
  end
28
28
 
29
- it "iterates over the values" do
29
+ it 'iterates over the values' do
30
30
  a = []
31
- @arr.each {|v| a << v }
31
+ @arr.each { |v| a << v }
32
32
 
33
33
  assert_equal [1, 2, 3], a
34
34
  end
35
35
  end
36
36
 
37
- describe "::wrap" do
38
- it "wraps a pointer, taking the element type as the first argument" do
37
+ describe '::wrap' do
38
+ it 'wraps a pointer, taking the element type as the first argument' do
39
39
  arr = GLib::Array.new :gint32
40
40
  arr.append_vals [1, 2, 3]
41
41
  arr2 = GLib::Array.wrap :gint32, arr.to_ptr
@@ -48,8 +48,8 @@ describe GLib::Array do
48
48
  proc { GLib::Array.wrap :gint8, arr.to_ptr }.must_output nil, /sizes do not match/
49
49
  end
50
50
 
51
- it "handles a struct as the element type" do
52
- vals = [1, 2, 3].map {|i| GObject::EnumValue.new.tap {|ev| ev.value = i} }
51
+ it 'handles a struct as the element type' do
52
+ vals = [1, 2, 3].map { |i| GObject::EnumValue.new.tap { |ev| ev.value = i } }
53
53
  arr = GLib::Array.new GObject::EnumValue
54
54
  arr.append_vals vals
55
55
  arr2 = GLib::Array.wrap GObject::EnumValue, arr.to_ptr
@@ -57,35 +57,35 @@ describe GLib::Array do
57
57
  end
58
58
  end
59
59
 
60
- it "includes Enumerable" do
60
+ it 'includes Enumerable' do
61
61
  GLib::Array.must_include Enumerable
62
62
  end
63
63
 
64
- it "has a working #to_a method" do
64
+ it 'has a working #to_a method' do
65
65
  arr = GLib::Array.new :gint32
66
66
  arr.append_vals [1, 2, 3]
67
67
  assert_equal [1, 2, 3], arr.to_a
68
68
  end
69
69
 
70
- describe ".from" do
71
- it "creates a GArray from an array of :gint32" do
70
+ describe '.from' do
71
+ it 'creates a GArray from an array of :gint32' do
72
72
  arr = GLib::Array.from :gint32, [3, 2, 1]
73
73
  arr.data_ptr.read_array_of_int32(3).must_equal [3, 2, 1]
74
74
  end
75
75
 
76
- it "creates a GArray from an array of :gboolean" do
76
+ it 'creates a GArray from an array of :gboolean' do
77
77
  arr = GLib::Array.from :gboolean, [true, false, true]
78
78
  arr.data_ptr.read_array_of_int(3).must_equal [1, 0, 1]
79
79
  end
80
80
 
81
- it "return its argument if given a GArray" do
81
+ it 'return its argument if given a GArray' do
82
82
  arr = GLib::Array.new :gint32
83
83
  arr.append_vals [3, 2, 1]
84
84
  arr2 = GLib::Array.from :gint32, arr
85
85
  assert arr2.equal? arr
86
86
  end
87
87
 
88
- it "wraps its argument if given a pointer" do
88
+ it 'wraps its argument if given a pointer' do
89
89
  arr = GLib::Array.new :gint32
90
90
  arr.append_vals [3, 2, 1]
91
91
  pointer = arr.to_ptr
@@ -97,27 +97,27 @@ describe GLib::Array do
97
97
  end
98
98
  end
99
99
 
100
- describe "#==" do
101
- it "returns true when comparing to an array with the same elements" do
100
+ describe '#==' do
101
+ it 'returns true when comparing to an array with the same elements' do
102
102
  arr = GLib::Array.from :gint32, [1, 2, 3]
103
103
 
104
104
  arr.must_be :==, [1, 2, 3]
105
105
  end
106
106
 
107
- it "returns false when comparing to an array with different elements" do
107
+ it 'returns false when comparing to an array with different elements' do
108
108
  arr = GLib::Array.from :gint32, [1, 2, 3]
109
109
 
110
110
  arr.wont_be :==, [1, 2]
111
111
  end
112
112
 
113
- it "returns true when comparing to a GArray with the same elements" do
113
+ it 'returns true when comparing to a GArray with the same elements' do
114
114
  arr = GLib::Array.from :gint32, [1, 2, 3]
115
115
  other = GLib::Array.from :gint32, [1, 2, 3]
116
116
 
117
117
  arr.must_be :==, other
118
118
  end
119
119
 
120
- it "returns false when comparing to a GArray with different elements" do
120
+ it 'returns false when comparing to a GArray with different elements' do
121
121
  arr = GLib::Array.from :gint32, [1, 2, 3]
122
122
  other = GLib::Array.from :gint32, [1, 2]
123
123
 
@@ -125,56 +125,56 @@ describe GLib::Array do
125
125
  end
126
126
  end
127
127
 
128
- describe "#index" do
129
- it "returns the proper element for an array of :gint32" do
128
+ describe '#index' do
129
+ it 'returns the proper element for an array of :gint32' do
130
130
  arr = GLib::Array.from :gint32, [1, 2, 3]
131
131
  arr.index(2).must_equal 3
132
132
  end
133
133
 
134
- it "returns the proper element for an array of :utf8" do
135
- arr = GLib::Array.from :utf8, ["a", "b", "c"]
136
- arr.index(1).must_equal "b"
134
+ it 'returns the proper element for an array of :utf8' do
135
+ arr = GLib::Array.from :utf8, %w(a b c)
136
+ arr.index(1).must_equal 'b'
137
137
  end
138
138
 
139
- it "returns the proper element for an array of :gboolean" do
139
+ it 'returns the proper element for an array of :gboolean' do
140
140
  arr = GLib::Array.from :gboolean, [true, false, true]
141
141
  arr.index(1).must_equal false
142
142
  end
143
143
 
144
- it "returns the proper element for an array of struct" do
145
- vals = [1, 2, 3].map {|i| GObject::EnumValue.new.tap {|ev| ev.value = i} }
144
+ it 'returns the proper element for an array of struct' do
145
+ vals = [1, 2, 3].map { |i| GObject::EnumValue.new.tap { |ev| ev.value = i } }
146
146
  arr = GLib::Array.from GObject::EnumValue, vals
147
147
  arr.index(1).value.must_equal 2
148
148
  end
149
149
 
150
- it "raises an error if the index is out of bounds" do
150
+ it 'raises an error if the index is out of bounds' do
151
151
  arr = GLib::Array.from :gint32, [1, 2, 3]
152
152
  proc { arr.index(16) }.must_raise IndexError
153
153
  proc { arr.index(-1) }.must_raise IndexError
154
154
  end
155
155
  end
156
156
 
157
- describe "#reset_typespec" do
158
- describe "when it needs to guess the type" do
159
- it "guesses :uint8 for size 1" do
157
+ describe '#reset_typespec' do
158
+ describe 'when it needs to guess the type' do
159
+ it 'guesses :uint8 for size 1' do
160
160
  arr = GLib::Array.from :int8, [1, 2, 3]
161
161
  arr.reset_typespec
162
162
  arr.element_type.must_equal :uint8
163
163
  end
164
164
 
165
- it "guesses :uint16 for size 2" do
165
+ it 'guesses :uint16 for size 2' do
166
166
  arr = GLib::Array.from :int16, [1, 2, 3]
167
167
  arr.reset_typespec
168
168
  arr.element_type.must_equal :uint16
169
169
  end
170
170
 
171
- it "guesses :uint32 for size 4" do
171
+ it 'guesses :uint32 for size 4' do
172
172
  arr = GLib::Array.from :int32, [1, 2, 3]
173
173
  arr.reset_typespec
174
174
  arr.element_type.must_equal :uint32
175
175
  end
176
176
 
177
- it "guesses :uint64 for size 8" do
177
+ it 'guesses :uint64 for size 8' do
178
178
  arr = GLib::Array.from :int64, [1, 2, 3]
179
179
  arr.reset_typespec
180
180
  arr.element_type.must_equal :uint64
@@ -1,21 +1,20 @@
1
1
  require 'gir_ffi_test_helper'
2
2
 
3
3
  describe GLib::ByteArray do
4
- it "can succesfully be created with GLib::ByteArray.new" do
4
+ it 'can succesfully be created with GLib::ByteArray.new' do
5
5
  ba = GLib::ByteArray.new
6
6
  assert_instance_of GLib::ByteArray, ba
7
7
  end
8
8
 
9
- it "allows strings to be appended to it" do
9
+ it 'allows strings to be appended to it' do
10
10
  ba = GLib::ByteArray.new
11
- ba.append "abdc"
11
+ ba.append 'abdc'
12
12
  pass
13
13
  end
14
14
 
15
- it "has a working #to_string method" do
15
+ it 'has a working #to_string method' do
16
16
  ba = GLib::ByteArray.new
17
- ba = ba.append "abdc"
18
- assert_equal "abdc", ba.to_string
17
+ ba = ba.append 'abdc'
18
+ assert_equal 'abdc', ba.to_string
19
19
  end
20
20
  end
21
-