Sha256: 9f2f8f1e5d6fef4e8867eabe60a1664e2548e5725ade4ae97c22526cc970643e
Contents?: true
Size: 939 Bytes
Versions: 4
Compression:
Stored size: 939 Bytes
Contents
# frozen_string_literal: true require "gir_ffi_test_helper" describe GObject::Closure do describe ".new" do it "updates the ref_count of the created object" do # Tested on a subclass ... c = GObject::RubyClosure.new {} _(c.ref_count).must_equal 1 end end describe "#invoke" do it "invokes the closure" do a = 0 c = GObject::RubyClosure.new { a = 2 } c2 = GObject::Closure.wrap(c.to_ptr) c2.invoke nil, [] _(a).must_equal 2 end it "returns the closure result" do c = GObject::RubyClosure.new { 3 } c2 = GObject::Closure.wrap(c.to_ptr) result = c2.invoke GObject::Value.for_gtype(GObject::TYPE_INT), [] _(result).must_equal 3 end it "passes arguments" do a = 0 c = GObject::RubyClosure.new { |val| a = val } c2 = GObject::Closure.wrap(c.to_ptr) c2.invoke nil, [5] _(a).must_equal 5 end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
gir_ffi-0.15.3 | test/ffi-glib/closure_test.rb |
gir_ffi-0.15.2 | test/ffi-glib/closure_test.rb |
gir_ffi-0.15.1 | test/ffi-glib/closure_test.rb |
gir_ffi-0.15.0 | test/ffi-glib/closure_test.rb |