Sha256: ac5213c301ea380c96097748bf12e0bd8ea04bf13648122c7c35e55ca72c2143

Contents?: true

Size: 1.36 KB

Versions: 1

Compression:

Stored size: 1.36 KB

Contents

require 'spec_helper'

describe ::Stickler::Repository::Index do

  before do
    @index_me = File.join( @spec_dir, "tmp" )
    FileUtils.mkdir_p( @index_me )

    @specifications = Dir.glob( File.join( @specifications_dir, "*.gemspec" ) )
    @specifications.each do |s|
      FileUtils.cp( s, @index_me )
    end

    @index    = ::Stickler::Repository::Index.new( @index_me )
  end

  after( :each ) do
    FileUtils.rm_rf( @index_me )
  end

  it "indexes all the .gemspec files in the directory" do
    @index.specs.size.should eq @specifications.size
  end

  it "is able to notice changes in the index" do
    @index.specs.size.should eq @specifications.size
    FileUtils.rm( File.join( @index_me, "foo-1.0.0.gemspec" ) )
    @index.specs.size.should eq( @specifications.size - 1 )
  end

  it "knows just the latest specs" do
    @index.latest_specs.size.should eq(@specifications.size - 1)
    @index.latest_specs.collect { |s| s.full_name }.sort.should eq(%w[ bar-1.0.0 baz-3.1.4 baz-3.1.4-java foo-1.0.0 ])
  end

  it "knows the pre-release specs" do
    @index.prerelease_specs.size.should eq 1
    @index.prerelease_specs.first.full_name.should eq "foo-2.0.0a"
  end

  it "knows the released specs" do
    @index.released_specs.size.should eq 4
    @index.released_specs.collect { |s| s.full_name }.sort.should eq(%w[ bar-1.0.0 baz-3.1.4 baz-3.1.4-java foo-1.0.0 ])
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
stickler-2.3.0 spec/repository/index_spec.rb