aruba 0.1.4 → 0.1.5
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.
- data/History.txt +8 -0
- data/Rakefile +7 -11
- data/aruba.gemspec +6 -4
- data/config/.gitignore +1 -0
- data/features/exit_statuses.feature +7 -0
- data/features/file_system_commands.feature +22 -2
- data/features/output.feature +15 -8
- data/features/running_ruby.feature +74 -0
- data/features/step_definitions/aruba_dev_steps.rb +23 -0
- data/features/support/env.rb +5 -0
- data/lib/aruba/api.rb +71 -2
- data/lib/aruba/cucumber.rb +47 -1
- metadata +7 -5
- data/features/step_definitions/aruba_steps.rb +0 -0
data/History.txt
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
== 0.1.5
|
2
|
+
* Added ability to map rvm versions to a specific version with config/aruba-rvm.yml. (Aslak Hellesøy)
|
3
|
+
* Check for presence of files. (Aslak Hellesøy)
|
4
|
+
* Allow specification of rvm gemsets. (Aslak Hellesøy)
|
5
|
+
* Detect ruby commands and use current ruby when rvm is not explicitly used. (Aslak Hellesøy)
|
6
|
+
* Added support for rvm, making it possible to choose Ruby interpreter. (Aslak Hellesøy)
|
7
|
+
* Added @announce-cmd, @announce-stdout and @announce tags, useful for seeing what's executed and outputted. (Aslak Hellesøy)
|
8
|
+
|
1
9
|
== 0.1.4
|
2
10
|
* New step definition for appending to a file (Aslak Hellesøy)
|
3
11
|
|
data/Rakefile
CHANGED
@@ -1,14 +1,15 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
1
2
|
require 'rubygems'
|
2
3
|
require 'rake'
|
3
4
|
|
4
5
|
begin
|
5
6
|
require 'jeweler'
|
6
7
|
Jeweler::Tasks.new do |gem|
|
7
|
-
gem.version = "0.1.
|
8
|
+
gem.version = "0.1.5"
|
8
9
|
gem.name = "aruba"
|
9
10
|
gem.summary = %Q{CLI Steps for Cucumber}
|
10
11
|
gem.description = %Q{CLI Steps for Cucumber, hand-crafted for you in Aruba}
|
11
|
-
gem.email = "cukes@
|
12
|
+
gem.email = "cukes@googlegroups.com"
|
12
13
|
gem.homepage = "http://github.com/aslakhellesoy/aruba"
|
13
14
|
gem.authors = ["Aslak Hellesøy", "David Chelimsky"]
|
14
15
|
gem.add_development_dependency "rspec", ">= 1.3.0"
|
@@ -22,17 +23,12 @@ end
|
|
22
23
|
begin
|
23
24
|
require 'cucumber/rake/task'
|
24
25
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
end
|
29
|
-
|
30
|
-
Cucumber::Rake::Task.new(:fail) do |t|
|
31
|
-
t.cucumber_opts = '--tags @fail --wip'
|
32
|
-
end
|
26
|
+
Cucumber::Rake::Task.new do |t|
|
27
|
+
t.cucumber_opts = %w{--tags ~@jruby} unless defined?(JRUBY_VERSION)
|
28
|
+
t.rcov = true
|
33
29
|
end
|
34
30
|
|
35
|
-
task :cucumber =>
|
31
|
+
task :cucumber => :check_dependencies
|
36
32
|
rescue LoadError
|
37
33
|
task :cucumber do
|
38
34
|
abort "Cucumber is not available. In order to run features, you must: sudo gem install cucumber"
|
data/aruba.gemspec
CHANGED
@@ -5,13 +5,13 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{aruba}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.5"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Aslak Helles\303\270y", "David Chelimsky"]
|
12
|
-
s.date = %q{2010-02-
|
12
|
+
s.date = %q{2010-02-26}
|
13
13
|
s.description = %q{CLI Steps for Cucumber, hand-crafted for you in Aruba}
|
14
|
-
s.email = %q{cukes@
|
14
|
+
s.email = %q{cukes@googlegroups.com}
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE",
|
17
17
|
"README.rdoc"
|
@@ -24,10 +24,12 @@ Gem::Specification.new do |s|
|
|
24
24
|
"README.rdoc",
|
25
25
|
"Rakefile",
|
26
26
|
"aruba.gemspec",
|
27
|
+
"config/.gitignore",
|
27
28
|
"features/exit_statuses.feature",
|
28
29
|
"features/file_system_commands.feature",
|
29
30
|
"features/output.feature",
|
30
|
-
"features/
|
31
|
+
"features/running_ruby.feature",
|
32
|
+
"features/step_definitions/aruba_dev_steps.rb",
|
31
33
|
"features/support/env.rb",
|
32
34
|
"lib/aruba.rb",
|
33
35
|
"lib/aruba/api.rb",
|
data/config/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
aruba-rvm.yml
|
@@ -12,3 +12,10 @@ Feature: exit statuses
|
|
12
12
|
When I run "ruby -e 'exit 56'"
|
13
13
|
Then the exit status should be 56
|
14
14
|
And the exit status should not be 0
|
15
|
+
|
16
|
+
Scenario: Successfully run something
|
17
|
+
When I successfully run "ruby -e 'exit 0'"
|
18
|
+
|
19
|
+
Scenario: Unsuccessfully run something
|
20
|
+
When I do aruba I successfully run "ruby -e 'exit 10'"
|
21
|
+
Then aruba should fail with "got: 10"
|
@@ -48,10 +48,30 @@ Feature: file system commands
|
|
48
48
|
When I run "ruby example.rb"
|
49
49
|
Then the exit status should be 1
|
50
50
|
|
51
|
-
@fail
|
52
51
|
Scenario: Holler if cd to bad dir
|
53
52
|
Given a file named "foo/bar/example.rb" with:
|
54
53
|
"""
|
55
54
|
puts "hello world"
|
56
55
|
"""
|
57
|
-
When I cd to "foo/nonexistant"
|
56
|
+
When I do aruba I cd to "foo/nonexistant"
|
57
|
+
Then aruba should fail with "tmp/aruba/foo/nonexistant is not a directory"
|
58
|
+
|
59
|
+
Scenario: Check for presence of a subset of files
|
60
|
+
Given an empty file named "lorem/ipsum/dolor"
|
61
|
+
Given an empty file named "lorem/ipsum/sit"
|
62
|
+
Given an empty file named "lorem/ipsum/amet"
|
63
|
+
Then the following files should exist:
|
64
|
+
| lorem/ipsum/dolor |
|
65
|
+
| lorem/ipsum/amet |
|
66
|
+
|
67
|
+
Scenario: Check for absence of files
|
68
|
+
Then the following files should not exist:
|
69
|
+
| lorem/ipsum/dolor |
|
70
|
+
|
71
|
+
Scenario: Check file contents
|
72
|
+
Given a file named "foo" with:
|
73
|
+
"""
|
74
|
+
hello world
|
75
|
+
"""
|
76
|
+
Then the file "foo" should contain "hello world"
|
77
|
+
And the file "foo" should not contain "HELLO WORLD"
|
data/features/output.feature
CHANGED
@@ -8,19 +8,23 @@ Feature: Output
|
|
8
8
|
When I run "ruby -e 'puts \"hello world\"'"
|
9
9
|
Then I should see "hello world"
|
10
10
|
|
11
|
+
Scenario: Detect subset of one-line output
|
12
|
+
When I run "echo 'hello world'"
|
13
|
+
Then I should see "hello world"
|
14
|
+
|
11
15
|
Scenario: Detect absence of one-line output
|
12
16
|
When I run "ruby -e 'puts \"hello world\"'"
|
13
17
|
Then I should not see "good-bye"
|
14
18
|
|
15
19
|
Scenario: Detect subset of multiline output
|
16
|
-
When I run "ruby -e 'puts \"hello
|
20
|
+
When I run "ruby -e 'puts \"hello\\nworld\"'"
|
17
21
|
Then I should see:
|
18
22
|
"""
|
19
23
|
hello
|
20
24
|
"""
|
21
25
|
|
22
26
|
Scenario: Detect subset of multiline output
|
23
|
-
When I run "ruby -e 'puts \"hello
|
27
|
+
When I run "ruby -e 'puts \"hello\\nworld\"'"
|
24
28
|
Then I should not see:
|
25
29
|
"""
|
26
30
|
good-bye
|
@@ -31,7 +35,7 @@ Feature: Output
|
|
31
35
|
Then I should see exactly "hello world\n"
|
32
36
|
|
33
37
|
Scenario: Detect exact multiline output
|
34
|
-
When I run "ruby -e 'puts \"hello
|
38
|
+
When I run "ruby -e 'puts \"hello\\nworld\"'"
|
35
39
|
Then I should see exactly:
|
36
40
|
"""
|
37
41
|
hello
|
@@ -39,26 +43,29 @@ Feature: Output
|
|
39
43
|
|
40
44
|
"""
|
41
45
|
|
46
|
+
@announce
|
42
47
|
Scenario: Match passing exit status and partial output
|
43
|
-
When I run "ruby -e 'puts \"hello
|
48
|
+
When I run "ruby -e 'puts \"hello\\nworld\"'"
|
44
49
|
Then it should pass with:
|
45
50
|
"""
|
46
51
|
hello
|
47
52
|
"""
|
48
53
|
|
54
|
+
@announce-stdout
|
49
55
|
Scenario: Match failing exit status and partial output
|
50
|
-
When I run "ruby -e 'puts \"hello
|
56
|
+
When I run "ruby -e 'puts \"hello\\nworld\";exit 99'"
|
51
57
|
Then it should fail with:
|
52
58
|
"""
|
53
59
|
hello
|
54
60
|
"""
|
55
|
-
|
61
|
+
|
62
|
+
@announce-cmd
|
56
63
|
Scenario: Match output in stdout
|
57
|
-
When I run "ruby -e 'puts \"hello
|
64
|
+
When I run "ruby -e 'puts \"hello\\nworld\"'"
|
58
65
|
Then the stdout should contain "hello"
|
59
66
|
Then the stderr should not contain "hello"
|
60
67
|
|
61
68
|
Scenario: Match output in stderr
|
62
|
-
When I run "ruby -e 'STDERR.puts \"hello
|
69
|
+
When I run "ruby -e 'STDERR.puts \"hello\\nworld\";exit 99'"
|
63
70
|
Then the stderr should contain "hello"
|
64
71
|
Then the stdout should not contain "hello"
|
@@ -0,0 +1,74 @@
|
|
1
|
+
@announce
|
2
|
+
Feature: Running ruby
|
3
|
+
In order to test a Ruby-based CLI app
|
4
|
+
I want to have control over what Ruby version is used,
|
5
|
+
possibly using a different Ruby than the one I launch Cucumber with.
|
6
|
+
|
7
|
+
Scenario: Run with ruby 1.9.1
|
8
|
+
Given I am using rvm "1.9.1"
|
9
|
+
When I run "ruby -e 'puts RUBY_VERSION'"
|
10
|
+
Then I should see "ruby-1.9.1-p378"
|
11
|
+
And I should not see "rvm usage"
|
12
|
+
|
13
|
+
Scenario: Run with ruby JRuby
|
14
|
+
Given I am using rvm "jruby-1.4.0"
|
15
|
+
When I run "ruby -e 'puts JRUBY_VERSION'"
|
16
|
+
Then I should see "1.4.0"
|
17
|
+
And I should not see "rvm usage"
|
18
|
+
|
19
|
+
Scenario: Specify both rvm and gemset
|
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"
|
22
|
+
When I run "gem list"
|
23
|
+
Then I should see:
|
24
|
+
"""
|
25
|
+
|
26
|
+
rake (0.8.7)
|
27
|
+
rubygems-update (1.3.5)
|
28
|
+
|
29
|
+
"""
|
30
|
+
|
31
|
+
Scenario: Find the version of ruby 1.9.1
|
32
|
+
Given I am using rvm "1.9.1"
|
33
|
+
When I run "ruby --version"
|
34
|
+
Then I should see "1.9.1"
|
35
|
+
|
36
|
+
Scenario: Find the version of cucumber on ruby 1.9.1
|
37
|
+
Given I am using rvm "1.9.1"
|
38
|
+
When I run "cucumber --version"
|
39
|
+
Then I should see "0.6.2"
|
40
|
+
|
41
|
+
Scenario: Use current ruby
|
42
|
+
When I run "ruby --version"
|
43
|
+
Then I should see the current Ruby version
|
44
|
+
|
45
|
+
Scenario: Use current ruby and a gem bin file
|
46
|
+
When I run "rake --version"
|
47
|
+
Then I should see "rake, version"
|
48
|
+
|
49
|
+
# I have trouble running rvm 1.8.7 in OS X Leopard, which is
|
50
|
+
# ruby-1.8.7-p249 (It segfaults rather often). However, a previous
|
51
|
+
# patchlevel of 1.8.7 runs fine for me: ruby-1.8.7-tv1_8_7_174
|
52
|
+
#
|
53
|
+
# In order to provide some level of flexibility (and readability)
|
54
|
+
# it should be possible to set up a mapping from a version specified
|
55
|
+
# in Gherkin to an *actual* version.
|
56
|
+
#
|
57
|
+
# In order to make this scenario pass you therefore need to install
|
58
|
+
# ruby-1.8.7-tv1_8_7_174 with rvm.
|
59
|
+
Scenario: Specify an alias for an rvm
|
60
|
+
Given I have a local file named "config/aruba-rvm.yml" with:
|
61
|
+
"""
|
62
|
+
1.8.7: ruby-1.8.7-tv1_8_7_174
|
63
|
+
"""
|
64
|
+
And I am using rvm "1.8.7"
|
65
|
+
When I run "ruby --version"
|
66
|
+
Then I should see "patchlevel 174"
|
67
|
+
|
68
|
+
# To verify this, make sure current rvm is *not* JRuby and run:
|
69
|
+
#
|
70
|
+
# ~/.rvm/rubies/jruby-1.4.0/bin/jruby -S cucumber features/running_ruby.feature -n "launched Cucumber"
|
71
|
+
@jruby
|
72
|
+
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'"
|
74
|
+
Then I should see the JRuby version
|
@@ -0,0 +1,23 @@
|
|
1
|
+
Given /^I have a local file named "([^\"]*)" with:$/ do |filename, content|
|
2
|
+
File.open(filename, 'w') {|io| io.write(content)}
|
3
|
+
end
|
4
|
+
|
5
|
+
When /^I do aruba (.*)$/ do |aruba_step|
|
6
|
+
begin
|
7
|
+
When(aruba_step)
|
8
|
+
rescue => e
|
9
|
+
@aruba_exception = e
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
Then /^I should see the JRuby version$/ do
|
14
|
+
Then %{I should see "#{JRUBY_VERSION}"}
|
15
|
+
end
|
16
|
+
|
17
|
+
Then /^I should see the current Ruby version$/ do
|
18
|
+
Then %{I should see "#{RUBY_VERSION}"}
|
19
|
+
end
|
20
|
+
|
21
|
+
Then /^aruba should fail with "([^\"]*)"$/ do |error_message|
|
22
|
+
@aruba_exception.message.should =~ compile_and_escape(error_message)
|
23
|
+
end
|
data/features/support/env.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
$LOAD_PATH.unshift(File.dirname(__FILE__) + '/../../lib')
|
2
2
|
require 'aruba'
|
3
|
+
require 'fileutils'
|
3
4
|
|
4
5
|
begin
|
5
6
|
# rspec-2
|
@@ -8,3 +9,7 @@ rescue LoadError
|
|
8
9
|
# rspec-1
|
9
10
|
require 'spec/expectations'
|
10
11
|
end
|
12
|
+
|
13
|
+
Before do
|
14
|
+
FileUtils.rm(Dir['config/*.yml'])
|
15
|
+
end
|
data/lib/aruba/api.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'tempfile'
|
2
|
+
require 'rbconfig'
|
2
3
|
|
3
4
|
module Aruba
|
4
5
|
module Api
|
@@ -39,6 +40,30 @@ module Api
|
|
39
40
|
end
|
40
41
|
end
|
41
42
|
|
43
|
+
def check_file_presence(paths, expect_presence)
|
44
|
+
in_current_dir do
|
45
|
+
paths.each do |path|
|
46
|
+
if expect_presence
|
47
|
+
File.should be_file(path)
|
48
|
+
else
|
49
|
+
File.should_not be_file(path)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
def check_file_content(file, partial_content, expect_match)
|
56
|
+
regexp = compile_and_escape(partial_content)
|
57
|
+
in_current_dir do
|
58
|
+
content = IO.read(file)
|
59
|
+
if expect_match
|
60
|
+
content.should match(regexp)
|
61
|
+
else
|
62
|
+
content.should_not match(regexp)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
42
67
|
def _mkdir(dir_name)
|
43
68
|
FileUtils.mkdir_p(dir_name) unless File.directory?(dir_name)
|
44
69
|
end
|
@@ -55,18 +80,62 @@ module Api
|
|
55
80
|
@last_stdout + (@last_stderr == '' ? '' : "\n#{'-'*70}\n#{@last_stderr}")
|
56
81
|
end
|
57
82
|
|
58
|
-
def
|
83
|
+
def use_rvm(rvm_ruby_version)
|
84
|
+
if File.exist?('config/aruba-rvm.yml')
|
85
|
+
@rvm_ruby_version = YAML.load_file('config/aruba-rvm.yml')[rvm_ruby_version] || rvm_ruby_version
|
86
|
+
else
|
87
|
+
@rvm_ruby_version = rvm_ruby_version
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
def use_rvm_gemset(rvm_gemset)
|
92
|
+
@rvm_gemset = rvm_gemset
|
93
|
+
end
|
94
|
+
|
95
|
+
def run(cmd)
|
96
|
+
cmd = detect_ruby_script(cmd)
|
97
|
+
cmd = detect_ruby(cmd)
|
98
|
+
|
99
|
+
announce("$ #{cmd}") if @announce_cmd
|
100
|
+
|
59
101
|
stderr_file = Tempfile.new('cucumber')
|
60
102
|
stderr_file.close
|
61
103
|
in_current_dir do
|
62
104
|
mode = RUBY_VERSION =~ /^1\.9/ ? {:external_encoding=>"UTF-8"} : 'r'
|
63
|
-
IO.popen("#{
|
105
|
+
IO.popen("#{cmd} 2> #{stderr_file.path}", mode) do |io|
|
64
106
|
@last_stdout = io.read
|
107
|
+
|
108
|
+
announce(@last_stdout) if @announce_stdout
|
65
109
|
end
|
66
110
|
|
67
111
|
@last_exit_status = $?.exitstatus
|
68
112
|
end
|
69
113
|
@last_stderr = IO.read(stderr_file.path)
|
70
114
|
end
|
115
|
+
|
116
|
+
def detect_ruby(cmd)
|
117
|
+
if cmd =~ /^ruby\s/
|
118
|
+
cmd.gsub(/^ruby\s/, "#{current_ruby} ")
|
119
|
+
else
|
120
|
+
cmd
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
def detect_ruby_script(cmd)
|
125
|
+
if cmd =~ /^(?:cucumber|gem|jeweler|rails|rake|rspec|spec)\s/
|
126
|
+
"ruby -S #{cmd}"
|
127
|
+
else
|
128
|
+
cmd
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
def current_ruby
|
133
|
+
if @rvm_ruby_version
|
134
|
+
rvm_ruby_version_with_gemset = @rvm_gemset ? "#{@rvm_ruby_version}%#{@rvm_gemset}" : @rvm_ruby_version
|
135
|
+
"rvm #{rvm_ruby_version_with_gemset} ruby"
|
136
|
+
else
|
137
|
+
File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name'])
|
138
|
+
end
|
139
|
+
end
|
71
140
|
end
|
72
141
|
end
|
data/lib/aruba/cucumber.rb
CHANGED
@@ -6,6 +6,27 @@ Before do
|
|
6
6
|
FileUtils.rm_rf(current_dir)
|
7
7
|
end
|
8
8
|
|
9
|
+
Before('@announce-cmd') do
|
10
|
+
@announce_cmd = true
|
11
|
+
end
|
12
|
+
|
13
|
+
Before('@announce-stdout') do
|
14
|
+
@announce_stdout = true
|
15
|
+
end
|
16
|
+
|
17
|
+
Before('@announce') do
|
18
|
+
@announce_stdout = true
|
19
|
+
@announce_cmd = true
|
20
|
+
end
|
21
|
+
|
22
|
+
Given /^I am using rvm "([^\"]*)"$/ do |rvm_ruby_version|
|
23
|
+
use_rvm(rvm_ruby_version)
|
24
|
+
end
|
25
|
+
|
26
|
+
Given /^I am using rvm gemset "([^\"]*)"$/ do |rvm_gemset|
|
27
|
+
use_rvm_gemset(rvm_gemset)
|
28
|
+
end
|
29
|
+
|
9
30
|
Given /^a directory named "([^\"]*)"$/ do |dir_name|
|
10
31
|
create_dir(dir_name)
|
11
32
|
end
|
@@ -14,6 +35,10 @@ Given /^a file named "([^\"]*)" with:$/ do |file_name, file_content|
|
|
14
35
|
create_file(file_name, file_content)
|
15
36
|
end
|
16
37
|
|
38
|
+
Given /^an empty file named "([^\"]*)"$/ do |file_name|
|
39
|
+
create_file(file_name, "")
|
40
|
+
end
|
41
|
+
|
17
42
|
When /^I append to "([^\"]*)" with:$/ do |file_name, file_content|
|
18
43
|
append_to_file(file_name, file_content)
|
19
44
|
end
|
@@ -26,6 +51,11 @@ When /^I run "(.*)"$/ do |cmd|
|
|
26
51
|
run(unescape(cmd))
|
27
52
|
end
|
28
53
|
|
54
|
+
When /^I successfully run "(.*)"$/ do |cmd|
|
55
|
+
run(unescape(cmd))
|
56
|
+
@last_exit_status.should == 0
|
57
|
+
end
|
58
|
+
|
29
59
|
Then /^I should see "([^\"]*)"$/ do |partial_output|
|
30
60
|
combined_output.should =~ compile_and_escape(partial_output)
|
31
61
|
end
|
@@ -59,12 +89,12 @@ Then /^the exit status should not be (\d+)$/ do |exit_status|
|
|
59
89
|
end
|
60
90
|
|
61
91
|
Then /^it should (pass|fail) with:$/ do |pass_fail, partial_output|
|
92
|
+
Then "I should see:", partial_output
|
62
93
|
if pass_fail == 'pass'
|
63
94
|
@last_exit_status.should == 0
|
64
95
|
else
|
65
96
|
@last_exit_status.should_not == 0
|
66
97
|
end
|
67
|
-
Then "I should see:", partial_output
|
68
98
|
end
|
69
99
|
|
70
100
|
Then /^the stderr should contain "([^\"]*)"$/ do |partial_output|
|
@@ -82,3 +112,19 @@ end
|
|
82
112
|
Then /^the stdout should not contain "([^\"]*)"$/ do |partial_output|
|
83
113
|
@last_stdout.should_not =~ compile_and_escape(partial_output)
|
84
114
|
end
|
115
|
+
|
116
|
+
Then /^the following files should exist:$/ do |files|
|
117
|
+
check_file_presence(files.raw.map{|file_row| file_row[0]}, true)
|
118
|
+
end
|
119
|
+
|
120
|
+
Then /^the following files should not exist:$/ do |files|
|
121
|
+
check_file_presence(files.raw.map{|file_row| file_row[0]}, false)
|
122
|
+
end
|
123
|
+
|
124
|
+
Then /^the file "([^\"]*)" should contain "([^\"]*)"$/ do |file, partial_content|
|
125
|
+
check_file_content(file, partial_content, true)
|
126
|
+
end
|
127
|
+
|
128
|
+
Then /^the file "([^\"]*)" should not contain "([^\"]*)"$/ do |file, partial_content|
|
129
|
+
check_file_content(file, partial_content, false)
|
130
|
+
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 5
|
9
|
+
version: 0.1.5
|
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-02-
|
18
|
+
date: 2010-02-26 00:00:00 +01:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -47,7 +47,7 @@ dependencies:
|
|
47
47
|
type: :development
|
48
48
|
version_requirements: *id002
|
49
49
|
description: CLI Steps for Cucumber, hand-crafted for you in Aruba
|
50
|
-
email: cukes@
|
50
|
+
email: cukes@googlegroups.com
|
51
51
|
executables: []
|
52
52
|
|
53
53
|
extensions: []
|
@@ -63,10 +63,12 @@ files:
|
|
63
63
|
- README.rdoc
|
64
64
|
- Rakefile
|
65
65
|
- aruba.gemspec
|
66
|
+
- config/.gitignore
|
66
67
|
- features/exit_statuses.feature
|
67
68
|
- features/file_system_commands.feature
|
68
69
|
- features/output.feature
|
69
|
-
- features/
|
70
|
+
- features/running_ruby.feature
|
71
|
+
- features/step_definitions/aruba_dev_steps.rb
|
70
72
|
- features/support/env.rb
|
71
73
|
- lib/aruba.rb
|
72
74
|
- lib/aruba/api.rb
|
File without changes
|