Sha256: 4862a6e6f3a4580772cd14b4ff8097c137c8b2fc91d07a3f705cae3a2cad4e8e

Contents?: true

Size: 1.33 KB

Versions: 1

Compression:

Stored size: 1.33 KB

Contents

require File.expand_path('test_helper.rb', File.dirname(__FILE__))

module GirFFI
  class IRepositoryTest < MiniTest::Spec
    context "An IRepository object" do
      should "not be created by calling new()" do
	assert_raises NoMethodError do
	  IRepository.new
	end
      end

      should "be created by calling default()" do
	gir = IRepository.default
	assert_kind_of IRepository, gir
      end

      should "be a singleton" do
	gir = IRepository.default
	gir2 = IRepository.default
	assert_equal gir, gir2
      end
    end

    context "The namespace method" do
      should "raise an error if the namespace doesn't exist" do
	assert_raises RuntimeError do
	  IRepository.default.require 'VeryUnlikelyGObjectNamespaceName', nil
	end
      end

      should "allow version to be nil" do
	assert_nothing_raised do
	  IRepository.default.require 'GObject', nil
	end
      end

      should "allow version to be left out" do
	assert_nothing_raised do
	  IRepository.default.require 'GObject'
	end
      end
    end

    context "Enumerating the infos for Gtk" do
      setup do
	@gir = IRepository.default
        @gir.require 'Gtk'
      end

      should "yield more than one object" do
	assert_operator @gir.n_infos('Gtk'), :>, 0
      end

      should "yield IBaseInfo objects" do
	assert_kind_of IBaseInfo, @gir.info('Gtk', 0)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gir_ffi-0.0.11 test/i_repository_test.rb