aruba 0.1.7 → 0.1.8

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.
@@ -1,3 +1,8 @@
1
+ == 0.1.8
2
+ * Use // instead of "" for "I should see matching" step. (Aslak Hellesøy)
3
+ * Replace rvm gemset character '%' with '@' for rvm 0.1.24 (#5 Ashley Moran)
4
+ * Support gem bundler, making it easier to specify gems. (Aslak Hellesøy)
5
+
1
6
  == 0.1.7
2
7
  * New @announce-stderr tag (Robert Wahler)
3
8
  * New "I should see matching" steps using Regexp (Robert Wahler)
data/Rakefile CHANGED
@@ -5,7 +5,7 @@ require 'rake'
5
5
  begin
6
6
  require 'jeweler'
7
7
  Jeweler::Tasks.new do |gem|
8
- gem.version = "0.1.7"
8
+ gem.version = "0.1.8"
9
9
  gem.name = "aruba"
10
10
  gem.summary = %Q{CLI Steps for Cucumber}
11
11
  gem.description = %Q{CLI Steps for Cucumber, hand-crafted for you in Aruba}
@@ -13,7 +13,7 @@ begin
13
13
  gem.homepage = "http://github.com/aslakhellesoy/aruba"
14
14
  gem.authors = ["Aslak Hellesøy", "David Chelimsky"]
15
15
  gem.add_development_dependency "rspec", ">= 1.3.0"
16
- gem.add_development_dependency "cucumber", ">= 0.6.2"
16
+ gem.add_development_dependency "cucumber", ">= 0.7.0.beta.6"
17
17
  end
18
18
  Jeweler::GemcutterTasks.new
19
19
  rescue LoadError
@@ -47,7 +47,7 @@ Feature: Output
47
47
  Scenario: Detect subset of one-line output with regex
48
48
  When I run "ruby --version"
49
49
  Then I should see "ruby"
50
- And I should see matching "ruby ([\d]+\.[\d]+\.[\d]+) \(.*$"
50
+ And I should see matching /ruby ([\d]+\.[\d]+\.[\d]+)(p\d+)? \(.*$/
51
51
 
52
52
  @announce
53
53
  Scenario: Detect subset of multiline output with regex
@@ -16,18 +16,25 @@ Feature: Running ruby
16
16
  Then I should see "1.4.0"
17
17
  And I should not see "rvm usage"
18
18
 
19
- Scenario: Specify both rvm and gemset
19
+ Scenario: Install gems with bundler
20
20
  Given I am using rvm "1.9.1"
21
- And I am using rvm gemset "a-gemset-where-nothing-is-installed-except-default-rvm-gems"
21
+ And I am using rvm gemset "a-new-gemset-where-no-gems-are-installed" with Gemfile:
22
+ """
23
+ gem 'diff-lcs', '1.1.2'
24
+ """
22
25
  When I run "gem list"
23
- Then I should see:
26
+ Then I should see matching:
24
27
  """
25
-
26
- rake (0.8.7)
27
- rubygems-update (1.3.5)
28
-
28
+ bundler \(\d+\.+\d+\.+\d+\)
29
+ diff-lcs \(\d+\.+\d+\.+\d+\)
29
30
  """
30
31
 
32
+ Scenario: Specify both rvm and gemset
33
+ Given I am using rvm "1.9.1"
34
+ And I am using an empty rvm gemset "a-new-gemset-where-no-gems-are-installed"
35
+ When I run "gem list | wc -l"
36
+ Then I should see exactly " 2\n"
37
+
31
38
  Scenario: Find the version of ruby 1.9.1
32
39
  Given I am using rvm "1.9.1"
33
40
  When I run "ruby --version"
@@ -36,7 +43,7 @@ Feature: Running ruby
36
43
  Scenario: Find the version of cucumber on ruby 1.9.1
37
44
  Given I am using rvm "1.9.1"
38
45
  When I run "cucumber --version"
39
- Then I should see "0.6.2"
46
+ Then I should see matching /\d+\.+\d+\.+\d+/
40
47
 
41
48
  Scenario: Use current ruby
42
49
  When I run "ruby --version"
@@ -70,5 +77,5 @@ Feature: Running ruby
70
77
  # ~/.rvm/rubies/jruby-1.4.0/bin/jruby -S cucumber features/running_ruby.feature -n "launched Cucumber"
71
78
  @jruby
72
79
  Scenario: Don't use rvm, but default to same Ruby as the one that launched Cucumber
73
- When I run "ruby -e 'puts JRUBY_VERSION'"
80
+ When I run "ruby -e 'puts JRUBY_VERSION if defined?(JRUBY_VERSION)'"
74
81
  Then I should see the JRuby version
@@ -11,6 +11,7 @@ When /^I do aruba (.*)$/ do |aruba_step|
11
11
  end
12
12
 
13
13
  Then /^I should see the JRuby version$/ do
14
+ pending "This must be manually run in JRuby" unless defined?(JRUBY_VERSION)
14
15
  Then %{I should see "#{JRUBY_VERSION}"}
15
16
  end
16
17
 
@@ -88,11 +88,31 @@ module Api
88
88
  end
89
89
  end
90
90
 
91
- def use_rvm_gemset(rvm_gemset)
91
+ def use_rvm_gemset(rvm_gemset, empty_gemset)
92
92
  @rvm_gemset = rvm_gemset
93
+ if empty_gemset
94
+ delete_rvm_gemset(rvm_gemset)
95
+ create_rvm_gemset(rvm_gemset)
96
+ end
97
+ end
98
+
99
+ def delete_rvm_gemset(rvm_gemset)
100
+ raise "You haven't specified what ruby version rvm should use." if @rvm_ruby_version.nil?
101
+ run "rvm --force gemset delete #{@rvm_ruby_version}@#{rvm_gemset}"
102
+ end
103
+
104
+ def create_rvm_gemset(rvm_gemset)
105
+ raise "You haven't specified what ruby version rvm should use." if @rvm_ruby_version.nil?
106
+ run "rvm --create #{@rvm_ruby_version}@#{rvm_gemset}"
107
+ end
108
+
109
+ def install_gems(gemfile)
110
+ create_file("Gemfile", gemfile)
111
+ run("gem install bundler")
112
+ run("bundle install")
93
113
  end
94
114
 
95
- def run(cmd)
115
+ def run(cmd, fail_on_error=true)
96
116
  cmd = detect_ruby_script(cmd)
97
117
  cmd = detect_ruby(cmd)
98
118
 
@@ -113,6 +133,11 @@ module Api
113
133
  @last_stderr = IO.read(stderr_file.path)
114
134
 
115
135
  announce(@last_stderr) if @announce_stderr
136
+
137
+ if(@last_exit_status != 0 && fail_on_error)
138
+ fail("Exit status was #{@last_exit_status}. Output:\n#{combined_output}")
139
+ end
140
+
116
141
  @last_stderr
117
142
  end
118
143
 
@@ -136,7 +161,7 @@ module Api
136
161
 
137
162
  def current_ruby
138
163
  if @rvm_ruby_version
139
- rvm_ruby_version_with_gemset = @rvm_gemset ? "#{@rvm_ruby_version}%#{@rvm_gemset}" : @rvm_ruby_version
164
+ rvm_ruby_version_with_gemset = @rvm_gemset ? "#{@rvm_ruby_version}@#{@rvm_gemset}" : @rvm_ruby_version
140
165
  "rvm #{rvm_ruby_version_with_gemset} ruby"
141
166
  else
142
167
  File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name'])
@@ -28,8 +28,13 @@ Given /^I am using rvm "([^\"]*)"$/ do |rvm_ruby_version|
28
28
  use_rvm(rvm_ruby_version)
29
29
  end
30
30
 
31
- Given /^I am using rvm gemset "([^\"]*)"$/ do |rvm_gemset|
32
- use_rvm_gemset(rvm_gemset)
31
+ Given /^I am using( an empty)? rvm gemset "([^\"]*)"$/ do |empty_gemset, rvm_gemset|
32
+ use_rvm_gemset(rvm_gemset, empty_gemset)
33
+ end
34
+
35
+ Given /^I am using rvm gemset "([^\"]*)" with Gemfile:$/ do |rvm_gemset, gemfile|
36
+ use_rvm_gemset(rvm_gemset, true)
37
+ install_gems(gemfile)
33
38
  end
34
39
 
35
40
  Given /^a directory named "([^\"]*)"$/ do |dir_name|
@@ -53,14 +58,11 @@ When /^I cd to "([^\"]*)"$/ do |dir|
53
58
  end
54
59
 
55
60
  When /^I run "(.*)"$/ do |cmd|
56
- run(unescape(cmd))
61
+ run(unescape(cmd), false)
57
62
  end
58
63
 
59
64
  When /^I successfully run "(.*)"$/ do |cmd|
60
65
  run(unescape(cmd))
61
- if(@last_exit_status != 0)
62
- fail("Exit status was #{@last_exit_status}. Output:\n#{combined_output}")
63
- end
64
66
  end
65
67
 
66
68
  Then /^I should see "([^\"]*)"$/ do |partial_output|
@@ -91,7 +93,7 @@ end
91
93
  # you don't need regex, use "I should see" instead since
92
94
  # that way, you don't have to escape regex characters that
93
95
  # appear naturally in the output
94
- Then /^I should see matching "([^\"]*)"$/ do |partial_output|
96
+ Then /^I should see matching \/([^\/]*)\/$/ do |partial_output|
95
97
  combined_output.should =~ /#{partial_output}/
96
98
  end
97
99
 
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 7
9
- version: 0.1.7
8
+ - 8
9
+ version: 0.1.8
10
10
  platform: ruby
11
11
  authors:
12
12
  - "Aslak Helles\xC3\xB8y"
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-03-05 00:00:00 +01:00
18
+ date: 2010-04-28 00:00:00 -05:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -41,9 +41,11 @@ dependencies:
41
41
  - !ruby/object:Gem::Version
42
42
  segments:
43
43
  - 0
44
+ - 7
45
+ - 0
46
+ - beta
44
47
  - 6
45
- - 2
46
- version: 0.6.2
48
+ version: 0.7.0.beta.6
47
49
  type: :development
48
50
  version_requirements: *id002
49
51
  description: CLI Steps for Cucumber, hand-crafted for you in Aruba