aruba-jbb 0.2.6.12 → 0.2.6.13

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,12 @@
1
+ == 0.2.6.13 jbb
2
+ * added new api methods
3
+ * refactored matchers for new api methods
4
+ * added additional tests for stderr and stdout matchers
5
+
6
+ == Bug fixes
7
+ * fixed rspec syntax (no #should != instead must use #should_not ==)
8
+ * fixed some documentation errors and omissions
9
+
1
10
  == 0.2.6.12 jbb
2
11
  * merged aslak 0.2.4
3
12
  * added remove_env to api
data/aruba-jbb.gemspec CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{aruba-jbb}
5
- s.version = "0.2.6.12"
5
+ s.version = "0.2.6.13"
6
6
  s.authors = ["Aslak Hellesøy", "David Chelimsky", "James B. Byrne", "Mike Sassak"]
7
- s.date = %q{2010-11-04}
7
+ s.date = %q{2010-11-09}
8
8
  s.description = %q{Fork of Aruba, Cucumber steps for testing CLI applications.}
9
9
  s.email = %q{cukes@googlegroups.com}
10
10
  s.homepage = %q{http://github.com/byrnejb/aruba}
@@ -76,6 +76,16 @@ Feature: Output
76
76
  """
77
77
  hello
78
78
  """
79
+
80
+ @announce
81
+ Scenario: Match passing exit status and exact output
82
+ When I run "ruby -e 'puts \"hello\\nworld\"'"
83
+ Then it should pass with exactly:
84
+ """
85
+ hello
86
+ world
87
+
88
+ """
79
89
 
80
90
  @announce-stdout
81
91
  Scenario: Match failing exit status and partial output
@@ -15,3 +15,21 @@ Feature: run command should not limit size of STDOUT
15
15
  Then the stdout should contain "bbbbb"
16
16
  When I run "ruby -e 'puts :c.to_s * 65537'"
17
17
  Then the stdout should contain "ccccc"
18
+
19
+ @announce
20
+ Scenario: Check empty output
21
+ When I run "ruby -e 'r = 1 + 3'"
22
+ Then stdout should be empty
23
+ And stderr should be empty
24
+
25
+ @announce
26
+ Scenario: Check not empty output
27
+ When I run "ruby -e 'puts( %Q*Hello World!* )'"
28
+ Then stdout should not be empty
29
+ And stderr should be empty
30
+
31
+ @announce
32
+ Scenario: Check not empty error
33
+ When I run "ruby -e 'fail'"
34
+ Then stdout should be empty
35
+ And stderr should not be empty
data/lib/aruba/api.rb CHANGED
@@ -81,11 +81,44 @@ module Aruba
81
81
  end
82
82
  end
83
83
 
84
- # assert_exit_status_and_partial_output is an internal helper
85
- # method that really should not be used in a step definition.
84
+ # assert_exact_output compares the contents of the combined output
85
+ # for an exact match to the argument. See assert_partial_output.
86
+ # #
87
+ def assert_exact_output(exact_output)
88
+ combined_output.should == exact_output
89
+ end
90
+
91
+ # assert_exit_status_and_output checks the contents of the combined output
92
+ # (exact) and also checks the exit status against the expected (zero or
93
+ # non-zero)
94
+ #
95
+ # Usage:
96
+ # Then /should (pass|fail) with exactly:$/ do |pass_fail, exact_output|
97
+ # assert_exit_status_and_output(pass_fail == "pass", exact_output, true)
98
+ #
99
+ def assert_exit_status_and_output(expect_to_pass, output, expect_exact_output)
100
+ if expect_exact_output
101
+ assert_exact_output(output)
102
+ else
103
+ assert_partial_output(output)
104
+ end
105
+ assert_exiting_with(expect_to_pass)
106
+ end
107
+
108
+
109
+ # assert_exit_status_and_partial_output checks the contents of the combined
110
+ # output (partial) and also checks the exit status against the expected
111
+ # (zero or non-zero)
86
112
  #
87
113
  def assert_exit_status_and_partial_output(expect_to_pass, partial_output)
88
114
  assert_partial_output(partial_output)
115
+ assert_exiting_with(expect_to_pass)
116
+ end
117
+
118
+ # assert_exiting_with checks the exit status and fails if
119
+ # the expected condition is not met.
120
+ #
121
+ def assert_exiting_with(expect_to_pass)
89
122
  if expect_to_pass
90
123
  @last_exit_status.should == 0
91
124
  else
@@ -309,7 +309,12 @@ end
309
309
 
310
310
 
311
311
  When /should (pass|fail) with:$/ do |pass_fail, partial_output|
312
- self.__send__("assert_#{pass_fail}ing_with", partial_output)
312
+ assert_exit_status_and_output(pass_fail == "pass", partial_output, false)
313
+ end
314
+
315
+
316
+ Then /should (pass|fail) with exactly:$/ do |pass_fail, exact_output|
317
+ assert_exit_status_and_output(pass_fail == "pass", exact_output, true)
313
318
  end
314
319
 
315
320
 
@@ -334,12 +339,12 @@ end
334
339
 
335
340
 
336
341
  When /stderr should not be empty$/ do
337
- @last_stderr.should != ""
342
+ @last_stderr.should_not == ""
338
343
  end
339
344
 
340
345
 
341
346
  When /stdout should not be empty$/ do
342
- @last_stdout.should != ""
347
+ @last_stdout.should_not == ""
343
348
  end
344
349
 
345
350
 
@@ -353,6 +358,16 @@ When /stdout should contain "([^\"]*)"$/ do |partial_output|
353
358
  end
354
359
 
355
360
 
361
+ Then /stderr should contain exactly:$/ do |exact_output|
362
+ @last_stderr.should == exact_output
363
+ end
364
+
365
+
366
+ Then /stdout should contain exactly:$/ do |exact_output|
367
+ @last_stdout.should == exact_output
368
+ end
369
+
370
+
356
371
  When /stderr should not contain "([^\"]*)"$/ do |partial_output|
357
372
  @last_stderr.should_not =~ regexp(partial_output)
358
373
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aruba-jbb
3
3
  version: !ruby/object:Gem::Version
4
- hash: 95
4
+ hash: 93
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
9
  - 6
10
- - 12
11
- version: 0.2.6.12
10
+ - 13
11
+ version: 0.2.6.13
12
12
  platform: ruby
13
13
  authors:
14
14
  - "Aslak Helles\xC3\xB8y"
@@ -19,7 +19,7 @@ autorequire:
19
19
  bindir: bin
20
20
  cert_chain: []
21
21
 
22
- date: 2010-11-04 00:00:00 -04:00
22
+ date: 2010-11-09 00:00:00 -05:00
23
23
  default_executable:
24
24
  dependencies:
25
25
  - !ruby/object:Gem::Dependency