Sha256: 2d1246ae42227dd9673d3db10b837921898f7b5b265b7dd140abb1582b8206b7

Contents?: true

Size: 1.34 KB

Versions: 1

Compression:

Stored size: 1.34 KB

Contents

require 'mockspotify'
require 'minitest/autorun'

describe Spotify::Mock do
  it "should define VERSION" do
    Spotify::Mock::VERSION.must_be_kind_of String
  end

  it "should provide a path to libmockspotify" do
    Spotify::Mock.path.must_be_kind_of String
    Spotify::Mock.path.must_match /libmockspotify\.(so|bundle)/
  end

  it "should have injected itself into Spotify's ancestor chain" do
    Spotify.singleton_class.ancestors.take(2).must_equal [Spotify::Mock, FFI::Library]
  end

  describe ".mock_artist" do
    before do
      @artist = Spotify.mock_artist "Bonkers", true
    end

    it "should have the proper name" do
      Spotify.artist_name(@artist).must_equal "Bonkers"
    end

    it "should have the proper load status" do
      Spotify.artist_is_loaded(@artist).must_equal true
    end
  end

  describe "hextoa" do
    it "should convert a hexidecimal string properly" do
      Spotify.attach_function :hextoa, [:string, :int], :string
      Spotify.hextoa("3A3A", 4).must_equal "::"
    end
  end

  describe "atohex" do
    it "should convert a byte string to a hexadecimal string" do
      Spotify.attach_function :atohex, [:buffer_out, :buffer_in, :int], :void

      FFI::Buffer.alloc_out(8) do |b|
        Spotify.atohex(b, "\x3A\x3A\x0F\xF1", b.size)
        b.get_string(0, b.size).must_equal "3a3a0ff1"
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mockspotify-0.1.3 test/mockspotify_spec.rb