Sha256: 7dce081ecc867150cb9ed166a5d86e45c28ba0401c05db77f9e8d1a0d1f628cb

Contents?: true

Size: 1.19 KB

Versions: 3

Compression:

Stored size: 1.19 KB

Contents

# frozen_string_literal: true

require "gir_ffi_test_helper"

GirFFI.setup :WarnLib

describe "The generated WarnLib module" do
  describe "WarnLib::Whatever" do
    let(:derived_klass) do
      Object.const_set("DerivedClass#{Sequence.next}", Class.new(GObject::Object))
    end

    before do
      @result = nil
      derived_klass.class_eval { include WarnLib::Whatever }
      GirFFI.define_type derived_klass do |info|
        info.install_vfunc_implementation :do_boo, proc { |_obj, x, _y| @result = "boo#{x}" }
        info.install_vfunc_implementation :do_moo, proc { |_obj, x, _y| @result = "moo#{x}" }
      end
    end

    let(:instance) { derived_klass.new }

    it "has a working method #do_boo" do
      instance.do_boo 42, nil
      _(@result).must_equal "boo42"
    end

    it "has a working method #do_moo" do
      instance.do_moo 23, nil
      _(@result).must_equal "moo23"
    end
  end

  it "has a working function #throw_unpaired" do
    _(proc { WarnLib.throw_unpaired }).must_raise GirFFI::GLibError
  end

  it "has a working function #unpaired_error_quark" do
    result = WarnLib.unpaired_error_quark
    _(GLib.quark_to_string(result)).must_equal "warnlib-unpaired-error"
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
gir_ffi-0.15.2 test/integration/generated_warnlib_test.rb
gir_ffi-0.15.1 test/integration/generated_warnlib_test.rb
gir_ffi-0.15.0 test/integration/generated_warnlib_test.rb