Sha256: 729f21d648de181e051cc0970255c2490a28e7d2d11ae85666cd5889e6c3560a
Contents?: true
Size: 1.42 KB
Versions: 7
Compression:
Stored size: 1.42 KB
Contents
require 'gir_ffi_test_helper' describe GirFFI::Builder::Type::Unintrospectable do describe "building the GLocalFile type" do before do # Ensure existence of GLocalFile type GirFFI.setup :Gio unless Gio::Lib.respond_to? :g_file_new_for_path Gio.setup_method "file_new_for_path" end ptr = GirFFI::InPointer.from :utf8, '/' Gio::Lib.g_file_new_for_path(ptr) @gtype = GObject.type_from_name 'GLocalFile' @info = GirFFI::UnintrospectableTypeInfo.new(@gtype) @bldr = GirFFI::Builder::Type::Unintrospectable.new(@info) @klass = @bldr.build_class end it "builds a class" do assert_instance_of Class, @klass end it "builds a class derived from GObject::Object" do assert_includes @klass.ancestors, GObject::Object end it "builds a class derived from Gio::File" do assert_includes @klass.ancestors, Gio::File end it "returns the same class when built again" do other_bldr = GirFFI::Builder::Type::Unintrospectable.new(@info) other_klass = other_bldr.build_class assert_equal @klass, other_klass end describe "its #find_signal method" do it "raises correct error for a signal that doesn't exist" do msg = nil begin @bldr.find_signal "foo" rescue RuntimeError => e msg = e.message end assert_match(/^Signal/, msg) end end end end
Version data entries
7 entries across 7 versions & 1 rubygems