vendorificator 0.1.1 → 0.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.
Files changed (38) hide show
  1. data/.travis.yml +5 -2
  2. data/Gemfile +0 -1
  3. data/README.md +9 -0
  4. data/Rakefile +7 -1
  5. data/features/chef_cookbook.feature +4 -6
  6. data/features/deprecated.feature +4 -4
  7. data/features/git.feature +41 -2
  8. data/features/needed.feature +8 -7
  9. data/features/smoke.feature +7 -5
  10. data/features/status.feature +15 -15
  11. data/features/step_definitions/aruba_ext.rb +11 -0
  12. data/features/step_definitions/basic.rb +16 -43
  13. data/features/step_definitions/git.rb +11 -11
  14. data/features/step_definitions/vendorificator.rb +4 -6
  15. data/features/support/aruba_ext.rb +23 -0
  16. data/features/support/env.rb +13 -20
  17. data/features/support/minigit.rb +37 -0
  18. data/features/tarball.feature +7 -7
  19. data/features/tarball_edit.feature +1 -1
  20. data/features/vendor.feature +2 -2
  21. data/lib/vendorificator/cli.rb +36 -61
  22. data/lib/vendorificator/config.rb +5 -42
  23. data/lib/vendorificator/environment.rb +111 -0
  24. data/lib/vendorificator/hooks/chef_cookbook.rb +59 -23
  25. data/lib/vendorificator/vendor/archive.rb +2 -2
  26. data/lib/vendorificator/vendor/chef_cookbook.rb +2 -2
  27. data/lib/vendorificator/vendor/download.rb +44 -0
  28. data/lib/vendorificator/vendor/git.rb +9 -11
  29. data/lib/vendorificator/vendor.rb +105 -48
  30. data/lib/vendorificator/version.rb +1 -1
  31. data/lib/vendorificator.rb +2 -0
  32. data/spec/spec_helper.rb +1 -0
  33. data/spec/vendorificator/vendor_spec.rb +15 -7
  34. data/vendorificator.gemspec +4 -4
  35. metadata +24 -21
  36. data/features/support/world_git.rb +0 -40
  37. data/features/support/world_runs.rb +0 -93
  38. data/lib/vendorificator/repo.rb +0 -69
data/.travis.yml CHANGED
@@ -4,7 +4,10 @@ rvm:
4
4
  - 1.8.7
5
5
  - 1.9.2
6
6
  - 1.9.3
7
- # - jruby-18mode # JRuby in 1.8 mode
8
- # - jruby-19mode # JRuby in 1.9 mode
7
+ - 2.0.0
8
+ - ree
9
+ - jruby-18mode
10
+ - jruby-19mode
11
+ - jruby-head
9
12
  - rbx-18mode
10
13
  - rbx-19mode
data/Gemfile CHANGED
@@ -4,7 +4,6 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  group :development do
7
- gem "ZenTest", "4.8.3"
8
7
  git "git://github.com/mpasternacki/wrong.git",
9
8
  :ref => 'ad025241e5772373264d1bf62168e2bf3780ccf9' do
10
9
  gem 'wrong'
data/README.md CHANGED
@@ -129,6 +129,15 @@ vendor 'generated', :version => '0.23' do |mod|
129
129
  end
130
130
  ```
131
131
 
132
+ #### download
133
+
134
+ Downloads a single file:
135
+
136
+ ```ruby
137
+ download 'socks.el', :url => 'http://cvs.savannah.gnu.org/viewvc/*checkout*/w3/lisp/socks.el?root=w3&revision=HEAD'
138
+ download 'http://mumble.net/~campbell/emacs/paredit.el'
139
+ ```
140
+
132
141
  #### archive
133
142
 
134
143
  Archive takes a tar.gz, tar.bz2, or zip file, downloads it, and
data/Rakefile CHANGED
@@ -18,7 +18,9 @@ begin
18
18
  require 'cucumber/rake/task'
19
19
 
20
20
  desc 'Run Cucumber features'
21
- Cucumber::Rake::Task.new(:features)
21
+ Cucumber::Rake::Task.new(:features) do |t|
22
+ t.fork = false
23
+ end
22
24
  rescue LoadError
23
25
  desc 'Cucumber rake task not available'
24
26
  task :features do
@@ -32,4 +34,8 @@ Rake::TestTask.new :spec do |task|
32
34
  task.test_files = FileList['spec/**/*_spec.rb']
33
35
  end
34
36
 
37
+ # https://github.com/jruby/jruby/issues/405
38
+ mkdir_p 'tmp'
39
+ ENV['TMPDIR'] ||= File.join(Dir.pwd, 'tmp')
40
+
35
41
  task :default => [:spec, :features]
@@ -1,13 +1,11 @@
1
1
  Feature: Chef cookbooks from Opscode Community website
2
2
 
3
3
  Scenario: A single cookbook, without dependencies
4
-
5
- Scenario: Version & checksum
6
4
  Given a repository with following Vendorfile:
7
5
  """ruby
8
6
  chef_cookbook 'apt'
9
7
  """
10
- When I run "vendor sync"
8
+ When I successfully run `vendor sync`
11
9
  Then following has been conjured:
12
10
  | Name | cookbooks/apt |
13
11
  | With file | metadata.rb |
@@ -17,7 +15,7 @@ Scenario: Dependency hook
17
15
  """ruby
18
16
  chef_cookbook 'memcached'
19
17
  """
20
- When I run "vendor sync"
18
+ When I successfully run `vendor sync`
21
19
  Then following has been conjured:
22
20
  | Name | cookbooks/memcached | cookbooks/runit |
23
21
  | With file | metadata.rb | metadata.rb |
@@ -28,7 +26,7 @@ Scenario: Ignored dependency
28
26
  chef_cookbook_ignore_dependencies ['runit']
29
27
  chef_cookbook 'memcached'
30
28
  """
31
- When I run "vendor sync"
29
+ When I successfully run `vendor sync`
32
30
  Then following has been conjured:
33
31
  | Name | cookbooks/memcached |
34
32
  | With file | metadata.rb |
@@ -42,7 +40,7 @@ Scenario: Ignored all dependencies
42
40
  chef_cookbook_ignore_dependencies true
43
41
  chef_cookbook 'chef-server'
44
42
  """
45
- When I run "vendor sync"
43
+ When I successfully run `vendor sync`
46
44
  Then following has been conjured:
47
45
  | Name | cookbooks/chef-server |
48
46
  | With file | metadata.rb |
@@ -9,9 +9,9 @@ Background:
9
9
  """
10
10
 
11
11
  Scenario: `vendorify` command prints a deprecation warning
12
- When I run "vendorify"
13
- Then command output includes "DEPRECATED: `vendorify` command is deprecated, run `vendor` instead"
12
+ When I successfully run `vendorify`
13
+ Then the output should contain "DEPRECATED"
14
14
 
15
15
  Scenario: `vendor` command doesn't print a deprecation warning
16
- When I run "vendor"
17
- Then command output does not include "DEPRECATED: `vendorify` command is deprecated, run `vendor` instead"
16
+ When I successfully run `vendor`
17
+ Then the output should not contain "DEPRECATED"
data/features/git.feature CHANGED
@@ -1,12 +1,51 @@
1
1
  Feature: Git-based vendor module
2
2
 
3
- Scenario:
3
+ Scenario: Vendorificating a git repo
4
4
  Given a repository with following Vendorfile:
5
5
  """ruby
6
6
  git "file://#{ENV['FIXTURES_DIR']}/git/testrepo"
7
7
  """
8
- When I run "vendor sync"
8
+ When I successfully run `vendor sync`
9
9
  Then following has been conjured:
10
10
  | Name | testrepo |
11
11
  | Version | 10e9ac58c77bc229d8c59a5b4eb7422916453148 |
12
12
  | With file | test/alias.c |
13
+
14
+ Scenario: Vendorificating a subdirectory from a git repo
15
+ Given a repository with following Vendorfile:
16
+ """ruby
17
+ git "file://#{ENV['FIXTURES_DIR']}/git/testrepo",
18
+ :subdirectory => 'test'
19
+ """
20
+ When I successfully run `vendor sync`
21
+ Then following has been conjured:
22
+ | Name | testrepo |
23
+ | Version | 10e9ac58c77bc229d8c59a5b4eb7422916453148 |
24
+ | With file | alias.c |
25
+ | Without file | test/alias.c |
26
+
27
+ Scenario: Vendorificating a certain branch from a git repo
28
+ Given a repository with following Vendorfile:
29
+ """ruby
30
+ git "file://#{ENV['FIXTURES_DIR']}/git/testrepo",
31
+ :branch => 'topic/pink'
32
+ """
33
+ When I successfully run `vendor sync`
34
+ Then following has been conjured:
35
+ | Name | testrepo |
36
+ | Version | ecbfa229ba5f11c05b18bcc4f7c32b8f25d63f8c |
37
+ | With file | README.md |
38
+
39
+ Scenario: Vendorificating a certain revision from a git repo
40
+ Given a repository with following Vendorfile:
41
+ """ruby
42
+ git "file://#{ENV['FIXTURES_DIR']}/git/testrepo",
43
+ :revision => '6ff1be'
44
+ """
45
+ When I successfully run `vendor sync`
46
+ Then following has been conjured:
47
+ | Name | testrepo |
48
+ | Version | 6ff1be9c3819c93a2f41e0ddc09f252fcf154f34 |
49
+ | With file | alias.c |
50
+ | Without file | test/alias.c |
51
+
@@ -6,11 +6,12 @@ Scenario: already downloaded tarball
6
6
  archive :testrepo, :version => '0.1',
7
7
  :url => 'http://test-assets.3ofcoins.net.s3-website-us-east-1.amazonaws.com/testrepo-0.1.tar.gz'
8
8
  """
9
- When I run "vendor sync"
9
+ When I successfully run `vendor sync`
10
10
  Then I'm on "master" branch
11
- And command output includes /module\s+testrepo/
12
- And command output includes "testrepo-0.1.tar.gz"
13
- Then I run "vendor sync"
14
- And command output includes /module\s+testrepo/
15
- And command output includes /up to date\s+testrepo/
16
- And command output does not include "testrepo-0.1.tar.gz"
11
+ And the last output should match /module\s+testrepo/
12
+ And the last output should match "testrepo-0.1.tar.gz"
13
+
14
+ When I successfully run `vendor sync`
15
+ Then the last output should match /module\s+testrepo/
16
+ And the last output should match /up to date\s+testrepo/
17
+ And the last output should not match "testrepo-0.1.tar.gz"
@@ -4,11 +4,13 @@ Feature: smoke test of the test suite
4
4
  I want to make sure that test environment itself does not emit smoke.
5
5
 
6
6
  Scenario: The default environment
7
- Given nothing in particular
8
- When nothing happens
9
- Then the README file exists
7
+ Given a repository with following Vendorfile:
8
+ """
9
+ """
10
+ Then a file named "README" should exist
11
+ And a 0 byte file named "Vendorfile" should exist
10
12
  And git repository is clean
11
- And git history has one commit
13
+ And git history has 1 commit
12
14
  And I'm on "master" branch
13
15
  And no other branch exists
14
-
16
+
@@ -12,16 +12,16 @@ Background:
12
12
  """
13
13
 
14
14
  Scenario: status new module
15
- When I run "vendor status"
16
- Then command output includes /new\s+generated\/0.23/
15
+ When I successfully run `vendor status`
16
+ Then the last output should match /new\s+generated\/0.23/
17
17
 
18
18
  Scenario: status up-to-date module
19
- When I run "vendor sync"
20
- And I run "vendor status"
21
- Then command output includes /up to date\s+generated\/0.23/
19
+ When I successfully run `vendor sync`
20
+ And I successfully run `vendor status`
21
+ Then the last output should match /up to date\s+generated\/0.23/
22
22
 
23
23
  Scenario: status outdated modules
24
- When I run "vendor sync"
24
+ When I successfully run `vendor sync`
25
25
  And I change Vendorfile to:
26
26
  """ruby
27
27
  vendor 'generated', :version => '0.42' do |v|
@@ -29,8 +29,8 @@ Scenario: status outdated modules
29
29
  File.open('VERSION', 'w') { |f| f.puts v.version }
30
30
  end
31
31
  """
32
- And I run "vendor status"
33
- Then command output includes /outdated\s+generated\/0.42/
32
+ And I successfully run `vendor status`
33
+ Then the last output should match /outdated\s+generated\/0.42/
34
34
 
35
35
  Scenario: Module's dependencies are statused if they are known
36
36
  When I change Vendorfile to:
@@ -38,10 +38,10 @@ Scenario: Module's dependencies are statused if they are known
38
38
  require 'vendorificator/vendor/chef_cookbook'
39
39
  chef_cookbook 'memcached'
40
40
  """
41
- And I run "vendor status"
42
- Then command output includes /new\s+memcached/
43
- And command output does not include "runit"
44
- When I run "vendor sync"
45
- And I run "vendor status"
46
- Then command output includes /up to date\s+memcached/
47
- And command output includes /up to date\s+runit/
41
+ And I successfully run `vendor status`
42
+ Then the last output should match /new\s+memcached/
43
+ And the last output should not match "runit"
44
+ When I successfully run `vendor sync`
45
+ And I successfully run `vendor status`
46
+ Then the last output should match /up to date\s+memcached/
47
+ And the last output should match /up to date\s+runit/
@@ -0,0 +1,11 @@
1
+ Then /^the last output should match (#{PATTERN})$/ do |expected|
2
+ assert { last_output =~ expected }
3
+ end
4
+
5
+ Then /^the last output should not match (#{PATTERN})$/ do |expected|
6
+ deny { last_output =~ expected }
7
+ end
8
+
9
+ Then /^it should fail$/ do
10
+ deny { last_exit_status == 0 }
11
+ end
@@ -6,47 +6,20 @@ When /^nothing happens$/ do
6
6
  nil # NOP
7
7
  end
8
8
 
9
- Then /^file "(.*?)" exists$/ do |path|
10
- assert { File.exists?(path) }
11
- end
12
-
13
- Then /^file "(.*?)" does not exist$/ do |path|
14
- deny { File.exists?(path) }
15
- end
16
-
17
- Then /^the README file exists$/ do
18
- step 'file "README" exists'
19
- end
20
-
21
- Then /^file "(.*?)" reads "(.*?)"$/ do |path, text|
22
- assert { File.read(path).strip == text.strip }
23
- end
24
-
25
- Given /^a repository with following Vendorfile:$/ do |string|
26
- commit_file('Vendorfile', string)
27
- end
28
-
29
- When /^I change Vendorfile to:$/ do |string|
30
- commit_file('Vendorfile', string, "Updated Vendorfile")
31
- end
32
-
33
- When /^I try to run "(.*?)"$/ do |command_string|
34
- run command_string
35
- end
36
-
37
- When /^I run "(.*?)"$/ do |command_string|
38
- step "I try to run \"#{command_string}\""
39
- assert { command_succeeded }
40
- end
41
-
42
- Then /the command has failed/ do
43
- deny { command_succeeded(false) }
44
- end
45
-
46
- Then /^command (output|stdout|stderr) includes (#{PATTERN})$/ do |stream, pat|
47
- assert { command_output(stream) =~ pat }
48
- end
49
-
50
- Then /^command (output|stdout|stderr) does not include (#{PATTERN})$/ do |stream, pat|
51
- deny { command_output(stream) =~ pat }
9
+ Given /^a repository with following Vendorfile:$/ do |vendorfile_contents|
10
+ create_dir 'working-repository'
11
+ cd 'working-repository'
12
+ run_simple 'git init'
13
+ # Configure Git username & email to unclutter console output
14
+ run_simple 'git config user.name Cucumber'
15
+ run_simple 'git config user.email cucumber@`hostname --fqdn`'
16
+ write_file('README', 'Lorem ipsum dolor sit amet')
17
+ write_file('Vendorfile', vendorfile_contents)
18
+ run_simple 'git add .'
19
+ run_simple 'git commit -m "New repo"'
20
+ end
21
+
22
+ When /^I change Vendorfile to:$/ do |vendorfile_contents|
23
+ write_file('Vendorfile', vendorfile_contents)
24
+ run_simple 'git commit -m "Updated Vendorfile" Vendorfile'
52
25
  end
@@ -1,39 +1,39 @@
1
1
  Then /^git repository is clean$/ do
2
- assert { repo_clean? }
2
+ assert { git.status(:porcelain => true) == '' }
3
3
  end
4
4
 
5
- Then /^git history has one commit$/ do
6
- assert { git.log.count == 1 }
5
+ Then /^git history has (\d+) commit(?:s)?$/ do |ncommits|
6
+ assert { git.rev_list(:all => true).lines.count == ncommits.to_i }
7
7
  end
8
8
 
9
9
  Then /^I\'m on "(.*?)" branch$/ do |expected_branch|
10
- assert { branch == expected_branch }
10
+ assert { git.rev_parse({:abbrev_ref => true}, 'HEAD').strip == expected_branch }
11
11
  end
12
12
 
13
13
  Then /^no other branch exists$/ do
14
- assert { branches.length == 1 }
14
+ assert { git.branch.lines.count == 1 }
15
15
  end
16
16
 
17
17
  Then /^branch "(.*?)" exists$/ do |branch_name|
18
- assert { branches.include?(branch_name) }
18
+ assert { git.heads.include?(branch_name) }
19
19
  end
20
20
 
21
21
  Then /^branch "(.*?)" does not exist$/ do |branch_name|
22
- deny { branches.include?(branch_name) }
22
+ deny { git.heads.include?(branch_name) }
23
23
  end
24
24
 
25
25
  Then /^tag "(.*?)" exists$/ do |tag_name|
26
- assert { tags.include?(tag_name) }
26
+ assert { git.tags.include?(tag_name) }
27
27
  end
28
28
 
29
29
  Then /^tag "(.*?)" does not exist$/ do |tag_name|
30
- deny { tags.include?(tag_name) }
30
+ deny { git.tags.include?(tag_name) }
31
31
  end
32
32
 
33
33
  Then /^tag matching (#{PATTERN}) exists$/ do |pat|
34
- assert { tags.any?{|t| t=~pat} }
34
+ assert { git.tags.any? { |t| t =~ pat } }
35
35
  end
36
36
 
37
37
  Then /^tag matching (#{PATTERN}) does not exist$/ do |pat|
38
- deny { tags.any?{|t| t=~pat} }
38
+ deny { git.tags.any? { |t| t =~ pat } }
39
39
  end
@@ -13,15 +13,13 @@ Then /^(?:the )?following has( not)? been conjured:$/ do |not_p, table|
13
13
  end
14
14
 
15
15
  if mod['With file']
16
- mod['With file'].lines.each do |path|
17
- step "file \"vendor/#{mod['Name']}/#{path.strip}\" #{exists_p}"
18
- end
16
+ check_file_presence(mod['With file'].lines.
17
+ map { |ln| File.join('vendor', mod['Name'], ln.strip) }, !not_p)
19
18
  end
20
19
 
21
20
  if mod['Without file']
22
- mod['Without file'].lines.each do |path|
23
- step "file \"vendor/#{mod['Name']}/#{path.strip}\" does not exist"
24
- end
21
+ check_file_presence(mod['Without file'].lines.
22
+ map { |ln| File.join('vendor', mod['Name'], ln.strip) }, !!not_p)
25
23
  end
26
24
  end
27
25
  end
@@ -0,0 +1,23 @@
1
+ module Vendorificator
2
+ module TestSupport
3
+ module ArubaExt
4
+ def last_process
5
+ processes.last.last
6
+ end
7
+
8
+ def last_stdout
9
+ last_process.stdout(@aruba_keep_ansi)
10
+ end
11
+
12
+ def last_stderr
13
+ last_process.stderr(@aruba_keep_ansi)
14
+ end
15
+
16
+ def last_output
17
+ last_stdout + last_stderr
18
+ end
19
+ end
20
+ end
21
+ end
22
+
23
+ World(Vendorificator::TestSupport::ArubaExt)
@@ -2,31 +2,24 @@ require 'fileutils'
2
2
  require 'pathname'
3
3
  require 'tmpdir'
4
4
 
5
+ require 'aruba/cucumber'
5
6
  require 'wrong'
6
7
 
7
8
  World(Wrong)
8
9
 
9
- # Run each test in a temporary directory, initialized as a git repository
10
- FileUtils::mkdir_p 'tmp'
11
-
12
- Before do
13
- @orig_wd = Dir.getwd
14
- @tmp_wd = Dir.mktmpdir(nil, 'tmp')
15
- Dir.chdir(@tmp_wd)
10
+ ENV['FIXTURES_DIR'] = Pathname.new(__FILE__).
11
+ dirname.join('..', 'fixtures').realpath.to_s
16
12
 
17
- commit_file('README', 'Lorem ipsum dolor sit amet')
13
+ # https://github.com/cucumber/aruba/pull/144
14
+ After do
15
+ processes.clear
18
16
  end
19
17
 
20
- After do |scenario|
21
- Dir::chdir(@orig_wd)
22
- if ENV['DEBUG'] || scenario.failed?
23
- puts "Keeping working directory #{@tmp_wd} for debugging"
24
- else
25
- FileUtils::rm_rf(@tmp_wd)
26
- end
27
- @tmp_wd = nil
18
+ Before do
19
+ @aruba_timeout_seconds = case defined?(RUBY_ENGINE) && RUBY_ENGINE
20
+ when 'ruby', nil then 3
21
+ when 'jruby' then 20
22
+ when 'rbx' then 10
23
+ else 5
24
+ end
28
25
  end
29
-
30
- ENV['FIXTURES_DIR'] = Pathname.new(__FILE__).
31
- dirname.join('..', 'fixtures').realpath.to_s
32
-
@@ -0,0 +1,37 @@
1
+ require 'minigit'
2
+
3
+ module Vendorificator
4
+ module TestSupport
5
+ module MiniGit
6
+ module MiniGitExt
7
+ def refs(kind)
8
+ show_ref(kind => true).lines.
9
+ map { |ln| ln =~ /[0-9a-f]{40} refs\/#{kind}\// and $'.strip }.
10
+ compact
11
+ rescue ::MiniGit::GitError
12
+ []
13
+ end
14
+
15
+ def heads
16
+ refs(:heads)
17
+ end
18
+
19
+ def tags
20
+ refs(:tags)
21
+ end
22
+ end
23
+
24
+ def git
25
+ @git ||= ::MiniGit::Capturing.new(current_dir)
26
+ end
27
+ end
28
+ end
29
+ end
30
+
31
+ class MiniGit
32
+ include Vendorificator::TestSupport::MiniGit::MiniGitExt
33
+ end
34
+
35
+ MiniGit.debug = true if ENV['DEBUG']
36
+
37
+ World(Vendorificator::TestSupport::MiniGit)
@@ -5,7 +5,7 @@ Scenario: just URL as name
5
5
  """ruby
6
6
  archive 'http://test-assets.3ofcoins.net.s3-website-us-east-1.amazonaws.com/testrepo-0.1.tar.gz'
7
7
  """
8
- When I run "vendor sync"
8
+ When I successfully run `vendor sync`
9
9
  Then following has been conjured:
10
10
  | Name | testrepo-0.1 |
11
11
  | Version | testrepo-0.1.tar.gz |
@@ -17,7 +17,7 @@ Scenario: URL as keyword
17
17
  archive :testrepo,
18
18
  :url => 'http://test-assets.3ofcoins.net.s3-website-us-east-1.amazonaws.com/testrepo-0.1.tar.gz'
19
19
  """
20
- When I run "vendor sync"
20
+ When I successfully run `vendor sync`
21
21
  Then following has been conjured:
22
22
  | Name | testrepo |
23
23
  | Version | testrepo-0.1.tar.gz |
@@ -31,7 +31,7 @@ Scenario: Version & checksum
31
31
  :version => '0.1',
32
32
  :checksum => 'ea207a896f929ffb3a1dfe128332d6134a18edab7c01b97bfb2b1c7eacebe0cb'
33
33
  """
34
- When I run "vendor sync"
34
+ When I successfully run `vendor sync`
35
35
  Then following has been conjured:
36
36
  | Name | testrepo |
37
37
  | Version | 0.1 |
@@ -45,9 +45,9 @@ Scenario: Wrong checksum
45
45
  :version => '0.1',
46
46
  :checksum => 'incorrect'
47
47
  """
48
- When I try to run "vendor sync"
49
- Then the command has failed
50
- Then following has not been conjured:
48
+ When I run `vendor sync`
49
+ Then it should fail
50
+ And following has not been conjured:
51
51
  | Name | testrepo |
52
52
  | With file | test/alias.c |
53
53
 
@@ -57,7 +57,7 @@ Scenario: Tarball without a root directory
57
57
  archive :testrepo,
58
58
  :url => 'http://test-assets.3ofcoins.net.s3-website-us-east-1.amazonaws.com/testrepo-0.1-noroot.tar.gz'
59
59
  """
60
- When I run "vendor sync"
60
+ When I successfully run `vendor sync`
61
61
  Then following has been conjured:
62
62
  | Name | testrepo |
63
63
  | With file | test/alias.c |
@@ -8,7 +8,7 @@ Scenario:
8
8
  FileUtils::rm Dir['test/archive*.c']
9
9
  end
10
10
  """
11
- When I run "vendor sync"
11
+ When I successfully run `vendor sync`
12
12
  Then following has been conjured:
13
13
  | Name | testrepo |
14
14
  | With file | test/alias.c |
@@ -8,9 +8,9 @@ Scenario:
8
8
  File.open('VERSION', 'w') { |f| f.puts v.version }
9
9
  end
10
10
  """
11
- When I run "vendor sync"
11
+ When I successfully run `vendor sync`
12
12
  Then the following has been conjured:
13
13
  | Name | generated |
14
14
  | Version | 0.23 |
15
15
  | With file | README |
16
- And file "vendor/generated/VERSION" reads "0.23"
16
+ And the file "vendor/generated/VERSION" should contain "0.23"