Sha256: e3e207f0d6182ef116b232ba7a5eee993e1dd975e7142e39b63fdcd1134b4b08

Contents?: true

Size: 1.91 KB

Versions: 1

Compression:

Stored size: 1.91 KB

Contents

require 'spec_helper'
require 'pessimize/gem'

module Pessimize
  describe Gem do
    context "creating a gem with just a name" do
      let(:gem) { Gem.new(Ripper.lex('gem "monkey"')) }
      subject { gem }

      its(:name) { should == "monkey" }
      its(:version) { should be_nil }
      its(:to_s) { should == 'gem "monkey"' }

      context "after setting the version" do
        before do
          gem.version = "~> 2.3.5"
        end

        its(:to_s) { should == 'gem "monkey", "~> 2.3.5"' }
      end
    end

    context "creating a gem with a name and version" do
      let(:gem) { Gem.new(Ripper.lex('gem "monkey", "~> 3.0"')) }
      subject { gem }

      its(:name) { should == "monkey" }
      its(:version) { should == "~> 3.0" }
      its(:to_s) { should == 'gem "monkey", "~> 3.0"' }

      context "after setting the version" do
        before do
          gem.version = "~> 1.0"
        end

        its(:to_s) { should == 'gem "monkey", "~> 1.0"' }
      end
    end

    context "creating a gem with a name and git url" do
      let(:gem) { Gem.new(Ripper.lex('gem "something", git: git@somewhere.org:project.git')) }
      subject { gem }

      its(:name) { should == "something" }
      its(:version) { should be_nil }

      context "after setting the version" do
        before do
          gem.version = "~> 0.0.1"
        end

        its(:to_s) { should == 'gem "something", "~> 0.0.1", git: git@somewhere.org:project.git' }
      end

    end

    context "creating a gem with a name, version and options" do
      let(:gem) { Gem.new(Ripper.lex('gem "blah", "2.0.0beta", group: :development')) }
      subject { gem }

      its(:name) { should == "blah" }
      its(:version) { should == "2.0.0beta" }

      context "after setting the version" do
        before do
          gem.version = "~> 2.1"
        end

        its(:to_s) { should == 'gem "blah", "~> 2.1", group: :development' }
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pessimize-0.2.0 spec/gem_spec.rb