debian-mirror-gitlab/spec/lib/gitlab/version_info_spec.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

74 lines
2.4 KiB
Ruby
Raw Normal View History

2019-12-04 20:38:33 +05:30
# frozen_string_literal: true
2014-09-02 18:07:02 +05:30
require 'spec_helper'
2020-07-28 23:09:34 +05:30
RSpec.describe 'Gitlab::VersionInfo' do
2014-09-02 18:07:02 +05:30
before do
@unknown = Gitlab::VersionInfo.new
@v0_0_1 = Gitlab::VersionInfo.new(0, 0, 1)
@v0_1_0 = Gitlab::VersionInfo.new(0, 1, 0)
@v1_0_0 = Gitlab::VersionInfo.new(1, 0, 0)
@v1_0_1 = Gitlab::VersionInfo.new(1, 0, 1)
@v1_1_0 = Gitlab::VersionInfo.new(1, 1, 0)
@v2_0_0 = Gitlab::VersionInfo.new(2, 0, 0)
end
context '>' do
2015-04-26 12:48:37 +05:30
it { expect(@v2_0_0).to be > @v1_1_0 }
it { expect(@v1_1_0).to be > @v1_0_1 }
it { expect(@v1_0_1).to be > @v1_0_0 }
it { expect(@v1_0_0).to be > @v0_1_0 }
it { expect(@v0_1_0).to be > @v0_0_1 }
2014-09-02 18:07:02 +05:30
end
context '>=' do
2015-04-26 12:48:37 +05:30
it { expect(@v2_0_0).to be >= Gitlab::VersionInfo.new(2, 0, 0) }
it { expect(@v2_0_0).to be >= @v1_1_0 }
2014-09-02 18:07:02 +05:30
end
context '<' do
2015-04-26 12:48:37 +05:30
it { expect(@v0_0_1).to be < @v0_1_0 }
it { expect(@v0_1_0).to be < @v1_0_0 }
it { expect(@v1_0_0).to be < @v1_0_1 }
it { expect(@v1_0_1).to be < @v1_1_0 }
it { expect(@v1_1_0).to be < @v2_0_0 }
2014-09-02 18:07:02 +05:30
end
context '<=' do
2015-04-26 12:48:37 +05:30
it { expect(@v0_0_1).to be <= Gitlab::VersionInfo.new(0, 0, 1) }
it { expect(@v0_0_1).to be <= @v0_1_0 }
2014-09-02 18:07:02 +05:30
end
context '==' do
2015-04-26 12:48:37 +05:30
it { expect(@v0_0_1).to eq(Gitlab::VersionInfo.new(0, 0, 1)) }
it { expect(@v0_1_0).to eq(Gitlab::VersionInfo.new(0, 1, 0)) }
it { expect(@v1_0_0).to eq(Gitlab::VersionInfo.new(1, 0, 0)) }
2014-09-02 18:07:02 +05:30
end
context '!=' do
2015-04-26 12:48:37 +05:30
it { expect(@v0_0_1).not_to eq(@v0_1_0) }
2014-09-02 18:07:02 +05:30
end
context 'unknown' do
2015-04-26 12:48:37 +05:30
it { expect(@unknown).not_to be @v0_0_1 }
it { expect(@unknown).not_to be Gitlab::VersionInfo.new }
2018-03-17 18:26:18 +05:30
it { expect {@unknown > @v0_0_1}.to raise_error(ArgumentError) }
it { expect {@unknown < @v0_0_1}.to raise_error(ArgumentError) }
2014-09-02 18:07:02 +05:30
end
context 'parse' do
2015-04-26 12:48:37 +05:30
it { expect(Gitlab::VersionInfo.parse("1.0.0")).to eq(@v1_0_0) }
it { expect(Gitlab::VersionInfo.parse("1.0.0.1")).to eq(@v1_0_0) }
2018-12-05 23:21:45 +05:30
it { expect(Gitlab::VersionInfo.parse("1.0.0-ee")).to eq(@v1_0_0) }
it { expect(Gitlab::VersionInfo.parse("1.0.0-rc1")).to eq(@v1_0_0) }
it { expect(Gitlab::VersionInfo.parse("1.0.0-rc1-ee")).to eq(@v1_0_0) }
2015-04-26 12:48:37 +05:30
it { expect(Gitlab::VersionInfo.parse("git 1.0.0b1")).to eq(@v1_0_0) }
it { expect(Gitlab::VersionInfo.parse("git 1.0b1")).not_to be_valid }
2014-09-02 18:07:02 +05:30
end
context 'to_s' do
2015-04-26 12:48:37 +05:30
it { expect(@v1_0_0.to_s).to eq("1.0.0") }
it { expect(@unknown.to_s).to eq("Unknown") }
2014-09-02 18:07:02 +05:30
end
end