vim-flavor 1.1.5 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +1 -1
- data/features/.nav +6 -0
- data/features/branches/README.md +12 -0
- data/features/branches/changing_tracking_branches.feature +78 -0
- data/features/branches/detect_incompatible_declarations.feature +72 -0
- data/features/branches/install.feature +51 -0
- data/features/branches/upgrade.feature +30 -0
- data/features/install_vim_flavor.md +1 -1
- data/features/news.md +10 -0
- data/features/philosophy.md +22 -1
- data/features/resolve_dependencies/basics.feature +0 -32
- data/features/step_definitions/flavor_steps.rb +10 -0
- data/features/support/env.rb +7 -1
- data/features/version_lock.feature +1 -20
- data/features/version_tag_format.feature +44 -8
- data/lib/vim-flavor.rb +2 -0
- data/lib/vim-flavor/branchversion.rb +28 -0
- data/lib/vim-flavor/facade.rb +7 -3
- data/lib/vim-flavor/flavor.rb +20 -5
- data/lib/vim-flavor/flavorfile.rb +13 -12
- data/lib/vim-flavor/lockfileparser.rb +18 -4
- data/lib/vim-flavor/plainversion.rb +28 -0
- data/lib/vim-flavor/version.rb +10 -17
- data/lib/vim-flavor/versionconstraint.rb +23 -7
- data/spec/branchversion_spec.rb +50 -0
- data/spec/enumerableextension_spec.rb +4 -4
- data/spec/facade_spec.rb +2 -2
- data/spec/flavor_spec.rb +9 -8
- data/spec/flavorfile_spec.rb +44 -25
- data/spec/lockfile_spec.rb +58 -23
- data/spec/plainversion_spec.rb +75 -0
- data/spec/spec_helper.rb +10 -0
- data/spec/stringextension_spec.rb +4 -3
- data/spec/version_spec.rb +33 -51
- data/spec/versionconstraint_spec.rb +81 -26
- data/vim-flavor.gemspec +1 -0
- metadata +35 -3
@@ -12,7 +12,7 @@ module Vim
|
|
12
12
|
xs << "each #{n}"
|
13
13
|
end
|
14
14
|
|
15
|
-
xs.
|
15
|
+
expect(xs).to be == [
|
16
16
|
"before_each 1",
|
17
17
|
"each 1",
|
18
18
|
"before_each 2",
|
@@ -32,7 +32,7 @@ module Vim
|
|
32
32
|
xs << "each #{n}"
|
33
33
|
end
|
34
34
|
|
35
|
-
xs.
|
35
|
+
expect(xs).to be == [
|
36
36
|
"each 1",
|
37
37
|
"after_each 1",
|
38
38
|
"each 2",
|
@@ -57,7 +57,7 @@ module Vim
|
|
57
57
|
end
|
58
58
|
}.to raise_error(RuntimeError, 'bang! 3')
|
59
59
|
|
60
|
-
xs.
|
60
|
+
expect(xs).to be == [
|
61
61
|
"each enter 1",
|
62
62
|
"each leave 1",
|
63
63
|
"each enter 2",
|
@@ -86,7 +86,7 @@ module Vim
|
|
86
86
|
end
|
87
87
|
}.to raise_error(RuntimeError, 'bang!')
|
88
88
|
|
89
|
-
xs.
|
89
|
+
expect(xs).to be == [
|
90
90
|
"each enter 1",
|
91
91
|
"each leave 1",
|
92
92
|
"each enter 2",
|
data/spec/facade_spec.rb
CHANGED
@@ -17,7 +17,7 @@ module Vim
|
|
17
17
|
flavors_path = @tmp_path.to_vimfiles_path.to_flavors_path
|
18
18
|
Facade.new().create_vim_script_for_bootstrap(flavors_path)
|
19
19
|
|
20
|
-
File.
|
20
|
+
expect(File).to exist(flavors_path.to_bootstrap_path)
|
21
21
|
|
22
22
|
_rtp = %x{
|
23
23
|
for plugin_name in 'foo' 'bar' 'baz'
|
@@ -40,7 +40,7 @@ module Vim
|
|
40
40
|
_rtp.
|
41
41
|
split(/[\r\n]/).
|
42
42
|
select {|p| p != ''}
|
43
|
-
rtps.
|
43
|
+
expect(rtps).to be == [
|
44
44
|
'!',
|
45
45
|
'!/flavors/bar',
|
46
46
|
'!/flavors/baz',
|
data/spec/flavor_spec.rb
CHANGED
@@ -6,7 +6,8 @@ module Vim
|
|
6
6
|
describe '#versions_from_tags' do
|
7
7
|
def example tags, versions
|
8
8
|
f = Flavor.new()
|
9
|
-
f.versions_from_tags(tags).sort.map(&:version).
|
9
|
+
expect(f.versions_from_tags(tags).sort.map(&:version)).to be ==
|
10
|
+
versions
|
10
11
|
end
|
11
12
|
|
12
13
|
it 'converts tags into versions' do
|
@@ -34,15 +35,15 @@ module Vim
|
|
34
35
|
Version.create(s)
|
35
36
|
end
|
36
37
|
|
37
|
-
it {
|
38
|
+
it {is_expected.to be_satisfied_with version('1.2.3')}
|
38
39
|
|
39
|
-
it {
|
40
|
-
it {
|
41
|
-
it {
|
40
|
+
it {is_expected.to be_satisfied_with version('1.2.4')}
|
41
|
+
it {is_expected.to be_satisfied_with version('1.3.3')}
|
42
|
+
it {is_expected.to be_satisfied_with version('2.2.3')}
|
42
43
|
|
43
|
-
it {
|
44
|
-
it {
|
45
|
-
it {
|
44
|
+
it {is_expected.not_to be_satisfied_with version('0.2.3')}
|
45
|
+
it {is_expected.not_to be_satisfied_with version('1.1.3')}
|
46
|
+
it {is_expected.not_to be_satisfied_with version('1.2.2')}
|
46
47
|
end
|
47
48
|
end
|
48
49
|
end
|
data/spec/flavorfile_spec.rb
CHANGED
@@ -3,48 +3,52 @@ require 'spec_helper'
|
|
3
3
|
module Vim
|
4
4
|
module Flavor
|
5
5
|
describe FlavorFile do
|
6
|
+
def constraint(*args)
|
7
|
+
VersionConstraint.new(*args)
|
8
|
+
end
|
9
|
+
|
6
10
|
describe '#flavor' do
|
7
11
|
let(:ff) {FlavorFile.new()}
|
8
12
|
|
9
|
-
context '
|
13
|
+
context 'with basic usage' do
|
10
14
|
it 'registers a flavor' do
|
11
15
|
ff.flavor 'kana/vim-altr', '>= 1.2.3'
|
12
16
|
f = ff.flavor_table['kana/vim-altr']
|
13
|
-
f.repo_name.
|
14
|
-
f.version_constraint.
|
17
|
+
expect(f.repo_name).to be == 'kana/vim-altr'
|
18
|
+
expect(f.version_constraint).to be == constraint('>= 1.2.3')
|
15
19
|
end
|
16
20
|
|
17
|
-
it 'completes version constraint if it is not given' do
|
21
|
+
it 'completes a version constraint if it is not given' do
|
18
22
|
ff.flavor 'kana/vim-altr'
|
19
23
|
f = ff.flavor_table['kana/vim-altr']
|
20
|
-
f.repo_name.
|
21
|
-
f.version_constraint.
|
24
|
+
expect(f.repo_name).to be == 'kana/vim-altr'
|
25
|
+
expect(f.version_constraint).to be == constraint('>= 0')
|
22
26
|
end
|
23
27
|
end
|
24
28
|
|
25
|
-
context 'group option' do
|
29
|
+
context 'with a group option' do
|
26
30
|
it 'supports a group option with a version constraint' do
|
27
31
|
ff.flavor 'kana/vim-vspec', '~> 1.0', :group => :development
|
28
32
|
f = ff.flavor_table['kana/vim-vspec']
|
29
|
-
f.version_constraint.
|
30
|
-
f.group.
|
33
|
+
expect(f.version_constraint).to be == constraint('~> 1.0')
|
34
|
+
expect(f.group).to be == :development
|
31
35
|
end
|
32
36
|
|
33
37
|
it 'supports a group option without version constraint' do
|
34
38
|
ff.flavor 'kana/vim-vspec', :group => :development
|
35
39
|
f = ff.flavor_table['kana/vim-vspec']
|
36
|
-
f.version_constraint.
|
37
|
-
f.group.
|
40
|
+
expect(f.version_constraint).to be == constraint('>= 0')
|
41
|
+
expect(f.group).to be == :development
|
38
42
|
end
|
39
43
|
|
40
44
|
it 'uses :default as the default group' do
|
41
45
|
ff.flavor 'kana/vim-vspec'
|
42
46
|
f = ff.flavor_table['kana/vim-vspec']
|
43
|
-
f.group.
|
47
|
+
expect(f.group).to be == :runtime
|
44
48
|
end
|
45
49
|
end
|
46
50
|
|
47
|
-
context 'group block' do
|
51
|
+
context 'in a group block' do
|
48
52
|
it 'changes the default group for flavors in a given block' do
|
49
53
|
ff.flavor 'a'
|
50
54
|
ff.group :outer do
|
@@ -56,11 +60,11 @@ module Vim
|
|
56
60
|
end
|
57
61
|
ff.flavor 'e'
|
58
62
|
|
59
|
-
ff.flavor_table['a'].group.
|
60
|
-
ff.flavor_table['b'].group.
|
61
|
-
ff.flavor_table['c'].group.
|
62
|
-
ff.flavor_table['d'].group.
|
63
|
-
ff.flavor_table['e'].group.
|
63
|
+
expect(ff.flavor_table['a'].group).to be == :runtime
|
64
|
+
expect(ff.flavor_table['b'].group).to be == :outer
|
65
|
+
expect(ff.flavor_table['c'].group).to be == :inner
|
66
|
+
expect(ff.flavor_table['d'].group).to be == :outer
|
67
|
+
expect(ff.flavor_table['e'].group).to be == :runtime
|
64
68
|
end
|
65
69
|
|
66
70
|
it 'restores the default group even if an exception is raised' do
|
@@ -78,11 +82,26 @@ module Vim
|
|
78
82
|
end
|
79
83
|
ff.flavor 'e'
|
80
84
|
|
81
|
-
ff.flavor_table['a'].group.
|
82
|
-
ff.flavor_table['b'].group.
|
83
|
-
ff.flavor_table['c'].
|
84
|
-
ff.flavor_table['d'].group.
|
85
|
-
ff.flavor_table['e'].group.
|
85
|
+
expect(ff.flavor_table['a'].group).to be == :runtime
|
86
|
+
expect(ff.flavor_table['b'].group).to be == :outer
|
87
|
+
expect(ff.flavor_table['c']).to be_nil
|
88
|
+
expect(ff.flavor_table['d'].group).to be == :outer
|
89
|
+
expect(ff.flavor_table['e'].group).to be == :runtime
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
context 'with a branch option' do
|
94
|
+
it 'is supported' do
|
95
|
+
ff.flavor 'kana/vim-altr', branch: 'master'
|
96
|
+
f = ff.flavor_table['kana/vim-altr']
|
97
|
+
expect(f.repo_name).to be == 'kana/vim-altr'
|
98
|
+
expect(f.version_constraint).to be == constraint('branch: master')
|
99
|
+
end
|
100
|
+
|
101
|
+
it 'cannot be used with a version constraint' do
|
102
|
+
expect {
|
103
|
+
ff.flavor 'kana/vim-altr', '>= 0', branch: 'master'
|
104
|
+
}.to raise_error(/branch cannot be used with a version constraint/)
|
86
105
|
end
|
87
106
|
end
|
88
107
|
end
|
@@ -102,8 +121,8 @@ module Vim
|
|
102
121
|
end
|
103
122
|
ff = FlavorFile.load(flavorfile_path)
|
104
123
|
f = ff.flavor_table['kana/vim-altr']
|
105
|
-
f.repo_name.
|
106
|
-
f.version_constraint.
|
124
|
+
expect(f.repo_name).to be == 'kana/vim-altr'
|
125
|
+
expect(f.version_constraint).to be == constraint('~> 1.2')
|
107
126
|
end
|
108
127
|
end
|
109
128
|
end
|
data/spec/lockfile_spec.rb
CHANGED
@@ -14,30 +14,41 @@ module Vim
|
|
14
14
|
def flavor(repo_name, locked_version)
|
15
15
|
f = Flavor.new()
|
16
16
|
f.repo_name = repo_name
|
17
|
-
f.locked_version =
|
17
|
+
f.locked_version = v(locked_version)
|
18
18
|
f
|
19
19
|
end
|
20
20
|
|
21
|
-
def
|
21
|
+
def v(s)
|
22
22
|
Version.create(s)
|
23
23
|
end
|
24
24
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
25
|
+
describe '#flavors' do
|
26
|
+
it 'is sorted by repo_name' do
|
27
|
+
l = LockFile.new(@tmp_path.to_lockfile_path)
|
28
|
+
foo = flavor('foo', '1.2.3')
|
29
|
+
bar = flavor('bar', '2.3.4')
|
30
|
+
baz = flavor('baz', '3.4.5')
|
31
|
+
[foo, bar, baz].each do |f|
|
32
|
+
l.flavor_table[f.repo_name] = f
|
33
|
+
end
|
33
34
|
|
34
|
-
|
35
|
+
expect(l.flavors).to be == [bar, baz, foo]
|
36
|
+
end
|
35
37
|
end
|
36
38
|
|
37
39
|
describe '::serialize_lock_status' do
|
38
40
|
it 'converts a flavor into an array of lines' do
|
39
|
-
|
40
|
-
|
41
|
+
expect(
|
42
|
+
LockFile.serialize_lock_status(flavor('foo', '1.2.3'))
|
43
|
+
).to be == ['foo (1.2.3)']
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'supports a flavor locked to a branch' do
|
47
|
+
expect(
|
48
|
+
LockFile.serialize_lock_status(
|
49
|
+
flavor('foo', branch: 'master', revision: '1' * 40)
|
50
|
+
)
|
51
|
+
).to be == ["foo (#{'1' * 40} at master)"]
|
41
52
|
end
|
42
53
|
end
|
43
54
|
|
@@ -52,15 +63,39 @@ module Vim
|
|
52
63
|
end
|
53
64
|
|
54
65
|
l = LockFile.new(@tmp_path.to_lockfile_path)
|
55
|
-
l.flavor_table.
|
66
|
+
expect(l.flavor_table).to be_empty
|
67
|
+
|
68
|
+
l.load()
|
69
|
+
expect(l.flavor_table['foo'].repo_name).to be == 'foo'
|
70
|
+
expect(l.flavor_table['foo'].locked_version).to be == v('1.2.3')
|
71
|
+
expect(l.flavor_table['bar'].repo_name).to be == 'bar'
|
72
|
+
expect(l.flavor_table['bar'].locked_version).to be == v('2.3.4')
|
73
|
+
expect(l.flavor_table['baz'].repo_name).to be == 'baz'
|
74
|
+
expect(l.flavor_table['baz'].locked_version).to be == v('3.4.5')
|
75
|
+
end
|
76
|
+
|
77
|
+
it 'recognizes flavors with BranchVersion' do
|
78
|
+
File.open(@tmp_path.to_lockfile_path, 'w') do |io|
|
79
|
+
io.write(<<-"END")
|
80
|
+
foo (#{'1' * 40} at master)
|
81
|
+
bar (#{'2' * 40} at experimental)
|
82
|
+
baz (#{'3' * 40} at stable)
|
83
|
+
END
|
84
|
+
end
|
85
|
+
|
86
|
+
l = LockFile.new(@tmp_path.to_lockfile_path)
|
87
|
+
expect(l.flavor_table).to be_empty
|
56
88
|
|
57
89
|
l.load()
|
58
|
-
l.flavor_table['foo'].repo_name.
|
59
|
-
l.flavor_table['foo'].locked_version.
|
60
|
-
|
61
|
-
l.flavor_table['bar'].
|
62
|
-
l.flavor_table['
|
63
|
-
|
90
|
+
expect(l.flavor_table['foo'].repo_name).to be == 'foo'
|
91
|
+
expect(l.flavor_table['foo'].locked_version).to be ==
|
92
|
+
v(branch: 'master', revision: '1' * 40)
|
93
|
+
expect(l.flavor_table['bar'].repo_name).to be == 'bar'
|
94
|
+
expect(l.flavor_table['bar'].locked_version).to be ==
|
95
|
+
v(branch: 'experimental', revision: '2' * 40)
|
96
|
+
expect(l.flavor_table['baz'].repo_name).to be == 'baz'
|
97
|
+
expect(l.flavor_table['baz'].locked_version).to be ==
|
98
|
+
v(branch: 'stable', revision: '3' * 40)
|
64
99
|
end
|
65
100
|
end
|
66
101
|
|
@@ -73,13 +108,13 @@ module Vim
|
|
73
108
|
end
|
74
109
|
|
75
110
|
l = LockFile.load_or_new(@tmp_path.to_lockfile_path)
|
76
|
-
l.flavor_table['foo'].repo_name.
|
77
|
-
l.flavor_table['foo'].locked_version.
|
111
|
+
expect(l.flavor_table['foo'].repo_name).to be == 'foo'
|
112
|
+
expect(l.flavor_table['foo'].locked_version).to be == v('1.2.3')
|
78
113
|
end
|
79
114
|
|
80
115
|
it 'only creates a new instance if a given path does not exist' do
|
81
116
|
l = LockFile.load_or_new(@tmp_path.to_lockfile_path)
|
82
|
-
l.flavor_table.
|
117
|
+
expect(l.flavor_table).to be_empty
|
83
118
|
end
|
84
119
|
end
|
85
120
|
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Vim
|
4
|
+
module Flavor
|
5
|
+
describe PlainVersion do
|
6
|
+
v = described_class
|
7
|
+
|
8
|
+
describe '::create' do
|
9
|
+
it 'accept "X.Y.Z" style tags' do
|
10
|
+
expect {
|
11
|
+
v.create('1')
|
12
|
+
v.create('1.2')
|
13
|
+
v.create('1.2.3')
|
14
|
+
}.not_to raise_error
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'accept "vX.Y.Z" style tags' do
|
18
|
+
expect {
|
19
|
+
v.create('v1')
|
20
|
+
v.create('v1.2')
|
21
|
+
v.create('v1.2.3')
|
22
|
+
}.not_to raise_error
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
describe '::correct?' do
|
27
|
+
it 'accept "X.Y.Z" style tags' do
|
28
|
+
expect(v.correct?('1')).to be_true
|
29
|
+
expect(v.correct?('1.2')).to be_true
|
30
|
+
expect(v.correct?('1.2.3')).to be_true
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'accept "vX.Y.Z" style tags' do
|
34
|
+
expect(v.correct?('v1')).to be_true
|
35
|
+
expect(v.correct?('v1.2')).to be_true
|
36
|
+
expect(v.correct?('v1.2.3')).to be_true
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
describe '#<=>' do
|
41
|
+
it 'can comapre "X.Y.Z" tags' do
|
42
|
+
expect(v.create('1.2.3')).to be <= v.create('1.3')
|
43
|
+
expect(v.create('1.2.3')).to be == v.create('1.2.3')
|
44
|
+
expect(v.create('1.2.3')).to be >= v.create('1.1')
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'can comapre "vX.Y.Z" tags' do
|
48
|
+
expect(v.create('v1.2.3')).to be <= v.create('v1.3')
|
49
|
+
expect(v.create('v1.2.3')).to be == v.create('v1.2.3')
|
50
|
+
expect(v.create('v1.2.3')).to be >= v.create('v1.1')
|
51
|
+
end
|
52
|
+
|
53
|
+
it 'can comapre "X.Y.Z" tag with "vX.Y.Z" tag' do
|
54
|
+
expect(v.create('1.2.3')).to be <= v.create('v1.3')
|
55
|
+
expect(v.create('1.2.3')).to be == v.create('v1.2.3')
|
56
|
+
expect(v.create('1.2.3')).to be >= v.create('v1.1')
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
describe '#to_s' do
|
61
|
+
it 'is converted into the original string' do
|
62
|
+
expect(v.create('1.2.3').to_s).to be == '1.2.3'
|
63
|
+
expect(v.create('v1.2.3').to_s).to be == 'v1.2.3'
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
describe '#to_revision' do
|
68
|
+
it 'returns the revision corresponding to a version' do
|
69
|
+
expect(v.create('1.2.3').to_revision).to be == '1.2.3'
|
70
|
+
expect(v.create('v1.2.3').to_revision).to be == 'v1.2.3'
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -5,9 +5,10 @@ module Vim
|
|
5
5
|
describe StringExtension do
|
6
6
|
describe '#zap' do
|
7
7
|
it 'replace unsafe characters with "_"' do
|
8
|
-
'fakeclip'.zap.
|
9
|
-
'kana/vim-altr'.zap.
|
10
|
-
'git://example.com/foo.git'.zap.
|
8
|
+
expect('fakeclip'.zap).to be == 'fakeclip'
|
9
|
+
expect('kana/vim-altr'.zap).to be == 'kana_vim-altr'
|
10
|
+
expect('git://example.com/foo.git'.zap).to be ==
|
11
|
+
'git___example.com_foo.git'
|
11
12
|
end
|
12
13
|
end
|
13
14
|
end
|
data/spec/version_spec.rb
CHANGED
@@ -3,62 +3,44 @@ require 'spec_helper'
|
|
3
3
|
module Vim
|
4
4
|
module Flavor
|
5
5
|
describe Version do
|
6
|
-
|
7
|
-
it 'accept "X.Y.Z" style tags' do
|
8
|
-
expect {
|
9
|
-
Version.create('1')
|
10
|
-
Version.create('1.2')
|
11
|
-
Version.create('1.2.3')
|
12
|
-
}.not_to raise_error
|
13
|
-
end
|
6
|
+
v = described_class
|
14
7
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
8
|
+
describe '::create' do
|
9
|
+
context 'with a string' do
|
10
|
+
it 'makes a PlainVersion' do
|
11
|
+
expect(v.create('1.2.3')).to be_a(PlainVersion)
|
12
|
+
expect(v.create('v1.2.3')).to be_a(PlainVersion)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
context 'with a branch' do
|
17
|
+
it 'makes a BranchVersion' do
|
18
|
+
r = v.create(branch: 'master')
|
19
|
+
expect(r).to be_a(BranchVersion)
|
20
|
+
expect(r.branch).to be == 'master'
|
21
|
+
expect(r.revision).to be_nil
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
context 'with a branch and a ref' do
|
26
|
+
it 'makes a BranchVersion' do
|
27
|
+
r = v.create(branch: 'master', revision: '1' * 40)
|
28
|
+
expect(r).to be_a(BranchVersion)
|
29
|
+
expect(r.branch).to be == 'master'
|
30
|
+
expect(r.revision).to be == '1' * 40
|
31
|
+
end
|
21
32
|
end
|
22
33
|
end
|
23
34
|
|
24
35
|
describe '::correct?' do
|
25
|
-
it '
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
Version.correct?('v1.2').should be_true
|
34
|
-
Version.correct?('v1.2.3').should be_true
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
describe '#<=>' do
|
39
|
-
it 'can comapre "X.Y.Z" tags' do
|
40
|
-
Version.create('1.2.3').should be <= Version.create('1.3')
|
41
|
-
Version.create('1.2.3').should be == Version.create('1.2.3')
|
42
|
-
Version.create('1.2.3').should be >= Version.create('1.1')
|
43
|
-
end
|
44
|
-
|
45
|
-
it 'can comapre "vX.Y.Z" tags' do
|
46
|
-
Version.create('v1.2.3').should be <= Version.create('v1.3')
|
47
|
-
Version.create('v1.2.3').should be == Version.create('v1.2.3')
|
48
|
-
Version.create('v1.2.3').should be >= Version.create('v1.1')
|
49
|
-
end
|
50
|
-
|
51
|
-
it 'can comapre "X.Y.Z" tag with "vX.Y.Z" tag' do
|
52
|
-
Version.create('1.2.3').should be <= Version.create('v1.3')
|
53
|
-
Version.create('1.2.3').should be == Version.create('v1.2.3')
|
54
|
-
Version.create('1.2.3').should be >= Version.create('v1.1')
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
describe '#to_s' do
|
59
|
-
it 'is converted into the original string' do
|
60
|
-
Version.create('1.2.3').to_s.should == '1.2.3'
|
61
|
-
Version.create('v1.2.3').to_s.should == 'v1.2.3'
|
36
|
+
it 'is an alias of PlainVersion::correct?' do
|
37
|
+
expect(v.correct?('1')).to be_true
|
38
|
+
expect(v.correct?('1.2')).to be_true
|
39
|
+
expect(v.correct?('1.2.3')).to be_true
|
40
|
+
expect(v.correct?('v1')).to be_true
|
41
|
+
expect(v.correct?('v1.2')).to be_true
|
42
|
+
expect(v.correct?('v1.2.3')).to be_true
|
43
|
+
expect(v.correct?('vim7.4')).to be_false
|
62
44
|
end
|
63
45
|
end
|
64
46
|
end
|