Sha256: 5a5b7368fe33401a39bae42ee83f58ae173f7f70e2eb1ca3abe13a54a3e51862

Contents?: true

Size: 854 Bytes

Versions: 4

Compression:

Stored size: 854 Bytes

Contents

# frozen_string_literal: true

require "gir_ffi_test_helper"

describe GirFFI::Builders::InterfaceBuilder do
  let(:interface_builder) do
    GirFFI::Builders::InterfaceBuilder.new(
      get_introspection_data("Regress", "TestInterface"))
  end

  describe "#build_class" do
    before do
      info = get_introspection_data "GObject", "TypePlugin"
      @bldr = GirFFI::Builders::InterfaceBuilder.new info
      @iface = @bldr.build_class
    end

    it "builds an interface as a module" do
      assert_instance_of Module, @iface
    end

    it "creates methods on the interface" do
      assert_defines_instance_method @iface, :complete_interface_info
    end
  end

  describe "#interface_struct" do
    it "returns the interface struct type" do
      _(interface_builder.interface_struct).must_equal Regress::TestInterfaceIface
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

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