Sha256: d399eae1e42c121af4f07ecd02f791135599d920dba5234c4214f18f975dae9e
Contents?: true
Size: 1.87 KB
Versions: 1
Compression:
Stored size: 1.87 KB
Contents
require File.expand_path('test_helper.rb', File.dirname(__FILE__)) require 'gir_ffi' class ClassBuilderTest < Test::Unit::TestCase context "The ClassBuilder" do should "use parent struct as default layout" do @gir = GirFFI::IRepository.default @gir.require 'GObject', nil stub(info = Object.new).parent { @gir.find_by_name 'GObject', 'Object' } stub(info).fields { [] } stub(info).type { :object } @classbuilder = GirFFI::ClassBuilder.new 'Foo', 'Bar' @classbuilder.instance_eval { @info = info } spec = @classbuilder.send :layout_specification assert_equal [:parent, GObject::Object::Struct, 0], spec end context "for Gtk::Widget" do setup do @cbuilder = GirFFI::ClassBuilder.new 'Gtk', 'Widget' end context "looking at Gtk::Widget#show" do setup do @go = get_method_introspection_data 'Gtk', 'Widget', 'show' end should "delegate definition to FunctionDefinitionBuilder" do code = @cbuilder.send :function_definition, @go expected = GirFFI::FunctionDefinitionBuilder.new(@go, Gtk::Lib).generate assert_equal cws(expected), cws(code) end end end context 'the find_signal method' do should 'find the signal "test" for TestObj' do builder = GirFFI::ClassBuilder.new 'Everything', 'TestObj' sig = builder.find_signal 'test' assert_equal 'test', sig.name end should 'find the signal "test" for TestSubObj' do builder = GirFFI::ClassBuilder.new 'Everything', 'TestSubObj' sig = builder.find_signal 'test' assert_equal 'test', sig.name end end context "for GObject::TypeCValue (a union)" do setup do @cbuilder = GirFFI::ClassBuilder.new 'GObject', 'TypeCValue' end should "not raise an error looking for a method that doesn't exist" do assert_nothing_raised { @cbuilder.setup_instance_method 'blub' } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gir_ffi-0.0.4 | test/class_builder_test.rb |