Sha256: 59aee86c82e5acd75a210ed3ee224a29d0745188f5db7492cd046a0b8228e6c4

Contents?: true

Size: 1.57 KB

Versions: 4

Compression:

Stored size: 1.57 KB

Contents

# frozen_string_literal: true

require "gir_ffi_test_helper"

GirFFI.setup :Regress

describe GirFFI::Builders::RegisteredTypeBuilder do
  describe "#setup_instance_method" do
    it "restores a method that was removed" do
      Regress::TestObj.class_eval { remove_method "instance_method" }

      builder = Regress::TestObj.gir_ffi_builder

      builder.setup_instance_method "instance_method"

      obj = Regress::TestObj.constructor
      _(obj).must_respond_to "instance_method"
    end

    it "returns the name of the generated method" do
      builder = Regress::TestObj.gir_ffi_builder
      result = builder.setup_instance_method "instance_method"
      _(result).must_equal "instance_method"
    end

    it "returns the name of the generated method if different from the info name" do
      skip "Need some way to test this now that GLib::IConv is gone"
    end
  end

  describe "#stub_methods" do
    it "adds getter method aliases" do
      instance = Regress::TestWi8021x.new
      _(instance).must_respond_to :testbool
    end

    it "adds setter method aliases" do
      instance = Regress::TestWi8021x.new
      _(instance).must_respond_to :testbool=
    end

    it "adds getter alias for method with arguments" do
      instance = Regress::TestObj.constructor
      _(instance).must_respond_to :get_qdata
      _(instance).must_respond_to :qdata
    end

    it "does not add setter alias for method with more than one argument" do
      instance = Regress::TestObj.constructor
      _(instance).must_respond_to :set_data
      _(instance).wont_respond_to :data=
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
gir_ffi-0.15.3 test/gir_ffi/builders/registered_type_builder_test.rb
gir_ffi-0.15.2 test/gir_ffi/builders/registered_type_builder_test.rb
gir_ffi-0.15.1 test/gir_ffi/builders/registered_type_builder_test.rb
gir_ffi-0.15.0 test/gir_ffi/builders/registered_type_builder_test.rb