Sha256: e7fed83332cd75d3695b122a4429388313126eb282e520b5da5a86d14754145c
Contents?: true
Size: 1.13 KB
Versions: 3
Compression:
Stored size: 1.13 KB
Contents
require 'gir_ffi_test_helper' describe GirFFI::Builder::Type::Callback do describe "#pretty_print" do it "returns a statement assigning the callback to a constant" do mock(info = Object.new).safe_name { "TheCallback" } stub(info).namespace { "Foo" } mock(GirFFI::Builder).ffi_function_return_type(info) { :ret_type } mock(GirFFI::Builder).ffi_function_argument_types(info) { [ :baz, :qux ] } builder = GirFFI::Builder::Type::Callback.new(info) assert_equal "TheCallback = Lib.callback :TheCallback, [:baz, :qux], :ret_type", builder.pretty_print end it "renders enum argument types by their tags" do stub(enum = FFI::Enum.new([])).tag { :EnumTag } mock(info = Object.new).safe_name { "TheCallback" } stub(info).namespace { "Foo" } mock(GirFFI::Builder).ffi_function_return_type(info) { :ret_type } mock(GirFFI::Builder).ffi_function_argument_types(info) { [ enum ] } builder = GirFFI::Builder::Type::Callback.new(info) assert_equal "TheCallback = Lib.callback :TheCallback, [EnumTag], :ret_type", builder.pretty_print end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
gir_ffi-0.4.3 | test/gir_ffi/builder/type/callback_test.rb |
gir_ffi-0.4.2 | test/gir_ffi/builder/type/callback_test.rb |
gir_ffi-0.4.1 | test/gir_ffi/builder/type/callback_test.rb |