Sha256: 88621578f38755fb090b3d93fee8a2e5c22f953f02816193dd00515ff925d64e
Contents?: true
Size: 1.53 KB
Versions: 2
Compression:
Stored size: 1.53 KB
Contents
require 'introspection_test_helper' describe GObjectIntrospection::IBaseInfo do let(:described_class) { GObjectIntrospection::IBaseInfo } describe "#initialize" do it "raises an error if a null pointer is passed" do mock(ptr = Object.new).null? { true } proc { described_class.new ptr }.must_raise ArgumentError end it "raises no error if a non-null pointer is passed" do mock(ptr = Object.new).null? { false } described_class.new ptr pass end end describe "#deprecated?" do let(:deprecated_info) { get_introspection_data 'Regress', 'test_versioning' } let(:other_info) { get_introspection_data 'Regress', 'test_value_return' } it "returns true for a deprecated item" do skip unless deprecated_info deprecated_info.must_be :deprecated? end it "returns false for a non-deprecated item" do other_info.wont_be :deprecated? end end describe "upon garbage collection" do it "calls g_base_info_unref" do if defined?(RUBY_ENGINE) && ['jruby', 'rbx'].include?(RUBY_ENGINE) skip "cannot be reliably tested on JRuby and Rubinius" end mock(ptr = Object.new).null? { false } mock(lib = Object.new).g_base_info_unref(ptr) { nil } described_class.new ptr, lib GC.start # Yes, the next three lines are needed. https://gist.github.com/4277829 stub(ptr2 = Object.new).null? { false } stub(lib).g_base_info_unref(ptr2) { nil } described_class.new ptr2, lib GC.start GC.start end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
gir_ffi-0.7.7 | test/ffi-gobject_introspection/i_base_info_test.rb |
gir_ffi-0.7.6 | test/ffi-gobject_introspection/i_base_info_test.rb |