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
| @@ -4,41 +4,107 @@ describe GirFFI::Builders::CallbackArgumentBuilder do | |
| 4 4 | 
             
              let(:var_gen) { GirFFI::VariableNameGenerator.new }
         | 
| 5 5 | 
             
              let(:builder) { GirFFI::Builders::CallbackArgumentBuilder.new(var_gen, arg_info) }
         | 
| 6 6 |  | 
| 7 | 
            -
              describe  | 
| 8 | 
            -
                describe  | 
| 7 | 
            +
              describe 'for an argument with direction :out' do
         | 
| 8 | 
            +
                describe 'for :zero_terminated' do
         | 
| 9 9 | 
             
                  let(:vfunc_info) {
         | 
| 10 10 | 
             
                    get_vfunc_introspection_data('GIMarshallingTests', 'Object',
         | 
| 11 | 
            -
                                                 'vfunc_array_out_parameter') | 
| 11 | 
            +
                                                 'vfunc_array_out_parameter')
         | 
| 12 | 
            +
                  }
         | 
| 12 13 | 
             
                  let(:arg_info) { vfunc_info.args[0] }
         | 
| 13 14 |  | 
| 14 15 | 
             
                  before { skip unless vfunc_info }
         | 
| 15 16 |  | 
| 16 | 
            -
                  it  | 
| 17 | 
            -
                    builder.pre_conversion.must_equal [ | 
| 17 | 
            +
                  it 'has the correct value for #pre_conversion' do
         | 
| 18 | 
            +
                    builder.pre_conversion.must_equal ['_v1 = GirFFI::InOutPointer.new([:pointer, :zero_terminated], a)']
         | 
| 18 19 | 
             
                  end
         | 
| 19 20 |  | 
| 20 | 
            -
                  it  | 
| 21 | 
            -
                    builder.post_conversion.must_equal [ | 
| 21 | 
            +
                  it 'has the correct value for #post_conversion' do
         | 
| 22 | 
            +
                    builder.post_conversion.must_equal ['_v1.set_value GirFFI::ZeroTerminated.from(:gfloat, _v2)']
         | 
| 22 23 | 
             
                  end
         | 
| 23 24 | 
             
                end
         | 
| 24 25 | 
             
              end
         | 
| 25 26 |  | 
| 26 | 
            -
              describe  | 
| 27 | 
            +
              describe 'for an argument with direction :error' do
         | 
| 27 28 | 
             
                let(:arg_info) { GirFFI::ErrorArgumentInfo.new }
         | 
| 28 29 |  | 
| 29 | 
            -
                it  | 
| 30 | 
            +
                it 'sets up a rescueing block in #pre_conversion' do
         | 
| 30 31 | 
             
                  builder.pre_conversion.must_equal [
         | 
| 31 | 
            -
                     | 
| 32 | 
            -
                     | 
| 32 | 
            +
                    '_v1 = GirFFI::InOutPointer.new([:pointer, :error], _error)',
         | 
| 33 | 
            +
                    'begin'
         | 
| 33 34 | 
             
                  ]
         | 
| 34 35 | 
             
                end
         | 
| 35 36 |  | 
| 36 | 
            -
                it  | 
| 37 | 
            +
                it 'converts any exceptions to GLib::Error in #post_conversion' do
         | 
| 37 38 | 
             
                  builder.post_conversion.must_equal [
         | 
| 38 | 
            -
                     | 
| 39 | 
            -
                     | 
| 40 | 
            -
                     | 
| 39 | 
            +
                    'rescue => _v1',
         | 
| 40 | 
            +
                    '_v2.set_value GLib::Error.from(_v1)',
         | 
| 41 | 
            +
                    'end'
         | 
| 41 42 | 
             
                  ]
         | 
| 42 43 | 
             
                end
         | 
| 43 44 | 
             
              end
         | 
| 45 | 
            +
             | 
| 46 | 
            +
              describe 'for an argument with direction :inout' do
         | 
| 47 | 
            +
                let(:callback_info) {
         | 
| 48 | 
            +
                  get_introspection_data('Regress',
         | 
| 49 | 
            +
                                         'TestCallbackArrayInOut')
         | 
| 50 | 
            +
                }
         | 
| 51 | 
            +
                let(:array_arg_info) { callback_info.args[0] }
         | 
| 52 | 
            +
                let(:array_arg_builder) {
         | 
| 53 | 
            +
                  GirFFI::Builders::CallbackArgumentBuilder.new(var_gen, array_arg_info)
         | 
| 54 | 
            +
                }
         | 
| 55 | 
            +
                let(:length_arg_info) { callback_info.args[1] }
         | 
| 56 | 
            +
                let(:length_arg_builder) {
         | 
| 57 | 
            +
                  GirFFI::Builders::CallbackArgumentBuilder.new(var_gen, length_arg_info)
         | 
| 58 | 
            +
                }
         | 
| 59 | 
            +
             | 
| 60 | 
            +
                before do
         | 
| 61 | 
            +
                  skip unless callback_info
         | 
| 62 | 
            +
                  length_arg_builder.array_arg = array_arg_builder
         | 
| 63 | 
            +
                  array_arg_builder.length_arg = length_arg_builder
         | 
| 64 | 
            +
                end
         | 
| 65 | 
            +
             | 
| 66 | 
            +
                describe 'for arrays with a length argument' do
         | 
| 67 | 
            +
                  it 'provides a call argument name' do
         | 
| 68 | 
            +
                    array_arg_builder.call_argument_name.must_equal '_v1'
         | 
| 69 | 
            +
                  end
         | 
| 70 | 
            +
             | 
| 71 | 
            +
                  it 'provides a capture variable name' do
         | 
| 72 | 
            +
                    array_arg_builder.capture_variable_name.must_equal '_v1'
         | 
| 73 | 
            +
                  end
         | 
| 74 | 
            +
             | 
| 75 | 
            +
                  it 'has the correct value for #pre_conversion' do
         | 
| 76 | 
            +
                    array_arg_builder.pre_conversion.
         | 
| 77 | 
            +
                      must_equal ['_v1 = GirFFI::InOutPointer.new([:pointer, :c], ints)',
         | 
| 78 | 
            +
                                  '_v2 = GirFFI::SizedArray.wrap(:gint32, _v3, _v1.to_value)']
         | 
| 79 | 
            +
                  end
         | 
| 80 | 
            +
             | 
| 81 | 
            +
                  it 'has the correct value for #post_conversion' do
         | 
| 82 | 
            +
                    array_arg_builder.pre_conversion
         | 
| 83 | 
            +
                    array_arg_builder.post_conversion.
         | 
| 84 | 
            +
                      must_equal ['_v1.set_value GirFFI::SizedArray.from(:gint32, -1, _v4)']
         | 
| 85 | 
            +
                  end
         | 
| 86 | 
            +
                end
         | 
| 87 | 
            +
             | 
| 88 | 
            +
                describe 'for an array length argument' do
         | 
| 89 | 
            +
                  it 'does not provide a call argument name' do
         | 
| 90 | 
            +
                    length_arg_builder.call_argument_name.must_be_nil
         | 
| 91 | 
            +
                  end
         | 
| 92 | 
            +
             | 
| 93 | 
            +
                  it 'does not provide a capture variable name' do
         | 
| 94 | 
            +
                    length_arg_builder.capture_variable_name.must_be_nil
         | 
| 95 | 
            +
                  end
         | 
| 96 | 
            +
             | 
| 97 | 
            +
                  it 'has the correct value for #pre_conversion' do
         | 
| 98 | 
            +
                    length_arg_builder.pre_conversion.
         | 
| 99 | 
            +
                      must_equal ['_v1 = GirFFI::InOutPointer.new(:gint32, length)',
         | 
| 100 | 
            +
                                  '_v2 = _v1.to_value']
         | 
| 101 | 
            +
                  end
         | 
| 102 | 
            +
             | 
| 103 | 
            +
                  it 'has the correct value for #post_conversion' do
         | 
| 104 | 
            +
                    length_arg_builder.pre_conversion
         | 
| 105 | 
            +
                    length_arg_builder.post_conversion.
         | 
| 106 | 
            +
                      must_equal ['_v1.set_value _v3.length']
         | 
| 107 | 
            +
                  end
         | 
| 108 | 
            +
                end
         | 
| 109 | 
            +
              end
         | 
| 44 110 | 
             
            end
         | 
| @@ -3,10 +3,10 @@ require 'gir_ffi_test_helper' | |
| 3 3 | 
             
            describe GirFFI::Builders::CallbackBuilder do
         | 
| 4 4 | 
             
              let(:builder) { GirFFI::Builders::CallbackBuilder.new callback_info }
         | 
| 5 5 |  | 
| 6 | 
            -
              describe  | 
| 7 | 
            -
                describe  | 
| 8 | 
            -
                  let(:callback_info) { get_introspection_data  | 
| 9 | 
            -
                  it  | 
| 6 | 
            +
              describe '#mapping_method_definition' do
         | 
| 7 | 
            +
                describe 'for a callback with arguments and return value' do
         | 
| 8 | 
            +
                  let(:callback_info) { get_introspection_data 'Regress', 'TestCallbackFull' }
         | 
| 9 | 
            +
                  it 'returns a valid mapping method' do
         | 
| 10 10 | 
             
                    expected = <<-CODE.reset_indentation
         | 
| 11 11 | 
             
                    def self.call_with_argument_mapping(_proc, foo, bar, path)
         | 
| 12 12 | 
             
                      _v1 = foo
         | 
| @@ -21,9 +21,9 @@ describe GirFFI::Builders::CallbackBuilder do | |
| 21 21 | 
             
                  end
         | 
| 22 22 | 
             
                end
         | 
| 23 23 |  | 
| 24 | 
            -
                describe  | 
| 25 | 
            -
                  let(:callback_info) { get_introspection_data  | 
| 26 | 
            -
                  it  | 
| 24 | 
            +
                describe 'for a callback with no arguments or return value' do
         | 
| 25 | 
            +
                  let(:callback_info) { get_introspection_data 'Regress', 'TestSimpleCallback' }
         | 
| 26 | 
            +
                  it 'returns a valid mapping method' do
         | 
| 27 27 | 
             
                    expected = <<-CODE.reset_indentation
         | 
| 28 28 | 
             
                    def self.call_with_argument_mapping(_proc)
         | 
| 29 29 | 
             
                      _proc.call()
         | 
| @@ -34,9 +34,9 @@ describe GirFFI::Builders::CallbackBuilder do | |
| 34 34 | 
             
                  end
         | 
| 35 35 | 
             
                end
         | 
| 36 36 |  | 
| 37 | 
            -
                describe  | 
| 38 | 
            -
                  let(:callback_info) { get_introspection_data  | 
| 39 | 
            -
                  it  | 
| 37 | 
            +
                describe 'for a callback with a closure argument' do
         | 
| 38 | 
            +
                  let(:callback_info) { get_introspection_data 'Regress', 'TestCallbackUserData' }
         | 
| 39 | 
            +
                  it 'returns a valid mapping method' do
         | 
| 40 40 | 
             
                    expected = <<-CODE.reset_indentation
         | 
| 41 41 | 
             
                    def self.call_with_argument_mapping(_proc, user_data)
         | 
| 42 42 | 
             
                      _v1 = GirFFI::ArgHelper::OBJECT_STORE.fetch(user_data)
         | 
| @@ -49,10 +49,12 @@ describe GirFFI::Builders::CallbackBuilder do | |
| 49 49 | 
             
                  end
         | 
| 50 50 | 
             
                end
         | 
| 51 51 |  | 
| 52 | 
            -
                describe  | 
| 53 | 
            -
                  let(:callback_info) { | 
| 54 | 
            -
             | 
| 55 | 
            -
             | 
| 52 | 
            +
                describe 'for a callback with one out argument' do
         | 
| 53 | 
            +
                  let(:callback_info) {
         | 
| 54 | 
            +
                    get_introspection_data('GIMarshallingTests',
         | 
| 55 | 
            +
                                                               'CallbackOneOutParameter')
         | 
| 56 | 
            +
                  }
         | 
| 57 | 
            +
                  it 'returns a valid mapping method' do
         | 
| 56 58 | 
             
                    expected = <<-CODE.reset_indentation
         | 
| 57 59 | 
             
                    def self.call_with_argument_mapping(_proc, a)
         | 
| 58 60 | 
             
                      _v1 = GirFFI::InOutPointer.new(:gfloat, a)
         | 
| @@ -64,5 +66,28 @@ describe GirFFI::Builders::CallbackBuilder do | |
| 64 66 | 
             
                    builder.mapping_method_definition.must_equal expected
         | 
| 65 67 | 
             
                  end
         | 
| 66 68 | 
             
                end
         | 
| 69 | 
            +
             | 
| 70 | 
            +
                describe 'for a callback with an inout array argument' do
         | 
| 71 | 
            +
                  let(:callback_info) {
         | 
| 72 | 
            +
                    get_introspection_data('Regress',
         | 
| 73 | 
            +
                                           'TestCallbackArrayInOut')
         | 
| 74 | 
            +
                  }
         | 
| 75 | 
            +
                  it 'returns a valid mapping method' do
         | 
| 76 | 
            +
                    skip unless callback_info
         | 
| 77 | 
            +
                    expected = <<-CODE.reset_indentation
         | 
| 78 | 
            +
                    def self.call_with_argument_mapping(_proc, ints, length)
         | 
| 79 | 
            +
                      _v1 = GirFFI::InOutPointer.new(:gint32, length)
         | 
| 80 | 
            +
                      _v2 = _v1.to_value
         | 
| 81 | 
            +
                      _v3 = GirFFI::InOutPointer.new([:pointer, :c], ints)
         | 
| 82 | 
            +
                      _v4 = GirFFI::SizedArray.wrap(:gint32, _v2, _v3.to_value)
         | 
| 83 | 
            +
                      _v5 = _proc.call(_v4)
         | 
| 84 | 
            +
                      _v1.set_value _v5.length
         | 
| 85 | 
            +
                      _v3.set_value GirFFI::SizedArray.from(:gint32, -1, _v5)
         | 
| 86 | 
            +
                    end
         | 
| 87 | 
            +
                    CODE
         | 
| 88 | 
            +
             | 
| 89 | 
            +
                    builder.mapping_method_definition.must_equal expected
         | 
| 90 | 
            +
                  end
         | 
| 91 | 
            +
                end
         | 
| 67 92 | 
             
              end
         | 
| 68 93 | 
             
            end
         | 
| @@ -4,71 +4,79 @@ describe GirFFI::Builders::CallbackReturnValueBuilder do | |
| 4 4 | 
             
              let(:var_gen) { GirFFI::VariableNameGenerator.new }
         | 
| 5 5 | 
             
              let(:return_value_info) { GirFFI::ReturnValueInfo.new(type_info) }
         | 
| 6 6 | 
             
              let(:type_info) { callback_info.return_type }
         | 
| 7 | 
            -
              let(:builder) { | 
| 8 | 
            -
             | 
| 7 | 
            +
              let(:builder) {
         | 
| 8 | 
            +
                GirFFI::Builders::CallbackReturnValueBuilder.new(var_gen,
         | 
| 9 | 
            +
                                                                               return_value_info)
         | 
| 10 | 
            +
              }
         | 
| 9 11 |  | 
| 10 12 | 
             
              before do
         | 
| 11 13 | 
             
                skip unless callback_info
         | 
| 12 14 | 
             
              end
         | 
| 13 15 |  | 
| 14 | 
            -
              describe  | 
| 15 | 
            -
                let(:callback_info) { get_introspection_data( | 
| 16 | 
            +
              describe 'for :gint32' do
         | 
| 17 | 
            +
                let(:callback_info) { get_introspection_data('GIMarshallingTests', 'CallbackIntInt') }
         | 
| 16 18 |  | 
| 17 | 
            -
                it  | 
| 19 | 
            +
                it 'has no statements in #post_conversion' do
         | 
| 18 20 | 
             
                  builder.post_conversion.must_equal []
         | 
| 19 21 | 
             
                end
         | 
| 20 22 |  | 
| 21 | 
            -
                it  | 
| 22 | 
            -
                  builder.capture_variable_name.must_equal  | 
| 23 | 
            -
                  builder.return_value_name.must_equal  | 
| 23 | 
            +
                it 'returns the result of the callback directly' do
         | 
| 24 | 
            +
                  builder.capture_variable_name.must_equal '_v1'
         | 
| 25 | 
            +
                  builder.return_value_name.must_equal '_v1'
         | 
| 24 26 | 
             
                end
         | 
| 25 27 | 
             
              end
         | 
| 26 28 |  | 
| 27 | 
            -
              describe  | 
| 28 | 
            -
                let(:callback_info) { | 
| 29 | 
            -
             | 
| 29 | 
            +
              describe 'for :void' do
         | 
| 30 | 
            +
                let(:callback_info) {
         | 
| 31 | 
            +
                  get_introspection_data('GIMarshallingTests',
         | 
| 32 | 
            +
                                                             'CallbackMultipleOutParameters')
         | 
| 33 | 
            +
                }
         | 
| 30 34 |  | 
| 31 | 
            -
                it  | 
| 35 | 
            +
                it 'has no statements in #post_conversion' do
         | 
| 32 36 | 
             
                  builder.post_conversion.must_equal []
         | 
| 33 37 | 
             
                end
         | 
| 34 38 |  | 
| 35 | 
            -
                it  | 
| 39 | 
            +
                it 'returns nothing' do
         | 
| 36 40 | 
             
                  builder.capture_variable_name.must_be_nil
         | 
| 37 41 | 
             
                  builder.return_value_name.must_be_nil
         | 
| 38 42 | 
             
                end
         | 
| 39 43 | 
             
              end
         | 
| 40 44 |  | 
| 41 | 
            -
              describe  | 
| 42 | 
            -
                let(:callback_info) { | 
| 43 | 
            -
             | 
| 44 | 
            -
                                                                    | 
| 45 | 
            +
              describe 'for :enum' do
         | 
| 46 | 
            +
                let(:callback_info) {
         | 
| 47 | 
            +
                  get_vfunc_introspection_data('GIMarshallingTests',
         | 
| 48 | 
            +
                                                                   'Object',
         | 
| 49 | 
            +
                                                                   'vfunc_return_enum')
         | 
| 50 | 
            +
                }
         | 
| 45 51 |  | 
| 46 | 
            -
                it  | 
| 52 | 
            +
                it 'converts the result' do
         | 
| 47 53 | 
             
                  # Ensure variable names are generated in order
         | 
| 48 | 
            -
                  builder.capture_variable_name.must_equal  | 
| 49 | 
            -
                  builder.post_conversion.must_equal [ | 
| 54 | 
            +
                  builder.capture_variable_name.must_equal '_v1'
         | 
| 55 | 
            +
                  builder.post_conversion.must_equal ['_v2 = GIMarshallingTests::Enum.from(_v1)']
         | 
| 50 56 | 
             
                end
         | 
| 51 57 |  | 
| 52 | 
            -
                it  | 
| 53 | 
            -
                  builder.capture_variable_name.must_equal  | 
| 54 | 
            -
                  builder.return_value_name.must_equal  | 
| 58 | 
            +
                it 'returns the result of the conversion' do
         | 
| 59 | 
            +
                  builder.capture_variable_name.must_equal '_v1'
         | 
| 60 | 
            +
                  builder.return_value_name.must_equal '_v2'
         | 
| 55 61 | 
             
                end
         | 
| 56 62 | 
             
              end
         | 
| 57 63 |  | 
| 58 | 
            -
              describe  | 
| 59 | 
            -
                let(:callback_info) { | 
| 60 | 
            -
             | 
| 61 | 
            -
                                                                    | 
| 64 | 
            +
              describe 'for :object' do
         | 
| 65 | 
            +
                let(:callback_info) {
         | 
| 66 | 
            +
                  get_vfunc_introspection_data('GIMarshallingTests',
         | 
| 67 | 
            +
                                                                   'Object',
         | 
| 68 | 
            +
                                                                   'vfunc_return_object_transfer_full')
         | 
| 69 | 
            +
                }
         | 
| 62 70 |  | 
| 63 | 
            -
                it  | 
| 71 | 
            +
                it 'converts the result to a pointer' do
         | 
| 64 72 | 
             
                  # Ensure variable names are generated in order
         | 
| 65 | 
            -
                  builder.capture_variable_name.must_equal  | 
| 66 | 
            -
                  builder.post_conversion.must_equal [ | 
| 73 | 
            +
                  builder.capture_variable_name.must_equal '_v1'
         | 
| 74 | 
            +
                  builder.post_conversion.must_equal ['_v2 = GObject::Object.from(_v1).to_ptr']
         | 
| 67 75 | 
             
                end
         | 
| 68 76 |  | 
| 69 | 
            -
                it  | 
| 70 | 
            -
                  builder.capture_variable_name.must_equal  | 
| 71 | 
            -
                  builder.return_value_name.must_equal  | 
| 77 | 
            +
                it 'returns the result of the conversion' do
         | 
| 78 | 
            +
                  builder.capture_variable_name.must_equal '_v1'
         | 
| 79 | 
            +
                  builder.return_value_name.must_equal '_v2'
         | 
| 72 80 | 
             
                end
         | 
| 73 81 | 
             
              end
         | 
| 74 82 | 
             
            end
         | 
| @@ -1,16 +1,16 @@ | |
| 1 1 | 
             
            require 'gir_ffi_test_helper'
         | 
| 2 2 |  | 
| 3 3 | 
             
            describe GirFFI::Builders::EnumBuilder do
         | 
| 4 | 
            -
              describe  | 
| 4 | 
            +
              describe 'creating Regress::TestEnum' do
         | 
| 5 5 | 
             
                before do
         | 
| 6 6 | 
             
                  save_module :Regress
         | 
| 7 7 | 
             
                end
         | 
| 8 8 |  | 
| 9 | 
            -
                it  | 
| 9 | 
            +
                it 'makes the created type know its proper name' do
         | 
| 10 10 | 
             
                  info = get_introspection_data 'Regress', 'TestEnum'
         | 
| 11 11 | 
             
                  builder = GirFFI::Builders::EnumBuilder.new info
         | 
| 12 12 | 
             
                  enum = builder.build_class
         | 
| 13 | 
            -
                  enum.inspect.must_equal  | 
| 13 | 
            +
                  enum.inspect.must_equal 'Regress::TestEnum'
         | 
| 14 14 | 
             
                end
         | 
| 15 15 |  | 
| 16 16 | 
             
                after do
         | 
| @@ -3,9 +3,9 @@ require 'gir_ffi_test_helper' | |
| 3 3 | 
             
            describe GirFFI::Builders::FieldBuilder do
         | 
| 4 4 | 
             
              let(:instance) { GirFFI::Builders::FieldBuilder.new field_info }
         | 
| 5 5 |  | 
| 6 | 
            -
              describe  | 
| 7 | 
            -
                let(:field_info) { get_field_introspection_data  | 
| 8 | 
            -
                it  | 
| 6 | 
            +
              describe 'for a field of type :gint8 with an offset' do
         | 
| 7 | 
            +
                let(:field_info) { get_field_introspection_data 'Regress', 'TestSimpleBoxedA', 'some_int8' }
         | 
| 8 | 
            +
                it 'creates the right getter method' do
         | 
| 9 9 | 
             
                  expected = <<-CODE.reset_indentation
         | 
| 10 10 | 
             
                    def some_int8
         | 
| 11 11 | 
             
                      _v1 = @struct.to_ptr + #{field_info.offset}
         | 
| @@ -18,7 +18,7 @@ describe GirFFI::Builders::FieldBuilder do | |
| 18 18 | 
             
                  instance.getter_def.must_equal expected
         | 
| 19 19 | 
             
                end
         | 
| 20 20 |  | 
| 21 | 
            -
                it  | 
| 21 | 
            +
                it 'creates the right setter method' do
         | 
| 22 22 | 
             
                  expected = <<-CODE.reset_indentation
         | 
| 23 23 | 
             
                    def some_int8= value
         | 
| 24 24 | 
             
                      _v1 = @struct.to_ptr + #{field_info.offset}
         | 
| @@ -31,9 +31,9 @@ describe GirFFI::Builders::FieldBuilder do | |
| 31 31 | 
             
                end
         | 
| 32 32 | 
             
              end
         | 
| 33 33 |  | 
| 34 | 
            -
              describe  | 
| 35 | 
            -
                let(:field_info) { get_field_introspection_data  | 
| 36 | 
            -
                it  | 
| 34 | 
            +
              describe 'for a field of type :struct' do
         | 
| 35 | 
            +
                let(:field_info) { get_field_introspection_data 'Regress', 'TestBoxed', 'nested_a' }
         | 
| 36 | 
            +
                it 'creates the right getter method' do
         | 
| 37 37 | 
             
                  expected = <<-CODE.reset_indentation
         | 
| 38 38 | 
             
                    def nested_a
         | 
| 39 39 | 
             
                      _v1 = @struct.to_ptr + #{field_info.offset}
         | 
| @@ -47,9 +47,9 @@ describe GirFFI::Builders::FieldBuilder do | |
| 47 47 | 
             
                end
         | 
| 48 48 | 
             
              end
         | 
| 49 49 |  | 
| 50 | 
            -
              describe  | 
| 51 | 
            -
                let(:field_info) { get_field_introspection_data  | 
| 52 | 
            -
                it  | 
| 50 | 
            +
              describe 'for a field of type :enum' do
         | 
| 51 | 
            +
                let(:field_info) { get_field_introspection_data 'Regress', 'TestStructA', 'some_enum' }
         | 
| 52 | 
            +
                it 'creates the right getter method' do
         | 
| 53 53 | 
             
                  expected = <<-CODE.reset_indentation
         | 
| 54 54 | 
             
                    def some_enum
         | 
| 55 55 | 
             
                      _v1 = @struct.to_ptr + #{field_info.offset}
         | 
| @@ -63,9 +63,9 @@ describe GirFFI::Builders::FieldBuilder do | |
| 63 63 | 
             
                end
         | 
| 64 64 | 
             
              end
         | 
| 65 65 |  | 
| 66 | 
            -
              describe  | 
| 67 | 
            -
                let(:field_info) { get_field_introspection_data  | 
| 68 | 
            -
                it  | 
| 66 | 
            +
              describe 'for an inline fixed-size array field' do
         | 
| 67 | 
            +
                let(:field_info) { get_field_introspection_data 'Regress', 'TestStructE', 'some_union' }
         | 
| 68 | 
            +
                it 'creates the right getter method' do
         | 
| 69 69 | 
             
                  expected = <<-CODE.reset_indentation
         | 
| 70 70 | 
             
                    def some_union
         | 
| 71 71 | 
             
                      _v1 = @struct.to_ptr + #{field_info.offset}
         | 
| @@ -78,7 +78,7 @@ describe GirFFI::Builders::FieldBuilder do | |
| 78 78 | 
             
                  instance.getter_def.must_equal expected
         | 
| 79 79 | 
             
                end
         | 
| 80 80 |  | 
| 81 | 
            -
                it  | 
| 81 | 
            +
                it 'creates the right setter method' do
         | 
| 82 82 | 
             
                  expected = <<-CODE.reset_indentation
         | 
| 83 83 | 
             
                    def some_union= value
         | 
| 84 84 | 
             
                      _v1 = @struct.to_ptr + #{field_info.offset}
         | 
| @@ -92,9 +92,9 @@ describe GirFFI::Builders::FieldBuilder do | |
| 92 92 | 
             
                end
         | 
| 93 93 | 
             
              end
         | 
| 94 94 |  | 
| 95 | 
            -
              describe  | 
| 96 | 
            -
                let(:field_info) { get_field_introspection_data  | 
| 97 | 
            -
                it  | 
| 95 | 
            +
              describe 'for a field of type :callback' do
         | 
| 96 | 
            +
                let(:field_info) { get_field_introspection_data 'GObject', 'TypeInfo', 'class_init' }
         | 
| 97 | 
            +
                it 'creates the right setter method' do
         | 
| 98 98 | 
             
                  expected = <<-CODE.reset_indentation
         | 
| 99 99 | 
             
                    def class_init= value
         | 
| 100 100 | 
             
                      _v1 = @struct.to_ptr + #{field_info.offset}
         | 
| @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            require 'gir_ffi_test_helper'
         | 
| 2 2 |  | 
| 3 3 | 
             
            describe GirFFI::Builders::FunctionBuilder do
         | 
| 4 | 
            -
              it  | 
| 4 | 
            +
              it 'builds a correct definition of Regress:test_array_fixed_out_objects' do
         | 
| 5 5 | 
             
                go = get_introspection_data 'Regress', 'test_array_fixed_out_objects'
         | 
| 6 6 | 
             
                skip unless go
         | 
| 7 7 | 
             
                fbuilder = GirFFI::Builders::FunctionBuilder.new go
         | 
| @@ -19,7 +19,7 @@ describe GirFFI::Builders::FunctionBuilder do | |
| 19 19 | 
             
                assert_equal expected.reset_indentation, code
         | 
| 20 20 | 
             
              end
         | 
| 21 21 |  | 
| 22 | 
            -
              it  | 
| 22 | 
            +
              it 'builds a correct definition for functions having a linked length argument' do
         | 
| 23 23 | 
             
                go = get_introspection_data 'Regress', 'test_array_gint16_in'
         | 
| 24 24 | 
             
                fbuilder = GirFFI::Builders::FunctionBuilder.new go
         | 
| 25 25 | 
             
                code = fbuilder.generate
         | 
| @@ -37,7 +37,7 @@ describe GirFFI::Builders::FunctionBuilder do | |
| 37 37 | 
             
                assert_equal expected.reset_indentation, code
         | 
| 38 38 | 
             
              end
         | 
| 39 39 |  | 
| 40 | 
            -
              it  | 
| 40 | 
            +
              it 'builds a correct definition for functions with callbacks' do
         | 
| 41 41 | 
             
                go = get_introspection_data 'Regress', 'test_callback_destroy_notify'
         | 
| 42 42 | 
             
                fbuilder = GirFFI::Builders::FunctionBuilder.new go
         | 
| 43 43 | 
             
                code = fbuilder.generate
         | 
| @@ -55,7 +55,7 @@ describe GirFFI::Builders::FunctionBuilder do | |
| 55 55 | 
             
                assert_equal expected.reset_indentation, code
         | 
| 56 56 | 
             
              end
         | 
| 57 57 |  | 
| 58 | 
            -
              it  | 
| 58 | 
            +
              it 'builds correct definition for constructors' do
         | 
| 59 59 | 
             
                go = get_method_introspection_data 'Regress', 'TestObj', 'new_from_file'
         | 
| 60 60 | 
             
                fbuilder = GirFFI::Builders::FunctionBuilder.new go
         | 
| 61 61 | 
             
                code = fbuilder.generate
         | 
| @@ -74,7 +74,7 @@ describe GirFFI::Builders::FunctionBuilder do | |
| 74 74 | 
             
                assert_equal expected.reset_indentation, code
         | 
| 75 75 | 
             
              end
         | 
| 76 76 |  | 
| 77 | 
            -
              it  | 
| 77 | 
            +
              it 'creates a call to GObject::Value#from for functions that take a GValue' do
         | 
| 78 78 | 
             
                go = get_introspection_data 'GIMarshallingTests', 'gvalue_in'
         | 
| 79 79 | 
             
                fbuilder = GirFFI::Builders::FunctionBuilder.new go
         | 
| 80 80 | 
             
                code = fbuilder.generate
         | 
| @@ -89,7 +89,7 @@ describe GirFFI::Builders::FunctionBuilder do | |
| 89 89 | 
             
                assert_equal expected.reset_indentation, code
         | 
| 90 90 | 
             
              end
         | 
| 91 91 |  | 
| 92 | 
            -
              it  | 
| 92 | 
            +
              it 'builds correct definition for functions with a nullable input array' do
         | 
| 93 93 | 
             
                go = get_introspection_data 'Regress', 'test_array_int_null_in'
         | 
| 94 94 | 
             
                fbuilder = GirFFI::Builders::FunctionBuilder.new go
         | 
| 95 95 | 
             
                code = fbuilder.generate
         | 
| @@ -106,7 +106,7 @@ describe GirFFI::Builders::FunctionBuilder do | |
| 106 106 | 
             
                assert_equal expected.reset_indentation, code
         | 
| 107 107 | 
             
              end
         | 
| 108 108 |  | 
| 109 | 
            -
              it  | 
| 109 | 
            +
              it 'builds correct definition for functions with a nullable output array' do
         | 
| 110 110 | 
             
                go = get_introspection_data 'Regress', 'test_array_int_null_out'
         | 
| 111 111 | 
             
                fbuilder = GirFFI::Builders::FunctionBuilder.new go
         | 
| 112 112 | 
             
                code = fbuilder.generate
         | 
| @@ -125,7 +125,7 @@ describe GirFFI::Builders::FunctionBuilder do | |
| 125 125 | 
             
                assert_equal expected.reset_indentation, code
         | 
| 126 126 | 
             
              end
         | 
| 127 127 |  | 
| 128 | 
            -
              it  | 
| 128 | 
            +
              it 'builds the correct definition for a method with an inout array with size argument' do
         | 
| 129 129 | 
             
                go = get_method_introspection_data 'GIMarshallingTests', 'Object', 'method_array_inout'
         | 
| 130 130 | 
             
                fbuilder = GirFFI::Builders::FunctionBuilder.new go
         | 
| 131 131 | 
             
                code = fbuilder.generate
         | 
| @@ -147,7 +147,7 @@ describe GirFFI::Builders::FunctionBuilder do | |
| 147 147 | 
             
                assert_equal expected.reset_indentation, code
         | 
| 148 148 | 
             
              end
         | 
| 149 149 |  | 
| 150 | 
            -
              it  | 
| 150 | 
            +
              it 'builds a correct definition for a simple method' do
         | 
| 151 151 | 
             
                go = get_method_introspection_data 'Regress', 'TestObj', 'instance_method'
         | 
| 152 152 | 
             
                fbuilder = GirFFI::Builders::FunctionBuilder.new go
         | 
| 153 153 | 
             
                code = fbuilder.generate
         | 
| @@ -162,13 +162,13 @@ describe GirFFI::Builders::FunctionBuilder do | |
| 162 162 | 
             
                assert_equal expected.reset_indentation, code
         | 
| 163 163 | 
             
              end
         | 
| 164 164 |  | 
| 165 | 
            -
              describe  | 
| 165 | 
            +
              describe '#generate' do
         | 
| 166 166 | 
             
                let(:builder) { GirFFI::Builders::FunctionBuilder.new function_info }
         | 
| 167 167 | 
             
                let(:code) { builder.generate }
         | 
| 168 168 |  | 
| 169 | 
            -
                describe  | 
| 169 | 
            +
                describe 'for GLib::Variant.get_strv' do
         | 
| 170 170 | 
             
                  let(:function_info) { get_method_introspection_data 'GLib', 'Variant', 'get_strv' }
         | 
| 171 | 
            -
                  it  | 
| 171 | 
            +
                  it 'builds a correct definition' do
         | 
| 172 172 | 
             
                    size_type = ":guint#{FFI.type_size(:size_t) * 8}"
         | 
| 173 173 | 
             
                    code.must_equal <<-CODE.reset_indentation
         | 
| 174 174 | 
             
                      def get_strv
         | 
| @@ -181,10 +181,10 @@ describe GirFFI::Builders::FunctionBuilder do | |
| 181 181 | 
             
                  end
         | 
| 182 182 | 
             
                end
         | 
| 183 183 |  | 
| 184 | 
            -
                describe  | 
| 184 | 
            +
                describe 'for Regress.has_parameter_named_attrs' do
         | 
| 185 185 | 
             
                  let(:function_info) { get_introspection_data 'Regress', 'has_parameter_named_attrs' }
         | 
| 186 186 |  | 
| 187 | 
            -
                  it  | 
| 187 | 
            +
                  it 'builds a correct definition' do
         | 
| 188 188 | 
             
                    skip unless function_info
         | 
| 189 189 | 
             
                    code.must_equal <<-CODE.reset_indentation
         | 
| 190 190 | 
             
                      def self.has_parameter_named_attrs(foo, attributes)
         | 
| @@ -197,13 +197,13 @@ describe GirFFI::Builders::FunctionBuilder do | |
| 197 197 | 
             
                  end
         | 
| 198 198 | 
             
                end
         | 
| 199 199 |  | 
| 200 | 
            -
                describe  | 
| 200 | 
            +
                describe 'for GIMarshallingTests::Object.method_int8_arg_and_out_callee' do
         | 
| 201 201 | 
             
                  let(:function_info) {
         | 
| 202 202 | 
             
                    get_method_introspection_data('GIMarshallingTests', 'Object',
         | 
| 203 203 | 
             
                                                  'method_int8_arg_and_out_callee')
         | 
| 204 204 | 
             
                  }
         | 
| 205 205 |  | 
| 206 | 
            -
                  it  | 
| 206 | 
            +
                  it 'builds a correct definition' do
         | 
| 207 207 | 
             
                    skip unless function_info
         | 
| 208 208 | 
             
                    code.must_equal <<-CODE.reset_indentation
         | 
| 209 209 | 
             
                      def method_int8_arg_and_out_callee(arg)
         | 
| @@ -1,27 +1,29 @@ | |
| 1 1 | 
             
            require 'gir_ffi_test_helper'
         | 
| 2 2 |  | 
| 3 3 | 
             
            describe GirFFI::Builders::InterfaceBuilder do
         | 
| 4 | 
            -
              let(:interface_builder) { | 
| 5 | 
            -
                 | 
| 4 | 
            +
              let(:interface_builder) {
         | 
| 5 | 
            +
                GirFFI::Builders::InterfaceBuilder.new(
         | 
| 6 | 
            +
                get_introspection_data('Regress', 'TestInterface'))
         | 
| 7 | 
            +
              }
         | 
| 6 8 |  | 
| 7 | 
            -
              describe  | 
| 9 | 
            +
              describe '#build_class' do
         | 
| 8 10 | 
             
                before do
         | 
| 9 11 | 
             
                  info = get_introspection_data 'GObject', 'TypePlugin'
         | 
| 10 12 | 
             
                  @bldr = GirFFI::Builders::InterfaceBuilder.new info
         | 
| 11 13 | 
             
                  @iface = @bldr.build_class
         | 
| 12 14 | 
             
                end
         | 
| 13 15 |  | 
| 14 | 
            -
                it  | 
| 16 | 
            +
                it 'builds an interface as a module' do
         | 
| 15 17 | 
             
                  assert_instance_of Module, @iface
         | 
| 16 18 | 
             
                end
         | 
| 17 19 |  | 
| 18 | 
            -
                it  | 
| 20 | 
            +
                it 'creates methods on the interface' do
         | 
| 19 21 | 
             
                  assert_defines_instance_method @iface, :complete_interface_info
         | 
| 20 22 | 
             
                end
         | 
| 21 23 | 
             
              end
         | 
| 22 24 |  | 
| 23 | 
            -
              describe  | 
| 24 | 
            -
                it  | 
| 25 | 
            +
              describe '#interface_struct' do
         | 
| 26 | 
            +
                it 'returns the interface struct type' do
         | 
| 25 27 | 
             
                  interface_builder.interface_struct.must_equal Regress::TestInterfaceIface
         | 
| 26 28 | 
             
                end
         | 
| 27 29 | 
             
              end
         | 
| @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            require 'gir_ffi_test_helper'
         | 
| 2 2 |  | 
| 3 3 | 
             
            describe GirFFI::Builders::ModuleBuilder do
         | 
| 4 | 
            -
              describe  | 
| 5 | 
            -
                it  | 
| 4 | 
            +
              describe '#build_namespaced_class' do
         | 
| 5 | 
            +
                it 'raises a clear error if the named class does not exist' do
         | 
| 6 6 | 
             
                  gir = GObjectIntrospection::IRepository.default
         | 
| 7 | 
            -
                  stub(gir).require( | 
| 7 | 
            +
                  stub(gir).require('Foo', nil) {}
         | 
| 8 8 |  | 
| 9 | 
            -
                  builder = GirFFI::Builders::ModuleBuilder.new  | 
| 9 | 
            +
                  builder = GirFFI::Builders::ModuleBuilder.new 'Foo'
         | 
| 10 10 |  | 
| 11 | 
            -
                  mock(gir).find_by_name( | 
| 11 | 
            +
                  mock(gir).find_by_name('Foo', 'Bar') { nil }
         | 
| 12 12 |  | 
| 13 13 | 
             
                  assert_raises NameError do
         | 
| 14 14 | 
             
                    builder.build_namespaced_class :Bar
         | 
| @@ -16,4 +16,3 @@ describe GirFFI::Builders::ModuleBuilder do | |
| 16 16 | 
             
                end
         | 
| 17 17 | 
             
              end
         | 
| 18 18 | 
             
            end
         | 
| 19 | 
            -
             |