cucumber 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -4,14 +4,14 @@ PATH
4
4
  cucumber (1.0.0)
5
5
  builder (>= 2.1.2)
6
6
  diff-lcs (>= 1.1.2)
7
- gherkin (~> 2.4.1)
7
+ gherkin (~> 2.4.5)
8
8
  json (>= 1.4.6)
9
9
  term-ansicolor (>= 1.0.5)
10
10
 
11
11
  GEM
12
12
  remote: http://rubygems.org/
13
13
  specs:
14
- aruba (0.4.2)
14
+ aruba (0.4.3)
15
15
  bcat (>= 0.6.1)
16
16
  childprocess (>= 0.1.9)
17
17
  cucumber (>= 0.10.7)
@@ -31,14 +31,14 @@ GEM
31
31
  ffi (~> 1.0.6)
32
32
  diff-lcs (1.1.2)
33
33
  ffi (1.0.9)
34
- gherkin (2.4.1)
34
+ gherkin (2.4.5)
35
35
  json (>= 1.4.6)
36
36
  innate (2011.04)
37
37
  rack (>= 1.1.0)
38
38
  json (1.5.3)
39
39
  json_pure (1.5.3)
40
40
  mime-types (1.16)
41
- nokogiri (1.4.6)
41
+ nokogiri (1.5.0)
42
42
  prawn (0.8.4)
43
43
  prawn-core (< 0.9, >= 0.8.4)
44
44
  prawn-layout (< 0.9, >= 0.8.4)
@@ -62,8 +62,8 @@ GEM
62
62
  diff-lcs (~> 1.1.2)
63
63
  rspec-mocks (2.6.0)
64
64
  rubyzip (0.9.4)
65
- selenium-webdriver (0.2.1)
66
- childprocess (>= 0.1.7)
65
+ selenium-webdriver (0.2.2)
66
+ childprocess (>= 0.1.9)
67
67
  ffi (>= 1.0.7)
68
68
  json_pure
69
69
  rubyzip
@@ -73,7 +73,7 @@ GEM
73
73
  sinatra (1.2.6)
74
74
  rack (~> 1.1)
75
75
  tilt (< 2.0, >= 1.2.2)
76
- spork (0.9.0.rc8)
76
+ spork (0.9.0.rc9)
77
77
  syntax (1.0.0)
78
78
  term-ansicolor (1.0.5)
79
79
  tilt (1.3.2)
data/History.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## [v1.0.1](https://github.com/cucumber/cucumber/compare/v1.0.0...v1.0.1)
2
+
3
+ ### Bugfixes
4
+ * Removed extra colons emitted by rerun formatter ([#99](https://github.com/cucumber/cucumber/pull/99) Juan Manuel Barreneche)
5
+ * cucumber 1.0.0 wrong number of arguments error when generating json format on jruby for windows ([#97](https://github.com/cucumber/cucumber/issues/97) (Aslak Hellesøy)
6
+ * Recent change to junit.rb breaks on Windows ([#81](https://github.com/cucumber/cucumber/issues/81), [#86](https://github.com/cucumber/cucumber/pull/86) Johnlon, Aslak Hellesøy)
7
+ * Cucumber fails on nil and does not print out failed tests ([#95](https://github.com/cucumber/cucumber/pull/95) Nikita)
8
+ * Javascript code is not being displayed in HTML output ([#58](https://github.com/cucumber/cucumber/issues/58) Aslak Hellesøy)
9
+
10
+ ### New Features
11
+ * If the CUCUMBER_TRUNCATE_OUTPUT environment variable is set, lines will be truncated. Used by the Cucumber book. (Aslak Hellesøy)
12
+
1
13
  ## [v1.0.0](https://github.com/cucumber/cucumber/compare/v0.10.6...v1.0.0)
2
14
 
3
15
  Yipeeeeeeeee!
data/cucumber.gemspec CHANGED
@@ -23,7 +23,7 @@ for important information about this release. Happy cuking!
23
23
 
24
24
  }
25
25
 
26
- s.add_dependency 'gherkin', '~> 2.4.1'
26
+ s.add_dependency 'gherkin', '~> 2.4.5'
27
27
  s.add_dependency 'term-ansicolor', '>= 1.0.5'
28
28
  s.add_dependency 'builder', '>= 2.1.2'
29
29
  s.add_dependency 'diff-lcs', '>= 1.1.2'
@@ -0,0 +1,168 @@
1
+ module CucumberRubyMappings
2
+ def features_dir
3
+ 'features'
4
+ end
5
+
6
+ def run_scenario(scenario_name)
7
+ run_simple "#{cucumber_bin} features/a_feature.feature --name '#{scenario_name}'", false
8
+ end
9
+
10
+ def run_feature
11
+ run_simple "#{cucumber_bin} features/a_feature.feature", false
12
+ end
13
+
14
+ def cucumber_bin
15
+ File.expand_path(File.dirname(__FILE__) + '/../../../bin/cucumber')
16
+ end
17
+
18
+ def write_passing_mapping(step_name)
19
+ erb = ERB.new(<<-EOF, nil, '-')
20
+ Given /<%= step_name -%>/ do
21
+ # ARUBA_IGNORE_START
22
+ File.open("<%= step_file(step_name) %>", "w")
23
+ # ARUBA_IGNORE_END
24
+ end
25
+
26
+ EOF
27
+ append_to_file("features/step_definitions/some_stepdefs.rb", erb.result(binding))
28
+ end
29
+
30
+ def write_pending_mapping(step_name)
31
+ erb = ERB.new(<<-EOF, nil, '-')
32
+ Given /<%= step_name -%>/ do
33
+ # ARUBA_IGNORE_START
34
+ File.open("<%= step_file(step_name) %>", "w")
35
+ # ARUBA_IGNORE_END
36
+ pending
37
+ end
38
+
39
+ EOF
40
+ append_to_file("features/step_definitions/some_stepdefs.rb", erb.result(binding))
41
+ end
42
+
43
+ def write_failing_mapping(step_name)
44
+ erb = ERB.new(<<-EOF, nil, '-')
45
+ Given /<%= step_name -%>/ do
46
+ # ARUBA_IGNORE_START
47
+ File.open("<%= step_file(step_name) %>", "w")
48
+ # ARUBA_IGNORE_END
49
+ raise "bang!"
50
+ end
51
+
52
+ EOF
53
+ append_to_file("features/step_definitions/some_stepdefs.rb", erb.result(binding))
54
+ end
55
+
56
+ def write_calculator_code
57
+ code = <<-EOF
58
+ # http://en.wikipedia.org/wiki/Reverse_Polish_notation
59
+ class RpnCalculator
60
+ def initialize
61
+ @stack = []
62
+ end
63
+
64
+ def push(arg)
65
+ if(%w{- + * /}.index(arg))
66
+ y, x = @stack.pop(2)
67
+ push(x.__send__(arg, y))
68
+ else
69
+ @stack.push(arg)
70
+ end
71
+ end
72
+
73
+ def PI
74
+ push(Math::PI)
75
+ end
76
+
77
+ def value
78
+ @stack[-1]
79
+ end
80
+ end
81
+ EOF
82
+ write_file("lib/rpn_calculator.rb", code)
83
+ end
84
+
85
+ def write_mappings_for_calculator
86
+ write_file("features/support/env.rb", "$LOAD_PATH.unshift(File.dirname(__FILE__) + '/../../lib')\n")
87
+ mapping_code = <<-EOF
88
+ require 'rpn_calculator'
89
+
90
+ Given /^a calculator$/ do
91
+ @calc = RpnCalculator.new
92
+ end
93
+
94
+ When /^the calculator computes PI$/ do
95
+ @calc.PI
96
+ end
97
+
98
+ When /^the calculator adds up ([\\d\\.]+) and ([\\d\\.]+)$/ do |n1, n2|
99
+ @calc.push(n1.to_f)
100
+ @calc.push(n2.to_f)
101
+ @calc.push('+')
102
+ end
103
+
104
+ When /^the calculator adds up "([^"]*)" and "([^"]*)"$/ do |n1, n2|
105
+ @calc.push(n1.to_i)
106
+ @calc.push(n2.to_i)
107
+ @calc.push('+')
108
+ end
109
+
110
+ When /^the calculator adds up "([^"]*)", "([^"]*)" and "([^"]*)"$/ do |n1, n2, n3|
111
+ @calc.push(n1.to_i)
112
+ @calc.push(n2.to_i)
113
+ @calc.push(n3.to_i)
114
+ @calc.push('+')
115
+ @calc.push('+')
116
+ end
117
+
118
+ When /^the calculator adds up the following numbers:$/ do |numbers|
119
+ pushed = 0
120
+ numbers.split("\\n").each do |n|
121
+ @calc.push(n.to_i)
122
+ pushed +=1
123
+ @calc.push('+') if pushed > 1
124
+ end
125
+ end
126
+
127
+ Then /^the calculator returns PI$/ do
128
+ @calc.value.to_f.should be_within(0.00001).of(Math::PI)
129
+ end
130
+
131
+ Then /^the calculator returns "([^"]*)"$/ do |expected|
132
+ @calc.value.to_f.should be_within(0.00001).of(expected.to_f)
133
+ end
134
+
135
+ Then /^the calculator does not return ([\\d\\.]+)$/ do |unexpected|
136
+ @calc.value.to_f.should_not be_within(0.00001).of(unexpected.to_f)
137
+ end
138
+
139
+ EOF
140
+ write_file("features/step_definitions/calculator_mappings.rb", mapping_code)
141
+ end
142
+
143
+ def assert_passing_scenario
144
+ assert_partial_output("1 scenario (1 passed)", all_output)
145
+ assert_success true
146
+ end
147
+
148
+ def assert_failing_scenario
149
+ assert_partial_output("1 scenario (1 failed)", all_output)
150
+ assert_success false
151
+ end
152
+
153
+ def assert_pending_scenario
154
+ assert_partial_output("1 scenario (1 pending)", all_output)
155
+ assert_success true
156
+ end
157
+
158
+ def assert_undefined_scenario
159
+ assert_partial_output("1 scenario (1 undefined)", all_output)
160
+ assert_success true
161
+ end
162
+
163
+ def failed_output
164
+ "failed"
165
+ end
166
+ end
167
+
168
+ World(CucumberRubyMappings)
@@ -3,7 +3,16 @@ When /^I run cucumber "(.+)"$/ do |cmd|
3
3
  end
4
4
 
5
5
  Then /^it should (pass|fail) with JSON:$/ do |pass_fail, json|
6
- JSON.parse(all_stdout).should == JSON.parse(json)
6
+ # Need to store it in a variable. With JRuby we can only do this once it seems :-/
7
+ stdout = all_stdout
8
+
9
+ # JRuby has weird traces sometimes (?)
10
+ stdout = stdout.gsub(/ `\(root\)':in/, '')
11
+
12
+ actual = JSON.parse(stdout)
13
+ expected = JSON.parse(json)
14
+
15
+ actual.should == expected
7
16
  assert_success(pass_fail == 'pass')
8
17
  end
9
18
 
@@ -22,5 +22,5 @@ Before do
22
22
  # set_env('SIMPLECOV', 'true')
23
23
 
24
24
  # Set a longer timeout for aruba
25
- @aruba_timeout_seconds = 5
25
+ @aruba_timeout_seconds = 15
26
26
  end
@@ -3,7 +3,7 @@ Feature: undefined multiline args
3
3
  Scenario: pystring
4
4
  Given a pystring
5
5
  """
6
- example
6
+ example with <html> entities
7
7
  """
8
8
 
9
9
  Scenario: table
data/gem_tasks/yard.rake CHANGED
@@ -8,7 +8,7 @@ YARD::Rake::YardocTask.new(:yard) do |t|
8
8
  t.files = %w{lib - README.md History.md LICENSE}
9
9
  end
10
10
 
11
- desc 'Push yardoc to http://cukes.info/gherkin/api/#{GHERKIN_VERSION}'
11
+ desc "Push yardoc to http://cukes.info/cucumber/api/#{Cucumber::VERSION}"
12
12
  task :push_yard => :yard do
13
13
  sh("tar czf api-#{Cucumber::VERSION}.tgz -C doc .")
14
14
  sh("scp api-#{Cucumber::VERSION}.tgz cukes.info:/var/www/cucumber/api/ruby")
@@ -323,7 +323,7 @@ Feature: Cucumber command line
323
323
  Scenario: pystring
324
324
  Given a pystring
325
325
  \"\"\"
326
- example
326
+ example with <html> entities
327
327
  \"\"\"
328
328
 
329
329
  Scenario: table
@@ -551,7 +551,7 @@ features/tons_of_cukes.feature:5:in `Given '2' cukes'</pre></div><pre class="rub
551
551
  <span class="offending"><span class="linenum">28</span> <span class="keyword">raise</span> <span class="punct">&quot;</span><span class="string">We already have <span class="expr">#{@cukes}</span> cukes!</span><span class="punct">&quot;</span> <span class="keyword">if</span> <span class="attribute">@cukes</span></span>
552
552
  <span class="linenum">29</span> <span class="attribute">@cukes</span> <span class="punct">=</span> <span class="ident">cukes</span>
553
553
  <span class="linenum">30</span><span class="keyword">end</span></code></pre></li> <script type="text/javascript">moveProgressBar('50.9');</script><li id='features_tons_of_cukes_feature_6' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('51.9');</script><li id='features_tons_of_cukes_feature_7' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('52.8');</script><li id='features_tons_of_cukes_feature_8' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('53.8');</script><li id='features_tons_of_cukes_feature_9' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('54.8');</script><li id='features_tons_of_cukes_feature_10' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('55.7');</script><li id='features_tons_of_cukes_feature_11' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('56.7');</script><li id='features_tons_of_cukes_feature_12' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('57.6');</script><li id='features_tons_of_cukes_feature_13' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('58.6');</script><li id='features_tons_of_cukes_feature_14' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('59.6');</script><li id='features_tons_of_cukes_feature_15' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('60.5');</script><li id='features_tons_of_cukes_feature_16' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('61.5');</script><li id='features_tons_of_cukes_feature_17' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('62.5');</script><li id='features_tons_of_cukes_feature_18' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('63.4');</script><li id='features_tons_of_cukes_feature_19' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('64.4');</script><li id='features_tons_of_cukes_feature_20' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('65.3');</script><li id='features_tons_of_cukes_feature_21' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('66.3');</script><li id='features_tons_of_cukes_feature_22' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('67.3');</script><li id='features_tons_of_cukes_feature_23' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('68.2');</script><li id='features_tons_of_cukes_feature_24' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('69.2');</script><li id='features_tons_of_cukes_feature_25' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('70.1');</script><li id='features_tons_of_cukes_feature_26' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('71.1');</script><li id='features_tons_of_cukes_feature_27' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('72.1');</script><li id='features_tons_of_cukes_feature_28' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('73.0');</script><li id='features_tons_of_cukes_feature_29' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('74.0');</script><li id='features_tons_of_cukes_feature_30' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('75.0');</script><li id='features_tons_of_cukes_feature_31' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('75.9');</script><li id='features_tons_of_cukes_feature_32' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('76.9');</script><li id='features_tons_of_cukes_feature_33' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('77.8');</script><li id='features_tons_of_cukes_feature_34' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('78.8');</script><li id='features_tons_of_cukes_feature_35' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('79.8');</script><li id='features_tons_of_cukes_feature_36' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('80.7');</script><li id='features_tons_of_cukes_feature_37' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('81.7');</script><li id='features_tons_of_cukes_feature_38' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('82.6');</script><li id='features_tons_of_cukes_feature_39' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('83.6');</script><li id='features_tons_of_cukes_feature_40' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('84.6');</script><li id='features_tons_of_cukes_feature_41' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('85.5');</script><li id='features_tons_of_cukes_feature_42' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('86.5');</script><li id='features_tons_of_cukes_feature_43' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('87.5');</script><li id='features_tons_of_cukes_feature_44' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('88.4');</script><li id='features_tons_of_cukes_feature_45' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('89.4');</script><li id='features_tons_of_cukes_feature_46' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('90.3');</script><li id='features_tons_of_cukes_feature_47' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('91.3');</script><li id='features_tons_of_cukes_feature_48' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('92.3');</script><li id='features_tons_of_cukes_feature_49' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('93.2');</script><li id='features_tons_of_cukes_feature_50' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('94.2');</script><li id='features_tons_of_cukes_feature_51' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('95.1');</script><li id='features_tons_of_cukes_feature_52' class='step skipped'><div class="step_name"><span class="keyword">Given </span><span class="step val">'<span class="param">2</span>' cukes</span></div><div class="step_file"><span>features/step_definitions/sample_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('96.1');</script></ol><span class="embed"><a href="" onclick="img=document.getElementById('img_24'); img.style.display = (img.style.display == 'none' ? 'block' : 'none');return false">Screenshot</a><br>&nbsp;
554
- <img id="img_24" style="display: none" src="data:image/png;base64,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"/></span></div></div><div class="feature"><h2><span class="val">Feature: undefined multiline args</span></h2><p class="narrative"></p><div class='scenario'><span class="scenario_file">features/undefined_multiline_args.feature:3</span><h3 id="scenario_22"><span class="keyword">Scenario:</span> <span class="val">pystring</span></h3><ol><script>makeYellow('scenario_22');</script><li id='features_undefined_multiline_args_feature_4' class='step undefined'><div class="step_name"><span class="keyword">Given </span><span class="step val">a pystring</span></div><div class="step_file"><span>features/undefined_multiline_args.feature:4</span></div><pre class="val"> example</pre><pre>Given /^a pystring$/ do |string|
554
+ <img id="img_24" style="display: none" src="data:image/png;base64,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"/></span></div></div><div class="feature"><h2><span class="val">Feature: undefined multiline args</span></h2><p class="narrative"></p><div class='scenario'><span class="scenario_file">features/undefined_multiline_args.feature:3</span><h3 id="scenario_22"><span class="keyword">Scenario:</span> <span class="val">pystring</span></h3><ol><script>makeYellow('scenario_22');</script><li id='features_undefined_multiline_args_feature_4' class='step undefined'><div class="step_name"><span class="keyword">Given </span><span class="step val">a pystring</span></div><div class="step_file"><span>features/undefined_multiline_args.feature:4</span></div><pre class="val"> example with &lt;html&gt; entities</pre><pre>Given /^a pystring$/ do |string|
555
555
  pending # express the regexp above with the code you wish you had
556
556
  end</pre></li> <script type="text/javascript">moveProgressBar('97.1');</script></ol><span class="embed"><a href="" onclick="img=document.getElementById('img_25'); img.style.display = (img.style.display == 'none' ? 'block' : 'none');return false">Screenshot</a><br>&nbsp;
557
557
  <img id="img_25" style="display: none" src="data:image/png;base64,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"/></span></div><div class='scenario'><span class="scenario_file">features/undefined_multiline_args.feature:9</span><h3 id="scenario_23"><span class="keyword">Scenario:</span> <span class="val">table</span></h3><ol><script>makeYellow('scenario_23');</script><li id='features_undefined_multiline_args_feature_10' class='step undefined'><div class="step_name"><span class="keyword">Given </span><span class="step val">a table</span></div><div class="step_file"><span>features/undefined_multiline_args.feature:10</span></div><table><tr class='step' id='row_11'><td class="step" id="row_11_0"><div><span class="step param">table</span></div></td></tr> <script type="text/javascript">moveProgressBar('99.0');</script><tr class='step' id='row_12'><td class="step" id="row_12_0"><div><span class="step param">example</span></div></td></tr> <script type="text/javascript">moveProgressBar('100.0');</script></table><pre>Given /^a table$/ do |table|
@@ -12,7 +12,7 @@ Feature: JUnit output formatter
12
12
  """
13
13
 
14
14
  """
15
- And "fixtures/junit/tmp/TEST-one_passing_one_failing.xml" with junit duration "0.005" should contain
15
+ And "fixtures/junit/tmp/TEST-features-one_passing_one_failing.xml" with junit duration "0.005" should contain
16
16
  """
17
17
  <?xml version="1.0" encoding="UTF-8"?>
18
18
  <testsuite errors="0" failures="1" name="One passing scenario, one failing scenario" skipped="0" tests="2" time="0.005">
@@ -40,7 +40,7 @@ Feature: JUnit output formatter
40
40
  """
41
41
 
42
42
  """
43
- And "fixtures/junit/tmp/TEST-some_subdirectory_one_passing_one_failing.xml" with junit duration "0.005" should contain
43
+ And "fixtures/junit/tmp/TEST-features-some_subdirectory-one_passing_one_failing.xml" with junit duration "0.005" should contain
44
44
  """
45
45
  <?xml version="1.0" encoding="UTF-8"?>
46
46
  <testsuite errors="0" failures="1" name="Subdirectory - One passing scenario, one failing scenario" skipped="0" tests="2" time="0.005">
@@ -68,7 +68,7 @@ Feature: JUnit output formatter
68
68
  """
69
69
 
70
70
  """
71
- And "fixtures/junit/tmp/TEST-pending.xml" with junit duration "0.009" should contain
71
+ And "fixtures/junit/tmp/TEST-features-pending.xml" with junit duration "0.009" should contain
72
72
  """
73
73
  <?xml version="1.0" encoding="UTF-8"?>
74
74
  <testsuite errors="0" failures="0" name="Pending step" skipped="2" tests="2" time="0.009">
@@ -88,7 +88,7 @@ Feature: JUnit output formatter
88
88
  """
89
89
 
90
90
  """
91
- And "fixtures/junit/tmp/TEST-pending.xml" with junit duration "0.000160" should contain
91
+ And "fixtures/junit/tmp/TEST-features-pending.xml" with junit duration "0.000160" should contain
92
92
  """
93
93
  <?xml version="1.0" encoding="UTF-8"?>
94
94
  <testsuite errors="0" failures="2" name="Pending step" skipped="0" tests="2" time="0.000160">
@@ -120,8 +120,8 @@ Feature: JUnit output formatter
120
120
  """
121
121
 
122
122
  """
123
- And "fixtures/junit/tmp/TEST-one_passing_one_failing.xml" should exist
124
- And "fixtures/junit/tmp/TEST-pending.xml" should exist
123
+ And "fixtures/junit/tmp/TEST-features-one_passing_one_failing.xml" should exist
124
+ And "fixtures/junit/tmp/TEST-features-pending.xml" should exist
125
125
 
126
126
  Scenario: show correct error message if no --out is passed
127
127
  When I run cucumber --format junit features
@@ -140,7 +140,7 @@ You \*must\* specify \-\-out DIR for the junit formatter
140
140
  """
141
141
 
142
142
  """
143
- And "fixtures/junit/tmp/TEST-scenario_outline.xml" with junit duration "0.005" should contain
143
+ And "fixtures/junit/tmp/TEST-features-scenario_outline.xml" with junit duration "0.005" should contain
144
144
  """
145
145
  <?xml version="1.0" encoding="UTF-8"?>
146
146
  <testsuite errors="0" failures="1" name="Scenario outlines" skipped="0" tests="2" time="0.005">
@@ -20,6 +20,13 @@ Feature: Rerun Debugger
20
20
  Scenario: Pending
21
21
  Given pending
22
22
 
23
+ Scenario: Passing
24
+ Given passing
25
+ """
26
+ And a file named "features/all_good.feature" with:
27
+ """
28
+ Feature: Rerun
29
+
23
30
  Scenario: Passing
24
31
  Given passing
25
32
  """
@@ -37,7 +44,7 @@ Feature: Rerun Debugger
37
44
  end
38
45
  """
39
46
 
40
- When I run cucumber -f rerun features/sample.feature
47
+ When I run cucumber -f rerun features/sample.feature features/all_good.feature
41
48
  Then it should fail with
42
49
  """
43
50
  features/sample.feature:3:6:9
@@ -8,10 +8,6 @@ module Cucumber
8
8
  class StepInvocation #:nodoc:
9
9
  include Gherkin::Rubify
10
10
 
11
- BACKTRACE_FILTER_PATTERNS = [
12
- /vendor\/rails|lib\/cucumber|bin\/cucumber:|lib\/rspec|gems\//
13
- ]
14
-
15
11
  attr_writer :step_collection, :background
16
12
  attr_reader :name, :matched_cells, :status, :reported_exception
17
13
  attr_accessor :exception
@@ -97,9 +93,23 @@ module Cucumber
97
93
  end
98
94
 
99
95
  def failed(configuration, e, clear_backtrace)
100
- e = filter_backtrace(e)
101
- e.set_backtrace([]) if clear_backtrace
96
+ if Cucumber::JRUBY && e.class.name == 'NativeException'
97
+ # JRuby's NativeException ignores #set_backtrace.
98
+ # We're fixing it.
99
+ e.instance_eval do
100
+ def set_backtrace(backtrace)
101
+ @backtrace = backtrace
102
+ end
103
+
104
+ def backtrace
105
+ @backtrace
106
+ end
107
+ end
108
+ end
109
+
110
+ e.set_backtrace([]) if e.backtrace.nil? || clear_backtrace
102
111
  e.backtrace << @step.backtrace_line unless @step.backtrace_line.nil?
112
+ e = filter_backtrace(e)
103
113
  @exception = e
104
114
  if(configuration.strict? || !(Undefined === e) || e.nested?)
105
115
  @reported_exception = e
@@ -109,28 +119,23 @@ module Cucumber
109
119
  end
110
120
 
111
121
  PWD_PATTERN = /#{Regexp.escape(Dir.pwd)}\//m
122
+ BACKTRACE_FILTER_PATTERN = /vendor\/rails|lib\/cucumber|bin\/cucumber:|lib\/rspec|gems\/|minitest|test\/unit/
123
+ IN_PATTERN = /(.*):in `/
112
124
 
113
125
  def filter_backtrace(e)
114
126
  return e if Cucumber.use_full_backtrace
115
- (e.backtrace || []).each{|line| line.gsub!(PWD_PATTERN, "./")}
127
+ e.backtrace.each{|line| line.gsub!(PWD_PATTERN, "./")}
116
128
 
117
129
  filtered = (e.backtrace || []).reject do |line|
118
- BACKTRACE_FILTER_PATTERNS.detect { |p| line =~ p }
130
+ line =~ BACKTRACE_FILTER_PATTERN
119
131
  end
120
-
121
- if Cucumber::JRUBY && e.class.name == 'NativeException'
122
- # JRuby's NativeException ignores #set_backtrace.
123
- # We're fixing it.
124
- e.instance_eval do
125
- def set_backtrace(backtrace)
126
- @backtrace = backtrace
127
- end
128
132
 
129
- def backtrace
130
- @backtrace
131
- end
133
+ if ENV['CUCUMBER_TRUNCATE_OUTPUT']
134
+ filtered = filtered.map do |line|
135
+ line =~ IN_PATTERN ? $1 : line
132
136
  end
133
137
  end
138
+
134
139
  e.set_backtrace(filtered)
135
140
  e
136
141
  end