Sha256: d5b31c79beceea69fc263c7fb22404fd9dff7b68bc130e6d6cb53308eba22ddf

Contents?: true

Size: 1.28 KB

Versions: 127

Compression:

Stored size: 1.28 KB

Contents

require 'spec_helper'
require 'pact_broker/versions/parse_semantic_version'

module PactBroker
  module Versions
    describe ParseSemanticVersion do

      describe ".call" do
        context "when parsing a semantic version" do

          subject { ParseSemanticVersion.call("1.2.3") }

          it "returns the version" do
            expect(subject.major).to eq 1
            expect(subject.minor).to eq 2
            expect(subject.to_s).to eq "1.2.3"
          end

          it "returns a comparable version" do
            expect(subject).to be > ParseSemanticVersion.call("1.2.2")
            expect(subject).to be == ParseSemanticVersion.call("1.2.3")
            expect(subject).to be < ParseSemanticVersion.call("1.3.1")
          end

          it "allows versions with one or two parts for backwards compatibility" do
            expect(ParseSemanticVersion.call("1")).to eq ::SemVer.new(1,0,0)
            expect(ParseSemanticVersion.call("1.2")).to eq ::SemVer.new(1,2,0)
          end

          it "returns nil when version is invalid" do
            expect(ParseSemanticVersion.call("abc")).to be_nil
          end

          it "accepts semver metadata" do
            expect(ParseSemanticVersion.call("1.2.3+abc.234")).not_to be_nil
          end
        end
      end

    end
  end
end

Version data entries

127 entries across 127 versions & 1 rubygems

Version Path
pact_broker-2.79.1 spec/lib/pact_broker/versions/parse_semantic_version_spec.rb
pact_broker-2.79.0 spec/lib/pact_broker/versions/parse_semantic_version_spec.rb
pact_broker-2.78.1 spec/lib/pact_broker/versions/parse_semantic_version_spec.rb
pact_broker-2.78.0 spec/lib/pact_broker/versions/parse_semantic_version_spec.rb
pact_broker-2.77.0 spec/lib/pact_broker/versions/parse_semantic_version_spec.rb
pact_broker-2.76.2 spec/lib/pact_broker/versions/parse_semantic_version_spec.rb
pact_broker-2.76.1 spec/lib/pact_broker/versions/parse_semantic_version_spec.rb
pact_broker-2.76.0 spec/lib/pact_broker/versions/parse_semantic_version_spec.rb
pact_broker-2.75.0 spec/lib/pact_broker/versions/parse_semantic_version_spec.rb
pact_broker-2.74.1 spec/lib/pact_broker/versions/parse_semantic_version_spec.rb
pact_broker-2.74.0 spec/lib/pact_broker/versions/parse_semantic_version_spec.rb
pact_broker-2.73.0 spec/lib/pact_broker/versions/parse_semantic_version_spec.rb
pact_broker-2.72.0 spec/lib/pact_broker/versions/parse_semantic_version_spec.rb
pact_broker-2.71.0 spec/lib/pact_broker/versions/parse_semantic_version_spec.rb
pact_broker-2.70.0 spec/lib/pact_broker/versions/parse_semantic_version_spec.rb
pact_broker-2.69.0 spec/lib/pact_broker/versions/parse_semantic_version_spec.rb
pact_broker-2.68.1 spec/lib/pact_broker/versions/parse_semantic_version_spec.rb
pact_broker-2.68.0 spec/lib/pact_broker/versions/parse_semantic_version_spec.rb
pact_broker-2.67.0 spec/lib/pact_broker/versions/parse_semantic_version_spec.rb
pact_broker-2.66.0 spec/lib/pact_broker/versions/parse_semantic_version_spec.rb