vim-flavor 2.1.1 → 2.2.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/features/caching/basics.feature +1 -1
- data/features/news.md +13 -0
- data/features/step_definitions/directory_steps.rb +3 -1
- data/features/step_definitions/flavor_steps.rb +1 -1
- data/features/testing_vim_plugins/dependencies.feature +52 -2
- data/features/testing_vim_plugins/failures.feature +0 -2
- data/features/testing_vim_plugins/specifying_test_scripts.feature +2 -5
- data/features/testing_vim_plugins/typical_usage.feature +2 -5
- data/lib/vim-flavor/cli.rb +5 -2
- data/lib/vim-flavor/facade.rb +12 -22
- data/lib/vim-flavor/version.rb +1 -1
- data/spec/plainversion_spec.rb +6 -6
- data/spec/version_spec.rb +7 -7
- data/vim-flavor.gemspec +5 -5
- metadata +12 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 73cbe32362402bf8daa1f6951a8048e11dacf480
|
4
|
+
data.tar.gz: 14b6eee41cb928926aba70453825a08862471b67
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2f3b0ddc0fad3d8efcbddbced648050759c0b1fbb9ab8d0bf44ce7851da32b8df91a28611f829faca401f607710f2c45e66b4abc674f22c4e5b6f61f376b65fa
|
7
|
+
data.tar.gz: 95d6f8c557062bb1403affe71deb2bd187a0f29a1ffc7c329d40287ab2d2470360977072d2c341a3d42ed79047c8de13017a0113a85e3248b36398ddaadadf70
|
@@ -13,7 +13,7 @@ Feature: Basics
|
|
13
13
|
And I disable network to the original repository of "foo"
|
14
14
|
|
15
15
|
Scenario: Install plugins - locked and compatible with new flavorfile
|
16
|
-
Given I
|
16
|
+
Given I delete the directory "home/.vim"
|
17
17
|
When I run `vim-flavor install`
|
18
18
|
Then it should pass
|
19
19
|
And a lockfile is created with:
|
data/features/news.md
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
## vim-flavor 2.2.0
|
2
|
+
|
3
|
+
### Enhancements
|
4
|
+
|
5
|
+
* `test` runs `*.vim` and `*.t` in a single step, to get a simplified result.
|
6
|
+
* `test` uses [vim-vspec](https://github.com/kana/vim-vspec) 1.5 or later by
|
7
|
+
default.
|
8
|
+
* `test` supports `--update-dependencies` to update dependencies before running
|
9
|
+
tests.
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
|
1
14
|
## vim-flavor 2.1.1
|
2
15
|
|
3
16
|
### Enhancements
|
@@ -1,6 +1,8 @@
|
|
1
|
-
When /^I
|
1
|
+
When /^I delete the directory "([^"]*)"$/ do |dir_name|
|
2
2
|
in_current_dir do
|
3
3
|
# FileUtils#rmdir cannot delete non-empty directories.
|
4
|
+
# TODO: Use aruba's "I remove the directory" step.
|
5
|
+
# Currently its implementation cannot delete git repositories.
|
4
6
|
FileUtils.rm_r(dir_name)
|
5
7
|
end
|
6
8
|
end
|
@@ -43,8 +43,6 @@ Feature: Dependencies
|
|
43
43
|
kana/vim-vspec 1\.\d+(\.\d+)? ... done
|
44
44
|
Completed.
|
45
45
|
-------- Testing a Vim plugin
|
46
|
-
Files=0, Tests=0, \d+ wallclock secs .*
|
47
|
-
Result: NOTESTS
|
48
46
|
t/basics.vim .. ok
|
49
47
|
All tests successful.
|
50
48
|
Files=1, Tests=1, \d+ wallclock secs .*
|
@@ -57,3 +55,55 @@ Feature: Dependencies
|
|
57
55
|
"""
|
58
56
|
And a dependency "kana/vim-vspec" is stored in ".vim-flavor/deps"
|
59
57
|
And a dependency "kana/vim-textobj-user" is stored in ".vim-flavor/deps"
|
58
|
+
|
59
|
+
Scenario: Update dependencies for testing
|
60
|
+
Given a flavorfile with:
|
61
|
+
"""ruby
|
62
|
+
flavor 'kana/vim-textobj-user', '~> 0.3.0'
|
63
|
+
"""
|
64
|
+
And a lockfile with:
|
65
|
+
"""ruby
|
66
|
+
kana/vim-textobj-user (0.3.5)
|
67
|
+
"""
|
68
|
+
And a directory named "t"
|
69
|
+
And I run `vim-flavor test`
|
70
|
+
And it should pass with regexp:
|
71
|
+
"""
|
72
|
+
-------- Preparing dependencies
|
73
|
+
Checking versions...
|
74
|
+
Use kana/vim-textobj-user ... 0\.3\.5
|
75
|
+
Use kana/vim-vspec ... 1\.\d+(\.\d+)?
|
76
|
+
Deploying plugins...
|
77
|
+
kana/vim-textobj-user 0\.3\.5 ... done
|
78
|
+
kana/vim-vspec 1\.\d+(\.\d+)? ... done
|
79
|
+
Completed.
|
80
|
+
-------- Testing a Vim plugin
|
81
|
+
Files=0, Tests=0, \d+ wallclock secs .*
|
82
|
+
Result: NOTESTS
|
83
|
+
"""
|
84
|
+
And a lockfile is updated and matches with:
|
85
|
+
"""
|
86
|
+
kana/vim-textobj-user \(0\.3\.5\)
|
87
|
+
kana/vim-vspec \(1\.\d+(\.\d+)?\)
|
88
|
+
"""
|
89
|
+
When I run `vim-flavor test --update-dependencies`
|
90
|
+
Then it should pass with regexp:
|
91
|
+
"""
|
92
|
+
.*
|
93
|
+
-------- Preparing dependencies
|
94
|
+
Checking versions...
|
95
|
+
Use kana/vim-textobj-user ... 0\.3\.13
|
96
|
+
Use kana/vim-vspec ... 1\.\d+(\.\d+)?
|
97
|
+
Deploying plugins...
|
98
|
+
kana/vim-textobj-user 0\.3\.13 ... done
|
99
|
+
kana/vim-vspec 1\.\d+(\.\d+)? ... skipped \(already deployed\)
|
100
|
+
Completed.
|
101
|
+
-------- Testing a Vim plugin
|
102
|
+
Files=0, Tests=0, \d+ wallclock secs .*
|
103
|
+
Result: NOTESTS
|
104
|
+
"""
|
105
|
+
And a lockfile is updated and matches with:
|
106
|
+
"""
|
107
|
+
kana/vim-textobj-user \(0\.3\.13\)
|
108
|
+
kana/vim-vspec \(1\.\d+(\.\d+)?\)
|
109
|
+
"""
|
@@ -42,13 +42,10 @@ Feature: Specifying test scripts
|
|
42
42
|
kana/vim-vspec 1\.\d+(\.\d+)? ... done
|
43
43
|
Completed.
|
44
44
|
-------- Testing a Vim plugin
|
45
|
-
spec/sh.t .. ok
|
46
|
-
All tests successful.
|
47
|
-
Files=1, Tests=1, \d+ wallclock secs .*
|
48
|
-
Result: PASS
|
49
45
|
spec/basics.vim .. ok
|
46
|
+
spec/sh.t ........ ok
|
50
47
|
All tests successful.
|
51
|
-
Files=
|
48
|
+
Files=2, Tests=2, \d+ wallclock secs .*
|
52
49
|
Result: PASS
|
53
50
|
"""
|
54
51
|
And a lockfile is created and matches with:
|
@@ -43,13 +43,10 @@ Feature: Typical usage
|
|
43
43
|
kana/vim-vspec 1\.\d+(\.\d+)? ... done
|
44
44
|
Completed.
|
45
45
|
-------- Testing a Vim plugin
|
46
|
-
t/sh.t .. ok
|
47
|
-
All tests successful.
|
48
|
-
Files=1, Tests=1, \d+ wallclock secs .*
|
49
|
-
Result: PASS
|
50
46
|
t/basics.vim .. ok
|
47
|
+
t/sh.t ........ ok
|
51
48
|
All tests successful.
|
52
|
-
Files=
|
49
|
+
Files=2, Tests=2, \d+ wallclock secs .*
|
53
50
|
Result: PASS
|
54
51
|
"""
|
55
52
|
And a lockfile is created and matches with:
|
data/lib/vim-flavor/cli.rb
CHANGED
@@ -35,9 +35,12 @@ module Vim
|
|
35
35
|
end
|
36
36
|
|
37
37
|
desc 'test [FILES or DIRS]',
|
38
|
-
'
|
38
|
+
'Run tests on a Vim plugin in the current working directory.'
|
39
|
+
method_option :update_dependencies,
|
40
|
+
:desc => 'Update dependencies for testing',
|
41
|
+
:type => :boolean
|
39
42
|
def test(*files_or_dirs)
|
40
|
-
Facade.new().test(files_or_dirs)
|
43
|
+
Facade.new().test(files_or_dirs, options)
|
41
44
|
end
|
42
45
|
|
43
46
|
desc 'version', 'Show the current version.'
|
data/lib/vim-flavor/facade.rb
CHANGED
@@ -17,16 +17,16 @@ module Vim
|
|
17
17
|
install_or_update(:update, vimfiles_path)
|
18
18
|
end
|
19
19
|
|
20
|
-
def test(files_or_dirs)
|
20
|
+
def test(files_or_dirs, options)
|
21
21
|
trace "-------- Preparing dependencies\n"
|
22
22
|
|
23
23
|
flavorfile = FlavorFile.load_or_new(Dir.getwd().to_flavorfile_path)
|
24
|
-
flavorfile.flavor 'kana/vim-vspec', '~> 1.
|
24
|
+
flavorfile.flavor 'kana/vim-vspec', '~> 1.5', :group => :development unless
|
25
25
|
flavorfile.flavor_table.has_key?('kana/vim-vspec')
|
26
26
|
lockfile = LockFile.load_or_new(Dir.getwd().to_lockfile_path)
|
27
27
|
|
28
28
|
refresh_flavors(
|
29
|
-
:install,
|
29
|
+
options[:update_dependencies] ? :update : :install,
|
30
30
|
flavorfile,
|
31
31
|
lockfile,
|
32
32
|
[:runtime, :development],
|
@@ -35,28 +35,18 @@ module Vim
|
|
35
35
|
|
36
36
|
trace "-------- Testing a Vim plugin\n"
|
37
37
|
|
38
|
-
|
39
|
-
deps_path =
|
40
|
-
|
38
|
+
this_path = Dir.getwd()
|
39
|
+
deps_path = this_path.to_stash_path.to_deps_path
|
40
|
+
runner = "#{deps_path}/#{'kana/vim-vspec'.zap}/bin/prove-vspec"
|
41
41
|
plugin_paths = lockfile.flavors.map {|f|
|
42
42
|
"#{deps_path}/#{f.repo_name.zap}"
|
43
43
|
}
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
commands <<
|
51
|
-
%Q{ prove --ext '.t' #{prove_options} \
|
52
|
-
#{(dirs + t_files).shelljoin} } if files_or_dirs.none? or
|
53
|
-
dirs.any? or t_files.any?
|
54
|
-
commands <<
|
55
|
-
%Q{ prove --ext '.vim' #{prove_options} \
|
56
|
-
--exec '#{vspec} #{Dir.getwd()} #{plugin_paths.join(' ')}' \
|
57
|
-
#{(dirs + vim_files).shelljoin} } if files_or_dirs.none? or
|
58
|
-
dirs.any? or vim_files.any?
|
59
|
-
succeeded = system(commands.join('&&'))
|
44
|
+
runtime_paths = ([this_path] + plugin_paths).flat_map {|p| ['-d', p]}
|
45
|
+
command =
|
46
|
+
%Q{ '#{runner}' \
|
47
|
+
#{runtime_paths.flat_map {|p| ['-d', p]}.shelljoin} \
|
48
|
+
#{files_or_dirs.shelljoin} }
|
49
|
+
succeeded = system(command)
|
60
50
|
exit(1) unless succeeded
|
61
51
|
end
|
62
52
|
|
data/lib/vim-flavor/version.rb
CHANGED
data/spec/plainversion_spec.rb
CHANGED
@@ -25,15 +25,15 @@ module Vim
|
|
25
25
|
|
26
26
|
describe '::correct?' do
|
27
27
|
it 'accept "X.Y.Z" style tags' do
|
28
|
-
expect(v.correct?('1')).to
|
29
|
-
expect(v.correct?('1.2')).to
|
30
|
-
expect(v.correct?('1.2.3')).to
|
28
|
+
expect(v.correct?('1')).to be_truthy
|
29
|
+
expect(v.correct?('1.2')).to be_truthy
|
30
|
+
expect(v.correct?('1.2.3')).to be_truthy
|
31
31
|
end
|
32
32
|
|
33
33
|
it 'accept "vX.Y.Z" style tags' do
|
34
|
-
expect(v.correct?('v1')).to
|
35
|
-
expect(v.correct?('v1.2')).to
|
36
|
-
expect(v.correct?('v1.2.3')).to
|
34
|
+
expect(v.correct?('v1')).to be_truthy
|
35
|
+
expect(v.correct?('v1.2')).to be_truthy
|
36
|
+
expect(v.correct?('v1.2.3')).to be_truthy
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
data/spec/version_spec.rb
CHANGED
@@ -34,13 +34,13 @@ module Vim
|
|
34
34
|
|
35
35
|
describe '::correct?' do
|
36
36
|
it 'is an alias of PlainVersion::correct?' do
|
37
|
-
expect(v.correct?('1')).to
|
38
|
-
expect(v.correct?('1.2')).to
|
39
|
-
expect(v.correct?('1.2.3')).to
|
40
|
-
expect(v.correct?('v1')).to
|
41
|
-
expect(v.correct?('v1.2')).to
|
42
|
-
expect(v.correct?('v1.2.3')).to
|
43
|
-
expect(v.correct?('vim7.4')).to
|
37
|
+
expect(v.correct?('1')).to be_truthy
|
38
|
+
expect(v.correct?('1.2')).to be_truthy
|
39
|
+
expect(v.correct?('1.2.3')).to be_truthy
|
40
|
+
expect(v.correct?('v1')).to be_truthy
|
41
|
+
expect(v.correct?('v1.2')).to be_truthy
|
42
|
+
expect(v.correct?('v1.2.3')).to be_truthy
|
43
|
+
expect(v.correct?('vim7.4')).to be_falsey
|
44
44
|
end
|
45
45
|
end
|
46
46
|
end
|
data/vim-flavor.gemspec
CHANGED
@@ -18,11 +18,11 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ['lib']
|
20
20
|
|
21
|
-
spec.add_dependency('parslet', '~> 1.
|
22
|
-
spec.add_dependency('thor', '~> 0.
|
21
|
+
spec.add_dependency('parslet', '~> 1.7')
|
22
|
+
spec.add_dependency('thor', '~> 0.19')
|
23
23
|
|
24
|
-
spec.add_development_dependency('aruba', '~> 0.
|
25
|
-
spec.add_development_dependency('cucumber', '~> 1.
|
24
|
+
spec.add_development_dependency('aruba', '~> 0.6')
|
25
|
+
spec.add_development_dependency('cucumber', '~> 1.3')
|
26
26
|
spec.add_development_dependency('pry')
|
27
|
-
spec.add_development_dependency('rspec', '~> 2.
|
27
|
+
spec.add_development_dependency('rspec', '~> 2.99')
|
28
28
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vim-flavor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kana Natsuno
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-04-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parslet
|
@@ -16,56 +16,56 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
19
|
+
version: '1.7'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '1.
|
26
|
+
version: '1.7'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: thor
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0.
|
33
|
+
version: '0.19'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0.
|
40
|
+
version: '0.19'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: aruba
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0.
|
47
|
+
version: '0.6'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0.
|
54
|
+
version: '0.6'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: cucumber
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '1.
|
61
|
+
version: '1.3'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '1.
|
68
|
+
version: '1.3'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: pry
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '2.
|
89
|
+
version: '2.99'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '2.
|
96
|
+
version: '2.99'
|
97
97
|
description: A tool to manage your favorite Vim plugins
|
98
98
|
email:
|
99
99
|
- dev@whileimautomaton.net
|