cucumber 0.6.4 → 0.7.0.beta.1

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.
Files changed (124) hide show
  1. data/History.txt +11 -0
  2. data/Rakefile +3 -5
  3. data/VERSION.yml +3 -3
  4. data/cucumber.gemspec +35 -55
  5. data/cucumber.yml +3 -2
  6. data/examples/i18n/Rakefile +1 -0
  7. data/examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb +1 -1
  8. data/examples/i18n/eo/.gitignore +1 -0
  9. data/examples/i18n/eo/Rakefile +6 -0
  10. data/examples/i18n/eo/features/adicio.feature +17 -0
  11. data/examples/i18n/eo/features/divido.feature +10 -0
  12. data/examples/i18n/eo/features/step_definitons/calculator_steps.rb +24 -0
  13. data/examples/i18n/eo/lib/calculator.rb +14 -0
  14. data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +1 -1
  15. data/examples/i18n/ru/features/division.feature +1 -1
  16. data/examples/i18n/uk/Rakefile +6 -0
  17. data/examples/i18n/uk/features/addition.feature +11 -0
  18. data/examples/i18n/uk/features/consecutive_calculations.feature +17 -0
  19. data/examples/i18n/uk/features/division.feature +16 -0
  20. data/examples/i18n/uk/features/step_definitons/calculator_steps.rb +19 -0
  21. data/examples/i18n/uk/features/support/env.rb +5 -0
  22. data/examples/i18n/uk/features/support/world.rb +8 -0
  23. data/examples/i18n/uk/lib/calculator.rb +24 -0
  24. data/examples/i18n/uz/features/step_definitons/calculator_steps.rb +1 -1
  25. data/examples/sinatra/features/add.feature +1 -1
  26. data/examples/sinatra/features/step_definitions/add_steps.rb +1 -1
  27. data/examples/sinatra/features/support/env.rb +2 -19
  28. data/examples/sinatra/views/add.erb +7 -5
  29. data/features/announce.feature +46 -39
  30. data/features/background.feature +3 -0
  31. data/features/call_many_steps.feature +1 -1
  32. data/features/cucumber_cli_outlines.feature +12 -0
  33. data/features/drb_server_integration.feature +1 -1
  34. data/features/exception_in_after_block.feature +3 -0
  35. data/features/exception_in_after_step_block.feature +3 -0
  36. data/features/html_formatter/a.html +29 -29
  37. data/features/language_help.feature +57 -52
  38. data/features/multiline_names.feature +1 -0
  39. data/features/step_definitions/cucumber_steps.rb +2 -1
  40. data/features/usage_and_stepdefs_formatter.feature +30 -30
  41. data/features/wire_protocol.feature +12 -9
  42. data/features/wire_protocol_table_diffing.feature +8 -6
  43. data/features/wire_protocol_timeouts.feature +5 -4
  44. data/gem_tasks/treetop.rake +13 -0
  45. data/lib/autotest/cucumber_mixin.rb +1 -1
  46. data/lib/cucumber/ast.rb +1 -0
  47. data/lib/cucumber/ast/background.rb +14 -4
  48. data/lib/cucumber/ast/examples.rb +2 -0
  49. data/lib/cucumber/ast/feature.rb +26 -5
  50. data/lib/cucumber/ast/feature_element.rb +18 -9
  51. data/lib/cucumber/ast/outline_table.rb +13 -1
  52. data/lib/cucumber/ast/py_string.rb +26 -9
  53. data/lib/cucumber/ast/scenario.rb +13 -7
  54. data/lib/cucumber/ast/scenario_outline.rb +18 -6
  55. data/lib/cucumber/ast/step.rb +4 -4
  56. data/lib/cucumber/ast/step_invocation.rb +5 -2
  57. data/lib/cucumber/ast/table.rb +26 -1
  58. data/lib/cucumber/ast/tags.rb +3 -1
  59. data/lib/cucumber/ast/tree_walker.rb +2 -18
  60. data/lib/cucumber/cli/configuration.rb +2 -2
  61. data/lib/cucumber/cli/options.rb +16 -21
  62. data/lib/cucumber/feature_file.rb +25 -7
  63. data/lib/cucumber/formatter/ansicolor.rb +6 -1
  64. data/lib/cucumber/formatter/console.rb +4 -3
  65. data/lib/cucumber/formatter/html.rb +8 -5
  66. data/lib/cucumber/formatter/junit.rb +5 -4
  67. data/lib/cucumber/formatter/pdf.rb +2 -3
  68. data/lib/cucumber/formatter/pretty.rb +5 -5
  69. data/lib/cucumber/formatter/usage.rb +2 -2
  70. data/lib/cucumber/parser.rb +0 -6
  71. data/lib/cucumber/parser/gherkin_builder.rb +142 -0
  72. data/lib/cucumber/platform.rb +0 -2
  73. data/lib/cucumber/rb_support/rb_language.rb +7 -12
  74. data/lib/cucumber/step_mother.rb +4 -26
  75. data/spec/cucumber/ast/background_spec.rb +0 -1
  76. data/spec/cucumber/ast/feature_factory.rb +2 -4
  77. data/spec/cucumber/ast/feature_spec.rb +0 -2
  78. data/spec/cucumber/ast/py_string_spec.rb +2 -13
  79. data/spec/cucumber/ast/scenario_outline_spec.rb +0 -1
  80. data/spec/cucumber/ast/scenario_spec.rb +0 -1
  81. data/spec/cucumber/ast/step_spec.rb +1 -1
  82. data/spec/cucumber/ast/table_spec.rb +2 -2
  83. data/spec/cucumber/cli/main_spec.rb +1 -1
  84. data/spec/cucumber/cli/options_spec.rb +2 -2
  85. data/spec/cucumber/formatter/html_spec.rb +20 -1
  86. data/spec/cucumber/formatter/junit_spec.rb +1 -0
  87. data/spec/cucumber/formatter/spec_helper.rb +7 -5
  88. data/spec/cucumber/rb_support/rb_step_definition_spec.rb +0 -1
  89. data/spec/cucumber/step_mother_spec.rb +2 -2
  90. data/spec/spec_helper.rb +0 -1
  91. metadata +67 -93
  92. data/lib/cucumber/cli/language_help_formatter.rb +0 -72
  93. data/lib/cucumber/filter.rb +0 -43
  94. data/lib/cucumber/languages.yml +0 -536
  95. data/lib/cucumber/parser/common.rb +0 -182
  96. data/lib/cucumber/parser/common.tt +0 -21
  97. data/lib/cucumber/parser/feature.rb +0 -1591
  98. data/lib/cucumber/parser/feature.tt +0 -287
  99. data/lib/cucumber/parser/i18n.tt +0 -35
  100. data/lib/cucumber/parser/natural_language.rb +0 -118
  101. data/lib/cucumber/parser/py_string.rb +0 -285
  102. data/lib/cucumber/parser/py_string.tt +0 -45
  103. data/lib/cucumber/parser/table.rb +0 -314
  104. data/lib/cucumber/parser/table.tt +0 -60
  105. data/lib/cucumber/parser/treetop_ext.rb +0 -54
  106. data/lib/cucumber/tag_expression.rb +0 -41
  107. data/spec/cucumber/ast/feature_element_spec.rb +0 -41
  108. data/spec/cucumber/ast/step_collection_spec.rb +0 -17
  109. data/spec/cucumber/parser/feature_parser_spec.rb +0 -400
  110. data/spec/cucumber/parser/table_parser_spec.rb +0 -52
  111. data/spec/cucumber/tag_expression_spec.rb +0 -125
  112. data/spec/cucumber/treetop_parser/empty_feature.feature +0 -4
  113. data/spec/cucumber/treetop_parser/empty_scenario.feature +0 -9
  114. data/spec/cucumber/treetop_parser/empty_scenario_outline.feature +0 -3
  115. data/spec/cucumber/treetop_parser/fit_scenario.feature +0 -8
  116. data/spec/cucumber/treetop_parser/given_scenario.feature +0 -9
  117. data/spec/cucumber/treetop_parser/invalid_scenario_outlines.feature +0 -7
  118. data/spec/cucumber/treetop_parser/multiline_steps.feature +0 -17
  119. data/spec/cucumber/treetop_parser/multiple_tables.feature +0 -27
  120. data/spec/cucumber/treetop_parser/scenario_outline.feature +0 -16
  121. data/spec/cucumber/treetop_parser/spaces.feature +0 -12
  122. data/spec/cucumber/treetop_parser/test_dos.feature +0 -25
  123. data/spec/cucumber/treetop_parser/with_comments.feature +0 -23
  124. data/spec/cucumber/treetop_parser/with_tags.feature +0 -18
@@ -1,3 +1,14 @@
1
+ == 0.7.0.beta.1 (2010-04-20)
2
+
3
+ Treetop is gone and replaced with Ragel. The new Ragel parser lives in the gherkin gem.
4
+ Parse times are up to 100 times faster.
5
+
6
+ === New Features
7
+ * Upgraded Sinatra example to use Snatra 1.0 and Capybara. (Aslak Hellesøy)
8
+
9
+ === Changed Features
10
+ * New i18n translations now have to be contributed to the gherkin project.
11
+
1
12
  == 0.6.4 2010-03-30
2
13
 
3
14
  === Bugfixes
data/Rakefile CHANGED
@@ -15,19 +15,17 @@ begin
15
15
  gem.email = "cukes@googlegroups.com"
16
16
  gem.homepage = "http://cukes.info"
17
17
  gem.authors = ["Aslak Hellesøy"]
18
- gem.rubyforge_project = "rspec"
19
18
 
19
+ gem.add_dependency 'gherkin', '= 1.0.16'
20
20
  gem.add_dependency 'term-ansicolor', '>= 1.0.4'
21
- gem.add_dependency 'treetop', '>= 1.4.2'
22
- gem.add_dependency 'polyglot', '>= 0.2.9'
23
21
  gem.add_dependency 'builder', '>= 2.1.2'
24
22
  gem.add_dependency 'diff-lcs', '>= 1.1.2'
25
- gem.add_dependency 'json_pure', '>= 1.2.0'
23
+ gem.add_dependency 'json_pure', '>= 1.2.4'
26
24
 
27
25
  gem.add_development_dependency 'nokogiri', '>= 1.4.1'
28
26
  gem.add_development_dependency 'prawn', '= 0.6.3'
29
27
  gem.add_development_dependency 'prawn-format', '= 0.2.3'
30
- gem.add_development_dependency 'htmlentities', '>= 4.2.0'
28
+ gem.add_development_dependency 'htmlentities', '>= 4.2.1'
31
29
  gem.add_development_dependency 'rspec', '>= 1.3.0'
32
30
  gem.add_development_dependency 'syntax', '>= 1.0.0'
33
31
  gem.add_development_dependency 'spork', '>= 0.7.5' unless Cucumber::JRUBY || Cucumber::WINDOWS
@@ -1,5 +1,5 @@
1
1
  ---
2
- :patch: 4
3
- :build:
2
+ :patch: 0
3
+ :build: beta.1
4
4
  :major: 0
5
- :minor: 6
5
+ :minor: 7
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{cucumber}
8
- s.version = "0.6.4"
8
+ s.version = "0.7.0.beta.1"
9
9
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
10
+ s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Aslak Helles\303\270y"]
12
- s.date = %q{2010-03-30}
12
+ s.date = %q{2010-04-20}
13
13
  s.default_executable = %q{cucumber}
14
14
  s.description = %q{A BDD tool written in Ruby}
15
15
  s.email = %q{cukes@googlegroups.com}
@@ -72,6 +72,12 @@ Gem::Specification.new do |s|
72
72
  "examples/i18n/en/features/division.feature",
73
73
  "examples/i18n/en/features/step_definitons/calculator_steps.rb",
74
74
  "examples/i18n/en/lib/calculator.rb",
75
+ "examples/i18n/eo/.gitignore",
76
+ "examples/i18n/eo/Rakefile",
77
+ "examples/i18n/eo/features/adicio.feature",
78
+ "examples/i18n/eo/features/divido.feature",
79
+ "examples/i18n/eo/features/step_definitons/calculator_steps.rb",
80
+ "examples/i18n/eo/lib/calculator.rb",
75
81
  "examples/i18n/es/Rakefile",
76
82
  "examples/i18n/es/features/adicion.feature",
77
83
  "examples/i18n/es/features/step_definitons/calculador_steps.rb",
@@ -192,6 +198,14 @@ Gem::Specification.new do |s|
192
198
  "examples/i18n/tr/features/step_definitons/hesap_makinesi_adimlari.rb",
193
199
  "examples/i18n/tr/features/toplama.feature",
194
200
  "examples/i18n/tr/lib/hesap_makinesi.rb",
201
+ "examples/i18n/uk/Rakefile",
202
+ "examples/i18n/uk/features/addition.feature",
203
+ "examples/i18n/uk/features/consecutive_calculations.feature",
204
+ "examples/i18n/uk/features/division.feature",
205
+ "examples/i18n/uk/features/step_definitons/calculator_steps.rb",
206
+ "examples/i18n/uk/features/support/env.rb",
207
+ "examples/i18n/uk/features/support/world.rb",
208
+ "examples/i18n/uk/lib/calculator.rb",
195
209
  "examples/i18n/uz/Rakefile",
196
210
  "examples/i18n/uz/features/addition.feature",
197
211
  "examples/i18n/uz/features/consecutive_calculations.feature",
@@ -387,6 +401,7 @@ Gem::Specification.new do |s|
387
401
  "gem_tasks/rspec.rake",
388
402
  "gem_tasks/sass.rake",
389
403
  "gem_tasks/sdoc.rake",
404
+ "gem_tasks/treetop.rake",
390
405
  "lib/README.rdoc",
391
406
  "lib/autotest/cucumber.rb",
392
407
  "lib/autotest/cucumber_mixin.rb",
@@ -418,7 +433,6 @@ Gem::Specification.new do |s|
418
433
  "lib/cucumber/broadcaster.rb",
419
434
  "lib/cucumber/cli/configuration.rb",
420
435
  "lib/cucumber/cli/drb_client.rb",
421
- "lib/cucumber/cli/language_help_formatter.rb",
422
436
  "lib/cucumber/cli/main.rb",
423
437
  "lib/cucumber/cli/options.rb",
424
438
  "lib/cucumber/cli/profile_loader.rb",
@@ -427,7 +441,6 @@ Gem::Specification.new do |s|
427
441
  "lib/cucumber/core_ext/proc.rb",
428
442
  "lib/cucumber/core_ext/string.rb",
429
443
  "lib/cucumber/feature_file.rb",
430
- "lib/cucumber/filter.rb",
431
444
  "lib/cucumber/formatter/ansicolor.rb",
432
445
  "lib/cucumber/formatter/color_io.rb",
433
446
  "lib/cucumber/formatter/console.rb",
@@ -451,19 +464,8 @@ Gem::Specification.new do |s|
451
464
  "lib/cucumber/formatter/usage.rb",
452
465
  "lib/cucumber/language_support.rb",
453
466
  "lib/cucumber/language_support/language_methods.rb",
454
- "lib/cucumber/languages.yml",
455
467
  "lib/cucumber/parser.rb",
456
- "lib/cucumber/parser/common.rb",
457
- "lib/cucumber/parser/common.tt",
458
- "lib/cucumber/parser/feature.rb",
459
- "lib/cucumber/parser/feature.tt",
460
- "lib/cucumber/parser/i18n.tt",
461
- "lib/cucumber/parser/natural_language.rb",
462
- "lib/cucumber/parser/py_string.rb",
463
- "lib/cucumber/parser/py_string.tt",
464
- "lib/cucumber/parser/table.rb",
465
- "lib/cucumber/parser/table.tt",
466
- "lib/cucumber/parser/treetop_ext.rb",
468
+ "lib/cucumber/parser/gherkin_builder.rb",
467
469
  "lib/cucumber/platform.rb",
468
470
  "lib/cucumber/py_support/py_dsl.py",
469
471
  "lib/cucumber/py_support/py_language.py",
@@ -481,7 +483,6 @@ Gem::Specification.new do |s|
481
483
  "lib/cucumber/step_definition_light.rb",
482
484
  "lib/cucumber/step_match.rb",
483
485
  "lib/cucumber/step_mother.rb",
484
- "lib/cucumber/tag_expression.rb",
485
486
  "lib/cucumber/wire_support/configuration.rb",
486
487
  "lib/cucumber/wire_support/connection.rb",
487
488
  "lib/cucumber/wire_support/request_handler.rb",
@@ -492,14 +493,12 @@ Gem::Specification.new do |s|
492
493
  "lib/cucumber/wire_support/wire_protocol/requests.rb",
493
494
  "lib/cucumber/wire_support/wire_step_definition.rb",
494
495
  "spec/cucumber/ast/background_spec.rb",
495
- "spec/cucumber/ast/feature_element_spec.rb",
496
496
  "spec/cucumber/ast/feature_factory.rb",
497
497
  "spec/cucumber/ast/feature_spec.rb",
498
498
  "spec/cucumber/ast/outline_table_spec.rb",
499
499
  "spec/cucumber/ast/py_string_spec.rb",
500
500
  "spec/cucumber/ast/scenario_outline_spec.rb",
501
501
  "spec/cucumber/ast/scenario_spec.rb",
502
- "spec/cucumber/ast/step_collection_spec.rb",
503
502
  "spec/cucumber/ast/step_spec.rb",
504
503
  "spec/cucumber/ast/table_spec.rb",
505
504
  "spec/cucumber/ast/tree_walker_spec.rb",
@@ -517,27 +516,11 @@ Gem::Specification.new do |s|
517
516
  "spec/cucumber/formatter/junit_spec.rb",
518
517
  "spec/cucumber/formatter/progress_spec.rb",
519
518
  "spec/cucumber/formatter/spec_helper.rb",
520
- "spec/cucumber/parser/feature_parser_spec.rb",
521
- "spec/cucumber/parser/table_parser_spec.rb",
522
519
  "spec/cucumber/rb_support/rb_step_definition_spec.rb",
523
520
  "spec/cucumber/rb_support/regexp_argument_matcher_spec.rb",
524
521
  "spec/cucumber/sell_cucumbers.feature",
525
522
  "spec/cucumber/step_match_spec.rb",
526
523
  "spec/cucumber/step_mother_spec.rb",
527
- "spec/cucumber/tag_expression_spec.rb",
528
- "spec/cucumber/treetop_parser/empty_feature.feature",
529
- "spec/cucumber/treetop_parser/empty_scenario.feature",
530
- "spec/cucumber/treetop_parser/empty_scenario_outline.feature",
531
- "spec/cucumber/treetop_parser/fit_scenario.feature",
532
- "spec/cucumber/treetop_parser/given_scenario.feature",
533
- "spec/cucumber/treetop_parser/invalid_scenario_outlines.feature",
534
- "spec/cucumber/treetop_parser/multiline_steps.feature",
535
- "spec/cucumber/treetop_parser/multiple_tables.feature",
536
- "spec/cucumber/treetop_parser/scenario_outline.feature",
537
- "spec/cucumber/treetop_parser/spaces.feature",
538
- "spec/cucumber/treetop_parser/test_dos.feature",
539
- "spec/cucumber/treetop_parser/with_comments.feature",
540
- "spec/cucumber/treetop_parser/with_tags.feature",
541
524
  "spec/cucumber/wire_support/configuration_spec.rb",
542
525
  "spec/cucumber/wire_support/connection_spec.rb",
543
526
  "spec/cucumber/wire_support/wire_exception_spec.rb",
@@ -554,7 +537,7 @@ Gem::Specification.new do |s|
554
537
 
555
538
  (::) U P G R A D I N G (::)
556
539
 
557
- Thank you for installing cucumber-0.6.4.
540
+ Thank you for installing cucumber-0.7.0.beta.1.
558
541
  Please be sure to read http://wiki.github.com/aslakhellesoy/cucumber/upgrading
559
542
  for important information about this release. Happy cuking!
560
543
 
@@ -563,19 +546,16 @@ for important information about this release. Happy cuking!
563
546
  }
564
547
  s.rdoc_options = ["--charset=UTF-8"]
565
548
  s.require_paths = ["lib"]
566
- s.rubyforge_project = %q{rspec}
567
549
  s.rubygems_version = %q{1.3.6}
568
550
  s.summary = %q{Behaviour Driven Development with elegance and joy}
569
551
  s.test_files = [
570
552
  "spec/cucumber/ast/background_spec.rb",
571
- "spec/cucumber/ast/feature_element_spec.rb",
572
553
  "spec/cucumber/ast/feature_factory.rb",
573
554
  "spec/cucumber/ast/feature_spec.rb",
574
555
  "spec/cucumber/ast/outline_table_spec.rb",
575
556
  "spec/cucumber/ast/py_string_spec.rb",
576
557
  "spec/cucumber/ast/scenario_outline_spec.rb",
577
558
  "spec/cucumber/ast/scenario_spec.rb",
578
- "spec/cucumber/ast/step_collection_spec.rb",
579
559
  "spec/cucumber/ast/step_spec.rb",
580
560
  "spec/cucumber/ast/table_spec.rb",
581
561
  "spec/cucumber/ast/tree_walker_spec.rb",
@@ -593,13 +573,10 @@ for important information about this release. Happy cuking!
593
573
  "spec/cucumber/formatter/junit_spec.rb",
594
574
  "spec/cucumber/formatter/progress_spec.rb",
595
575
  "spec/cucumber/formatter/spec_helper.rb",
596
- "spec/cucumber/parser/feature_parser_spec.rb",
597
- "spec/cucumber/parser/table_parser_spec.rb",
598
576
  "spec/cucumber/rb_support/rb_step_definition_spec.rb",
599
577
  "spec/cucumber/rb_support/regexp_argument_matcher_spec.rb",
600
578
  "spec/cucumber/step_match_spec.rb",
601
579
  "spec/cucumber/step_mother_spec.rb",
602
- "spec/cucumber/tag_expression_spec.rb",
603
580
  "spec/cucumber/wire_support/configuration_spec.rb",
604
581
  "spec/cucumber/wire_support/connection_spec.rb",
605
582
  "spec/cucumber/wire_support/wire_exception_spec.rb",
@@ -626,6 +603,8 @@ for important information about this release. Happy cuking!
626
603
  "examples/i18n/en-lol/features/support/env.rb",
627
604
  "examples/i18n/en-lol/lib/basket.rb",
628
605
  "examples/i18n/en-lol/lib/belly.rb",
606
+ "examples/i18n/eo/features/step_definitons/calculator_steps.rb",
607
+ "examples/i18n/eo/lib/calculator.rb",
629
608
  "examples/i18n/es/features/step_definitons/calculador_steps.rb",
630
609
  "examples/i18n/es/lib/calculador.rb",
631
610
  "examples/i18n/et/features/step_definitions/kalkulaator_steps.rb",
@@ -678,6 +657,10 @@ for important information about this release. Happy cuking!
678
657
  "examples/i18n/sv/lib/kalkulator.rb",
679
658
  "examples/i18n/tr/features/step_definitons/hesap_makinesi_adimlari.rb",
680
659
  "examples/i18n/tr/lib/hesap_makinesi.rb",
660
+ "examples/i18n/uk/features/step_definitons/calculator_steps.rb",
661
+ "examples/i18n/uk/features/support/env.rb",
662
+ "examples/i18n/uk/features/support/world.rb",
663
+ "examples/i18n/uk/lib/calculator.rb",
681
664
  "examples/i18n/uz/features/step_definitons/calculator_steps.rb",
682
665
  "examples/i18n/uz/features/support/env.rb",
683
666
  "examples/i18n/uz/features/support/world.rb",
@@ -731,45 +714,42 @@ for important information about this release. Happy cuking!
731
714
  s.specification_version = 3
732
715
 
733
716
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
717
+ s.add_runtime_dependency(%q<gherkin>, ["= 1.0.16"])
734
718
  s.add_runtime_dependency(%q<term-ansicolor>, [">= 1.0.4"])
735
- s.add_runtime_dependency(%q<treetop>, [">= 1.4.2"])
736
- s.add_runtime_dependency(%q<polyglot>, [">= 0.2.9"])
737
719
  s.add_runtime_dependency(%q<builder>, [">= 2.1.2"])
738
720
  s.add_runtime_dependency(%q<diff-lcs>, [">= 1.1.2"])
739
- s.add_runtime_dependency(%q<json_pure>, [">= 1.2.0"])
721
+ s.add_runtime_dependency(%q<json_pure>, [">= 1.2.4"])
740
722
  s.add_development_dependency(%q<nokogiri>, [">= 1.4.1"])
741
723
  s.add_development_dependency(%q<prawn>, ["= 0.6.3"])
742
724
  s.add_development_dependency(%q<prawn-format>, ["= 0.2.3"])
743
- s.add_development_dependency(%q<htmlentities>, [">= 4.2.0"])
725
+ s.add_development_dependency(%q<htmlentities>, [">= 4.2.1"])
744
726
  s.add_development_dependency(%q<rspec>, [">= 1.3.0"])
745
727
  s.add_development_dependency(%q<syntax>, [">= 1.0.0"])
746
728
  s.add_development_dependency(%q<spork>, [">= 0.7.5"])
747
729
  else
730
+ s.add_dependency(%q<gherkin>, ["= 1.0.16"])
748
731
  s.add_dependency(%q<term-ansicolor>, [">= 1.0.4"])
749
- s.add_dependency(%q<treetop>, [">= 1.4.2"])
750
- s.add_dependency(%q<polyglot>, [">= 0.2.9"])
751
732
  s.add_dependency(%q<builder>, [">= 2.1.2"])
752
733
  s.add_dependency(%q<diff-lcs>, [">= 1.1.2"])
753
- s.add_dependency(%q<json_pure>, [">= 1.2.0"])
734
+ s.add_dependency(%q<json_pure>, [">= 1.2.4"])
754
735
  s.add_dependency(%q<nokogiri>, [">= 1.4.1"])
755
736
  s.add_dependency(%q<prawn>, ["= 0.6.3"])
756
737
  s.add_dependency(%q<prawn-format>, ["= 0.2.3"])
757
- s.add_dependency(%q<htmlentities>, [">= 4.2.0"])
738
+ s.add_dependency(%q<htmlentities>, [">= 4.2.1"])
758
739
  s.add_dependency(%q<rspec>, [">= 1.3.0"])
759
740
  s.add_dependency(%q<syntax>, [">= 1.0.0"])
760
741
  s.add_dependency(%q<spork>, [">= 0.7.5"])
761
742
  end
762
743
  else
744
+ s.add_dependency(%q<gherkin>, ["= 1.0.16"])
763
745
  s.add_dependency(%q<term-ansicolor>, [">= 1.0.4"])
764
- s.add_dependency(%q<treetop>, [">= 1.4.2"])
765
- s.add_dependency(%q<polyglot>, [">= 0.2.9"])
766
746
  s.add_dependency(%q<builder>, [">= 2.1.2"])
767
747
  s.add_dependency(%q<diff-lcs>, [">= 1.1.2"])
768
- s.add_dependency(%q<json_pure>, [">= 1.2.0"])
748
+ s.add_dependency(%q<json_pure>, [">= 1.2.4"])
769
749
  s.add_dependency(%q<nokogiri>, [">= 1.4.1"])
770
750
  s.add_dependency(%q<prawn>, ["= 0.6.3"])
771
751
  s.add_dependency(%q<prawn-format>, ["= 0.2.3"])
772
- s.add_dependency(%q<htmlentities>, [">= 4.2.0"])
752
+ s.add_dependency(%q<htmlentities>, [">= 4.2.1"])
773
753
  s.add_dependency(%q<rspec>, [">= 1.3.0"])
774
754
  s.add_dependency(%q<syntax>, [">= 1.0.0"])
775
755
  s.add_dependency(%q<spork>, [">= 0.7.5"])
@@ -1,7 +1,7 @@
1
1
  <%
2
2
  rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
3
3
  rerun_opts = rerun.to_s.strip.empty? ? "--format progress features" : "--format pretty #{rerun}"
4
- std_opts = "#{rerun_opts} --format rerun --out rerun.txt --strict --tags ~@wip"
4
+ std_opts = "--format progress features --strict --tags ~@wip"
5
5
  %>
6
6
  default: <%= std_opts %>
7
7
  jruby: <%= std_opts %> --tags ~@spork --tags ~@wire
@@ -10,4 +10,5 @@ run_code_run: <%= std_opts %> --tags ~@spork
10
10
  windows_mri: <%= std_opts %> --tags ~@spork --tags ~@wire --tags ~@needs-many-fonts CUCUMBER_FORWARD_SLASH_PATHS=true
11
11
  ruby_1_9: <%= std_opts %> --tags ~@fails_on_1_9
12
12
  wip: --tags @wip:3 --wip features
13
- none: --format pretty
13
+ none: --format pretty
14
+ rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip
@@ -6,6 +6,7 @@ task :i18n do
6
6
  lang = f[dir.length+1..-1]
7
7
  if examples_working?(lang)
8
8
  Dir.chdir(f) do
9
+ puts "DIR: #{f}"
9
10
  rake("cucumber")
10
11
  end
11
12
  else
@@ -11,6 +11,6 @@ DEN /^I HAS (\d+) CUCUMBERZ IN MAH BELLY$/ do |n|
11
11
  @belly.cukes.should == n.to_i
12
12
  end
13
13
 
14
- AN /^IN TEH END (\d+) CUCUMBRZ KTHXBAI$/ do |n|
14
+ DEN /^IN TEH END (\d+) CUCUMBRZ KTHXBAI$/ do |n|
15
15
  @basket.cukes.should == n.to_i
16
16
  end
@@ -0,0 +1 @@
1
+ features.html
@@ -0,0 +1,6 @@
1
+ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
+ require 'cucumber/rake/task'
3
+
4
+ Cucumber::Rake::Task.new do |t|
5
+ t.cucumber_opts = %w{--format pretty}
6
+ end
@@ -0,0 +1,17 @@
1
+ # language: eo
2
+ Trajto: Adicio
3
+ Por eviti stultajn erarojn
4
+ Kiel stultulo in matematiko
5
+ Mi volas ke mi estu ebla adicii du nombrojn
6
+
7
+ Konturo de la scenaro: Adiciu du nombrojn
8
+ Donitaĵo mi entajpas <nombro_1> en kalkulilo
9
+ Kaj mi entajpas <nombro_2> en kalkulilo
10
+ Se mi premas <butono>
11
+ Do la rezulto devas esti <rezulto>
12
+
13
+ Ekzemploj:
14
+ | nombro_1 | nombro_2 | butono | rezulto |
15
+ | 20 | 30 | add | 50 |
16
+ | 2 | 5 | add | 7 |
17
+ | 0 | 40 | add | 40 |
@@ -0,0 +1,10 @@
1
+ # language: eo
2
+ Trajto: Divido
3
+ Por eviti stultajn erarojn
4
+ Uzantoj devas havi eblecon kalkuli frakcion
5
+
6
+ Scanaro: Simplaj nombroj
7
+ * mi entajpis 3 en kalkulilo
8
+ * mi entajpis 2 en kalkulilo
9
+ * mi premis dividi
10
+ * la rezulto devas esti 1.5
@@ -0,0 +1,24 @@
1
+ # encoding: utf-8
2
+ require 'spec/expectations'
3
+ require 'cucumber/formatter/unicode'
4
+ $:.unshift(File.dirname(__FILE__) + '/../../lib')
5
+ require 'calculator'
6
+
7
+ Before do
8
+ @calc = Calculator.new
9
+ end
10
+
11
+ After do
12
+ end
13
+
14
+ Given /mi entajpas (\d+) en kalkulilo/ do |n|
15
+ @calc.push n.to_i
16
+ end
17
+
18
+ When /mi premas (\w+)/ do |op|
19
+ @result = @calc.send op
20
+ end
21
+
22
+ Then /la rezulto devas esti (.*)/ do |result|
23
+ @result.should == result.to_f
24
+ end
@@ -0,0 +1,14 @@
1
+ class Calculator
2
+ def push(n)
3
+ @args ||= []
4
+ @args << n
5
+ end
6
+
7
+ def add
8
+ @args.inject(0){|n,sum| sum+=n}
9
+ end
10
+
11
+ def divide
12
+ @args[0].to_f / @args[1].to_f
13
+ end
14
+ end
@@ -7,7 +7,7 @@ Etantdonné /^qu'on tape (.*)$/ do |n|
7
7
  @calc.push n.to_i
8
8
  end
9
9
 
10
- Et /^que j'entre (\d+) pour le (.*) nombre/ do |n, x|
10
+ Etantdonné /^que j'entre (\d+) pour le (.*) nombre/ do |n, x|
11
11
  @calc.push n.to_i
12
12
  end
13
13
 
@@ -1,5 +1,5 @@
1
1
  # language: ru
2
- Функционал: Деление чисел
2
+ Фича: Деление чисел
3
3
  Поскольку деление сложный процесс и люди часто допускают ошибки
4
4
  Нужно дать им возможность делить на калькуляторе
5
5
 
@@ -0,0 +1,6 @@
1
+ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
+ require 'cucumber/rake/task'
3
+
4
+ Cucumber::Rake::Task.new do |t|
5
+ t.cucumber_opts = %w{--format pretty}
6
+ end
@@ -0,0 +1,11 @@
1
+ # language: uk
2
+ Функціонал: Додавання чисел
3
+ Для того щоб не додавати числа в умі
4
+ Всі, хто мають з цим проблеми
5
+ Хочуть автоматичного додавання цілих чисел
6
+
7
+ Сценарій: Додавання двох цілих чисел
8
+ Припустимо я ввожу число 50
9
+ І потім ввожу число 70
10
+ Якщо я натискаю "+"
11
+ То результатом повинно бути число 120