Sha256: 088c5efe8d9e2521c2c14210d7fa92debd3636bf3543715014a576bd95de0668
Contents?: true
Size: 1.35 KB
Versions: 2
Compression:
Stored size: 1.35 KB
Contents
describe Hallon::Base do let(:klass) do Class.new(Hallon::Base) do def initialize(pointer) @pointer = to_pointer(pointer, :base) { |x| x } end end end let(:base_pointer) do Spotify.stub(:base_add_ref! => nil, :base_release! => nil) Spotify::Pointer.new(a_pointer, :base, true) end describe "#to_pointer" do it "should not accept raw FFI pointers" do expect { klass.new(a_pointer) }.to raise_error(TypeError) end it "should raise an error if given an invalid pointer type" do expect { klass.new(mock_album) }.to raise_error(TypeError) end end describe ".from" do it "should return a new object if given pointer is not null" do klass.from(base_pointer).should_not be_nil end it "should return nil if given pointer is null" do klass.from(null_pointer).should be_nil end it "should return nil if given object is nil" do klass.from(nil).should be_nil end end describe "#==" do it "should compare the pointers if applicable" do one = klass.new(base_pointer) two = klass.new(base_pointer) one.should eq two end it "should fall back to default object comparison" do one = klass.new(base_pointer) two = klass.new(base_pointer) two.stub(:respond_to?).and_return(false) one.should_not eq two end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
hallon-0.18.0 | spec/hallon/base_spec.rb |
hallon-0.17.0 | spec/hallon/base_spec.rb |