cucumber 0.7.3 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. data/History.txt +20 -1
  2. data/Rakefile +4 -4
  3. data/VERSION.yml +2 -2
  4. data/cucumber.gemspec +35 -23
  5. data/examples/json/features/background.feature +7 -0
  6. data/examples/json/features/one_passing_one_failing.feature +11 -0
  7. data/examples/json/features/pystring.feature +8 -0
  8. data/examples/json/features/step_definitions/steps.rb +27 -0
  9. data/examples/json/features/tables.feature +13 -0
  10. data/examples/json/tmp/out.json +1 -0
  11. data/examples/self_test/features/step_definitions/sample_steps.rb +1 -0
  12. data/examples/tickets/features/around_timeout.feature +6 -0
  13. data/examples/tickets/features/step_definitons/around_timeout_steps.rb +9 -0
  14. data/examples/{javascript → v8}/Rakefile +3 -1
  15. data/examples/{javascript → v8}/features/fibonacci.feature +4 -7
  16. data/examples/{javascript → v8}/features/step_definitions/fib_steps.js +7 -3
  17. data/examples/{javascript → v8}/features/support/env.js +3 -0
  18. data/examples/{javascript/features → v8}/lib/fibonacci.js +0 -0
  19. data/features/announce.feature +1 -1
  20. data/features/cucumber_cli_diff_disabled.feature +1 -24
  21. data/features/custom_formatter.feature +9 -3
  22. data/features/json_formatter.feature +281 -0
  23. data/features/step_definitions/cucumber_steps.rb +6 -1
  24. data/gem_tasks/rspec.rake +1 -1
  25. data/lib/cucumber/ast/feature.rb +1 -1
  26. data/lib/cucumber/cli/configuration.rb +8 -12
  27. data/lib/cucumber/cli/main.rb +0 -8
  28. data/lib/cucumber/cli/options.rb +22 -21
  29. data/lib/cucumber/formatter/json.rb +154 -0
  30. data/lib/cucumber/formatter/json_pretty.rb +14 -0
  31. data/lib/cucumber/js_support/js_dsl.js +14 -26
  32. data/lib/cucumber/js_support/js_language.rb +31 -16
  33. data/lib/cucumber/rb_support/rb_language.rb +22 -3
  34. data/spec/cucumber/ast/scenario_spec.rb +1 -1
  35. data/spec/cucumber/cli/configuration_spec.rb +8 -16
  36. data/spec/cucumber/cli/main_spec.rb +5 -5
  37. data/spec/cucumber/formatter/html_spec.rb +1 -1
  38. data/spec/cucumber/rb_support/rb_step_definition_spec.rb +4 -4
  39. data/spec/cucumber/step_mother_spec.rb +1 -1
  40. data/spec/cucumber/world/pending_spec.rb +1 -1
  41. data/spec/spec_helper.rb +1 -1
  42. metadata +65 -21
  43. data/lib/cucumber/rspec/diffing.rb +0 -17
@@ -11,7 +11,7 @@ module Cucumber
11
11
  extend SpecHelperDsl
12
12
  include SpecHelper
13
13
 
14
- matcher = defined?(Spec::Matchers) ? Spec::Matchers : Rspec::Matchers
14
+ matcher = defined?(Spec::Matchers) ? Spec::Matchers : RSpec::Matchers
15
15
 
16
16
  matcher.define :have_css_node do |css, regexp|
17
17
  match do |doc|
@@ -12,7 +12,7 @@ module Cucumber
12
12
  @rb = @step_mother.load_programming_language('rb')
13
13
  @dsl = Object.new
14
14
  @dsl.extend Cucumber::RbSupport::RbDsl
15
- @step_mother.before(mock('scenario', :null_object => true))
15
+ @step_mother.before(mock('scenario').as_null_object)
16
16
 
17
17
  $inside = nil
18
18
  end
@@ -96,7 +96,7 @@ module Cucumber
96
96
 
97
97
  it "should recognise quotes in name and make according regexp" do
98
98
  @rb.snippet_text('Given', 'A "first" arg', nil).should == unindented(%{
99
- Given /^A "([^\\"]*)" arg$/ do |arg1|
99
+ Given /^A "([^"]*)" arg$/ do |arg1|
100
100
  pending # express the regexp above with the code you wish you had
101
101
  end
102
102
  })
@@ -104,7 +104,7 @@ module Cucumber
104
104
 
105
105
  it "should recognise several quoted words in name and make according regexp and args" do
106
106
  @rb.snippet_text('Given', 'A "first" and "second" arg', nil).should == unindented(%{
107
- Given /^A "([^\\"]*)" and "([^\\"]*)" arg$/ do |arg1, arg2|
107
+ Given /^A "([^"]*)" and "([^"]*)" arg$/ do |arg1, arg2|
108
108
  pending # express the regexp above with the code you wish you had
109
109
  end
110
110
  })
@@ -120,7 +120,7 @@ module Cucumber
120
120
 
121
121
  it "should be helpful with tables" do
122
122
  @rb.snippet_text('Given', 'A "first" arg', Cucumber::Ast::Table).should == unindented(%{
123
- Given /^A "([^\\"]*)" arg$/ do |arg1, table|
123
+ Given /^A "([^"]*)" arg$/ do |arg1, table|
124
124
  # table is a Cucumber::Ast::Table
125
125
  pending # express the regexp above with the code you wish you had
126
126
  end
@@ -137,7 +137,7 @@ spec/cucumber/step_mother_spec.rb:48:in `/Three cute (.*)/'
137
137
 
138
138
  it "should implicitly extend world with modules" do
139
139
  @dsl.World(ModuleOne, ModuleTwo)
140
- @step_mother.before(mock('scenario', :null_object => true))
140
+ @step_mother.before(mock('scenario').as_null_object)
141
141
  class << @rb.current_world
142
142
  included_modules.inspect.should =~ /ModuleOne/ # Workaround for RSpec/Ruby 1.9 issue with namespaces
143
143
  included_modules.inspect.should =~ /ModuleTwo/
@@ -6,7 +6,7 @@ module Cucumber
6
6
 
7
7
  before(:each) do
8
8
  l = RbSupport::RbLanguage.new(StepMother.new)
9
- l.begin_rb_scenario(mock('scenario', :null_object => true))
9
+ l.begin_rb_scenario(mock('scenario').as_null_object)
10
10
  @world = l.current_world
11
11
  end
12
12
 
@@ -7,7 +7,7 @@ require 'rubygems'
7
7
  begin
8
8
  require 'rspec'
9
9
  require 'rspec/autorun'
10
- Rspec.configure do |c|
10
+ RSpec.configure do |c|
11
11
  c.color_enabled = true
12
12
  c.before(:each) do
13
13
  ::Term::ANSIColor.coloring = true
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 63
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
- - 7
8
- - 3
9
- version: 0.7.3
8
+ - 8
9
+ - 0
10
+ version: 0.8.0
10
11
  platform: ruby
11
12
  authors:
12
13
  - "Aslak Helles\xC3\xB8y"
@@ -14,30 +15,34 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-05-18 00:00:00 +02:00
18
+ date: 2010-06-06 00:00:00 -04:00
18
19
  default_executable: cucumber
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
22
  name: gherkin
22
23
  prerelease: false
23
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
24
26
  requirements:
25
27
  - - ">="
26
28
  - !ruby/object:Gem::Version
29
+ hash: 43
27
30
  segments:
28
31
  - 1
29
32
  - 0
30
- - 27
31
- version: 1.0.27
33
+ - 30
34
+ version: 1.0.30
32
35
  type: :runtime
33
36
  version_requirements: *id001
34
37
  - !ruby/object:Gem::Dependency
35
38
  name: term-ansicolor
36
39
  prerelease: false
37
40
  requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
38
42
  requirements:
39
43
  - - ">="
40
44
  - !ruby/object:Gem::Version
45
+ hash: 31
41
46
  segments:
42
47
  - 1
43
48
  - 0
@@ -49,9 +54,11 @@ dependencies:
49
54
  name: builder
50
55
  prerelease: false
51
56
  requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
52
58
  requirements:
53
59
  - - ">="
54
60
  - !ruby/object:Gem::Version
61
+ hash: 15
55
62
  segments:
56
63
  - 2
57
64
  - 1
@@ -63,9 +70,11 @@ dependencies:
63
70
  name: diff-lcs
64
71
  prerelease: false
65
72
  requirement: &id004 !ruby/object:Gem::Requirement
73
+ none: false
66
74
  requirements:
67
75
  - - ">="
68
76
  - !ruby/object:Gem::Version
77
+ hash: 23
69
78
  segments:
70
79
  - 1
71
80
  - 1
@@ -77,37 +86,43 @@ dependencies:
77
86
  name: json_pure
78
87
  prerelease: false
79
88
  requirement: &id005 !ruby/object:Gem::Requirement
89
+ none: false
80
90
  requirements:
81
91
  - - ">="
82
92
  - !ruby/object:Gem::Version
93
+ hash: 1
83
94
  segments:
84
95
  - 1
85
- - 2
86
96
  - 4
87
- version: 1.2.4
97
+ - 3
98
+ version: 1.4.3
88
99
  type: :runtime
89
100
  version_requirements: *id005
90
101
  - !ruby/object:Gem::Dependency
91
102
  name: nokogiri
92
103
  prerelease: false
93
104
  requirement: &id006 !ruby/object:Gem::Requirement
105
+ none: false
94
106
  requirements:
95
107
  - - ">="
96
108
  - !ruby/object:Gem::Version
109
+ hash: 3
97
110
  segments:
98
111
  - 1
99
112
  - 4
100
- - 1
101
- version: 1.4.1
113
+ - 2
114
+ version: 1.4.2
102
115
  type: :development
103
116
  version_requirements: *id006
104
117
  - !ruby/object:Gem::Dependency
105
118
  name: prawn
106
119
  prerelease: false
107
120
  requirement: &id007 !ruby/object:Gem::Requirement
121
+ none: false
108
122
  requirements:
109
123
  - - "="
110
124
  - !ruby/object:Gem::Version
125
+ hash: 1
111
126
  segments:
112
127
  - 0
113
128
  - 6
@@ -119,9 +134,11 @@ dependencies:
119
134
  name: prawn-format
120
135
  prerelease: false
121
136
  requirement: &id008 !ruby/object:Gem::Requirement
137
+ none: false
122
138
  requirements:
123
139
  - - "="
124
140
  - !ruby/object:Gem::Version
141
+ hash: 17
125
142
  segments:
126
143
  - 0
127
144
  - 2
@@ -133,9 +150,11 @@ dependencies:
133
150
  name: htmlentities
134
151
  prerelease: false
135
152
  requirement: &id009 !ruby/object:Gem::Requirement
153
+ none: false
136
154
  requirements:
137
155
  - - ">="
138
156
  - !ruby/object:Gem::Version
157
+ hash: 53
139
158
  segments:
140
159
  - 4
141
160
  - 2
@@ -147,23 +166,29 @@ dependencies:
147
166
  name: rspec
148
167
  prerelease: false
149
168
  requirement: &id010 !ruby/object:Gem::Requirement
169
+ none: false
150
170
  requirements:
151
171
  - - ">="
152
172
  - !ruby/object:Gem::Version
173
+ hash: 62196471
153
174
  segments:
154
- - 1
155
- - 3
175
+ - 2
156
176
  - 0
157
- version: 1.3.0
177
+ - 0
178
+ - beta
179
+ - 10
180
+ version: 2.0.0.beta.10
158
181
  type: :development
159
182
  version_requirements: *id010
160
183
  - !ruby/object:Gem::Dependency
161
184
  name: syntax
162
185
  prerelease: false
163
186
  requirement: &id011 !ruby/object:Gem::Requirement
187
+ none: false
164
188
  requirements:
165
189
  - - ">="
166
190
  - !ruby/object:Gem::Version
191
+ hash: 23
167
192
  segments:
168
193
  - 1
169
194
  - 0
@@ -175,9 +200,11 @@ dependencies:
175
200
  name: spork
176
201
  prerelease: false
177
202
  requirement: &id012 !ruby/object:Gem::Requirement
203
+ none: false
178
204
  requirements:
179
205
  - - ">="
180
206
  - !ruby/object:Gem::Version
207
+ hash: 57
181
208
  segments:
182
209
  - 0
183
210
  - 8
@@ -400,11 +427,12 @@ files:
400
427
  - examples/i18n/zh-TW/features/division.feature
401
428
  - examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb
402
429
  - examples/i18n/zh-TW/lib/calculator.rb
403
- - examples/javascript/Rakefile
404
- - examples/javascript/features/fibonacci.feature
405
- - examples/javascript/features/lib/fibonacci.js
406
- - examples/javascript/features/step_definitions/fib_steps.js
407
- - examples/javascript/features/support/env.js
430
+ - examples/json/features/background.feature
431
+ - examples/json/features/one_passing_one_failing.feature
432
+ - examples/json/features/pystring.feature
433
+ - examples/json/features/step_definitions/steps.rb
434
+ - examples/json/features/tables.feature
435
+ - examples/json/tmp/out.json
408
436
  - examples/junit/features/one_passing_one_failing.feature
409
437
  - examples/junit/features/pending.feature
410
438
  - examples/junit/features/step_definitions/steps.rb
@@ -494,17 +522,24 @@ files:
494
522
  - examples/tickets/features/301/filter_background_tagged_hooks.feature
495
523
  - examples/tickets/features/301/filter_background_tagged_hooks_steps.rb
496
524
  - examples/tickets/features/306/only_background.feature
525
+ - examples/tickets/features/around_timeout.feature
497
526
  - examples/tickets/features/half_manual.feature
498
527
  - examples/tickets/features/lib/eatting_machine.rb
499
528
  - examples/tickets/features/lib/pantry.rb
500
529
  - examples/tickets/features/scenario_outline.feature
501
530
  - examples/tickets/features/step_definitons/246_steps.rb
502
531
  - examples/tickets/features/step_definitons/248_steps.rb
532
+ - examples/tickets/features/step_definitons/around_timeout_steps.rb
503
533
  - examples/tickets/features/step_definitons/half_manual_steps.rb
504
534
  - examples/tickets/features/step_definitons/scenario_outline_steps.rb
505
535
  - examples/tickets/features/step_definitons/tickets_steps.rb
506
536
  - examples/tickets/features/table_diffing.feature
507
537
  - examples/tickets/features/tickets.feature
538
+ - examples/v8/Rakefile
539
+ - examples/v8/features/fibonacci.feature
540
+ - examples/v8/features/step_definitions/fib_steps.js
541
+ - examples/v8/features/support/env.js
542
+ - examples/v8/lib/fibonacci.js
508
543
  - examples/watir/.gitignore
509
544
  - examples/watir/README.textile
510
545
  - examples/watir/Rakefile
@@ -539,6 +574,7 @@ files:
539
574
  - features/expand.feature
540
575
  - features/html_formatter.feature
541
576
  - features/html_formatter/a.html
577
+ - features/json_formatter.feature
542
578
  - features/junit_formatter.feature
543
579
  - features/language_from_header.feature
544
580
  - features/language_help.feature
@@ -628,6 +664,8 @@ files:
628
664
  - lib/cucumber/formatter/duration.rb
629
665
  - lib/cucumber/formatter/html.rb
630
666
  - lib/cucumber/formatter/io.rb
667
+ - lib/cucumber/formatter/json.rb
668
+ - lib/cucumber/formatter/json_pretty.rb
631
669
  - lib/cucumber/formatter/junit.rb
632
670
  - lib/cucumber/formatter/ordered_xml_markup.rb
633
671
  - lib/cucumber/formatter/pdf.rb
@@ -659,7 +697,6 @@ files:
659
697
  - lib/cucumber/rb_support/rb_transform.rb
660
698
  - lib/cucumber/rb_support/rb_world.rb
661
699
  - lib/cucumber/rb_support/regexp_argument_matcher.rb
662
- - lib/cucumber/rspec/diffing.rb
663
700
  - lib/cucumber/rspec/disable_option_parser.rb
664
701
  - lib/cucumber/step_argument.rb
665
702
  - lib/cucumber/step_definition_light.rb
@@ -711,6 +748,7 @@ files:
711
748
  - spec/cucumber/wire_support/wire_step_definition_spec.rb
712
749
  - spec/cucumber/world/pending_spec.rb
713
750
  - spec/spec_helper.rb
751
+ - examples/self_test/tmp/features/step_definitions/steps.rb
714
752
  has_rdoc: true
715
753
  homepage: http://cukes.info
716
754
  licenses: []
@@ -721,7 +759,7 @@ post_install_message: |+
721
759
 
722
760
  (::) U P G R A D I N G (::)
723
761
 
724
- Thank you for installing cucumber-0.7.3.
762
+ Thank you for installing cucumber-0.8.0.
725
763
  Please be sure to read http://wiki.github.com/aslakhellesoy/cucumber/upgrading
726
764
  for important information about this release. Happy cuking!
727
765
 
@@ -732,23 +770,27 @@ rdoc_options:
732
770
  require_paths:
733
771
  - lib
734
772
  required_ruby_version: !ruby/object:Gem::Requirement
773
+ none: false
735
774
  requirements:
736
775
  - - ">="
737
776
  - !ruby/object:Gem::Version
777
+ hash: 3
738
778
  segments:
739
779
  - 0
740
780
  version: "0"
741
781
  required_rubygems_version: !ruby/object:Gem::Requirement
782
+ none: false
742
783
  requirements:
743
784
  - - ">="
744
785
  - !ruby/object:Gem::Version
786
+ hash: 3
745
787
  segments:
746
788
  - 0
747
789
  version: "0"
748
790
  requirements: []
749
791
 
750
792
  rubyforge_project:
751
- rubygems_version: 1.3.6
793
+ rubygems_version: 1.3.7
752
794
  signing_key:
753
795
  specification_version: 3
754
796
  summary: Behaviour Driven Development with elegance and joy
@@ -873,6 +915,7 @@ test_files:
873
915
  - examples/i18n/zh-CN/lib/calculator.rb
874
916
  - examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb
875
917
  - examples/i18n/zh-TW/lib/calculator.rb
918
+ - examples/json/features/step_definitions/steps.rb
876
919
  - examples/junit/features/step_definitions/steps.rb
877
920
  - examples/ramaze/app.rb
878
921
  - examples/ramaze/features/step_definitions/add_steps.rb
@@ -899,6 +942,7 @@ test_files:
899
942
  - examples/tickets/features/lib/pantry.rb
900
943
  - examples/tickets/features/step_definitons/246_steps.rb
901
944
  - examples/tickets/features/step_definitons/248_steps.rb
945
+ - examples/tickets/features/step_definitons/around_timeout_steps.rb
902
946
  - examples/tickets/features/step_definitons/half_manual_steps.rb
903
947
  - examples/tickets/features/step_definitons/scenario_outline_steps.rb
904
948
  - examples/tickets/features/step_definitons/tickets_steps.rb
@@ -1,17 +0,0 @@
1
- require 'ostruct'
2
-
3
- options = OpenStruct.new(:diff_format => :unified, :context_lines => 3)
4
-
5
- begin
6
- # RSpec >=2.0
7
- require 'rspec/expectations'
8
- require 'rspec/expectations/differs/default'
9
- Rspec::Expectations.differ = ::Rspec::Expectations::Differs::Default.new(options)
10
- rescue LoadError => try_rspec_1_2_4_or_higher
11
- begin
12
- require 'spec/expectations'
13
- require 'spec/runner/differs/default'
14
- Spec::Expectations.differ = Spec::Expectations::Differs::Default.new(options)
15
- rescue LoadError => give_up
16
- end
17
- end