cucumber 2.2.0 → 2.3.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e99af93e987e5bd5b6424cda154b6f9ef1d4a834
4
- data.tar.gz: db6cd2d1d62695ef7dd72a6b9505e921bc8b7e84
3
+ metadata.gz: 9900efafec3a84381ff8bc24124ab4f91beb2ee7
4
+ data.tar.gz: db71624e341b3763ab8887a9c95ca49458ef8f27
5
5
  SHA512:
6
- metadata.gz: 965176d82959413e7551f10890c255ab09dafbb5a43ceb3072a81c89f6eb2775661506b6a8a1d188e596978c4d6ad654dd0859a5aafe058fcdfa707f5bfe6799
7
- data.tar.gz: 9a5627119ee9557b23a6cfd5107694af06f5a7f30fb566ce47076519fb0c664b9debba4f3cb609fef2f758c2fc177c16715b8820ae66aef78b64b3da2d436295
6
+ metadata.gz: 6f27f29e8ac78a8e4aeb9e95f157f876d9270f520fa033654f83afc3b5d78bb24783a50073c5c0a040a577c20d4e2538a79c5a5bb2b59d63abdb00e1a58f8666
7
+ data.tar.gz: 9c9b518017a6ca3138cf93d3809f92d15ad470232a020fa71051f69d7577d3c7cfaffcc86f0e3e9395c13ebc7b3d75343cd45cc1eb64af6bdf26f7a7777ffd7d
@@ -1,3 +1,5 @@
1
+ sudo: false
2
+
1
3
  rvm:
2
4
  - 2.2
3
5
  - 2.1
data/History.md CHANGED
@@ -1,9 +1,28 @@
1
- ## [In Git](https://github.com/cucumber/cucumber-ruby/compare/v2.1...master)
1
+ ## [In Git](https://github.com/cucumber/cucumber-ruby/compare/v2.3.0...master)
2
2
 
3
3
  ### New Features
4
4
 
5
5
  ### Bugfixes
6
6
 
7
+ ### Refactoring
8
+
9
+ ## [v2.3.0](https://github.com/cucumber/cucumber-ruby/compare/v2.2.0...v2.3.0)
10
+
11
+ ### New Features
12
+
13
+ * Update to Gherkin v3.2.0 (@brasmusson)
14
+
15
+ ### Bugfixes
16
+
17
+ ### Refactoring
18
+
19
+ ## [v2.2.0](https://github.com/cucumber/cucumber-ruby/compare/v2.1.0...v2.2.0)
20
+
21
+ Although this release is only bugfixes and refactorings, the extraction of the wire protocol is quite a significant change and
22
+ could cause breaking changes for users of undocumented APIs. Hence the minor version bump.
23
+
24
+ ### Bugfixes
25
+
7
26
  * Let the formatters output the value of printed variables at time of the call to `#puts` ([#918](https://github.com/cucumber/cucumber-ruby/pull/918) [#915](https://github.com/cucumber/cucumber-ruby/issues/915) @enkessler @brasmusson)
8
27
  * Fix Configuration.with_options merge direction ([#922](https://github.com/cucumber/cucumber-ruby/pull/922) @limhoff-r7)
9
28
  * Consistent line breaks / truncation in backtraces ([#941](https://github.com/cucumber/cucumber-ruby/pull/941) @tooky)
@@ -14,7 +33,7 @@
14
33
  * Remove wire protocol to plugin ([#878](https://github.com/cucumber/cucumber-ruby/pull/878) @mattwynne @tooky)
15
34
  * Remove event bus to separate gem ([#933](https://github.com/cucumber/cucumber-ruby/pull/933) @dg-ratiodata)
16
35
 
17
- ## [v2.1](https://github.com/cucumber/cucumber-ruby/compare/v2.0.2...v2.1)
36
+ ## [v2.1.0](https://github.com/cucumber/cucumber-ruby/compare/v2.0.2...v2.1.0)
18
37
 
19
38
  ### New Features
20
39
 
@@ -11,10 +11,10 @@ Gem::Specification.new do |s|
11
11
  s.platform = Gem::Platform::RUBY
12
12
  s.required_ruby_version = ">= 1.9.3"
13
13
 
14
- s.add_dependency 'cucumber-core', '~> 1.3.0'
14
+ s.add_dependency 'cucumber-core', '~> 1.4.0'
15
15
  s.add_dependency 'builder', '>= 2.1.2'
16
16
  s.add_dependency 'diff-lcs', '>= 1.1.3'
17
- s.add_dependency 'gherkin3', '~> 3.1.0'
17
+ s.add_dependency 'gherkin', '~> 3.2.0'
18
18
  s.add_dependency 'multi_json', '>= 1.7.5', '< 2.0'
19
19
  s.add_dependency 'multi_test', '>= 0.1.2'
20
20
  s.add_dependency 'cucumber-wire', '~> 0.0.1'
@@ -18,6 +18,7 @@ Feature: Formatter API methods
18
18
  Feature: Test
19
19
  Scenario: Test
20
20
  """
21
+ And a directory named "my/special"
21
22
  And a file named "features/support/custom_formatter.rb" with:
22
23
  """
23
24
  require 'cucumber/formatter/io'
@@ -117,11 +117,11 @@ module Cucumber
117
117
  opts.on("--i18n LANG",
118
118
  "List keywords for in a particular language",
119
119
  %{Run with "--i18n help" to see all languages}) do |lang|
120
- require 'gherkin3/dialect'
120
+ require 'gherkin/dialect'
121
121
 
122
122
  if lang == 'help'
123
123
  list_languages_and_exit
124
- elsif !::Gherkin3::DIALECTS.keys.include? lang
124
+ elsif !::Gherkin::DIALECTS.keys.include? lang
125
125
  indicate_invalid_language_and_exit(lang)
126
126
  else
127
127
  list_keywords_and_exit(lang)
@@ -397,8 +397,8 @@ TEXT
397
397
  end
398
398
 
399
399
  def list_keywords_and_exit(lang)
400
- require 'gherkin3/dialect'
401
- language = ::Gherkin3::Dialect.for(lang)
400
+ require 'gherkin/dialect'
401
+ language = ::Gherkin::Dialect.for(lang)
402
402
  data = Cucumber::MultilineArgument::DataTable.from(
403
403
  [["feature", to_keywords_string(language.feature_keywords)],
404
404
  ["background", to_keywords_string(language.background_keywords)],
@@ -420,10 +420,10 @@ TEXT
420
420
  end
421
421
 
422
422
  def list_languages_and_exit
423
- require 'gherkin3/dialect'
423
+ require 'gherkin/dialect'
424
424
  data = Cucumber::MultilineArgument::DataTable.from(
425
- ::Gherkin3::DIALECTS.keys.map do |key|
426
- [key, ::Gherkin3::DIALECTS[key].fetch('name'), ::Gherkin3::DIALECTS[key].fetch('native')]
425
+ ::Gherkin::DIALECTS.keys.map do |key|
426
+ [key, ::Gherkin::DIALECTS[key].fetch('name'), ::Gherkin::DIALECTS[key].fetch('native')]
427
427
  end)
428
428
  @out_stream.write(data.to_s({ color: false, prefixes: Hash.new('') }))
429
429
  Kernel.exit(0)
@@ -19,6 +19,7 @@ module Cucumber
19
19
  def ensure_file(path, name)
20
20
  raise "You *must* specify --out FILE for the #{name} formatter" unless String === path
21
21
  raise "I can't write #{name} to a directory - it has to be a file" if File.directory?(path)
22
+ raise "I can't write #{name} to a file in the non-existing directory #{File.dirname(path)}" if !File.directory?(File.dirname(path))
22
23
  ensure_io(path)
23
24
  end
24
25
 
@@ -157,9 +157,10 @@ module Cucumber
157
157
  end
158
158
 
159
159
  def create_doc_string_hash(doc_string)
160
+ content_type = doc_string.content_type ? doc_string.content_type : ""
160
161
  {
161
162
  value: doc_string.content,
162
- content_type: doc_string.content_type,
163
+ content_type: content_type,
163
164
  line: doc_string.location.line
164
165
  }
165
166
  end
@@ -1,5 +1,5 @@
1
- require 'gherkin3/token_scanner'
2
- require 'gherkin3/token_matcher'
1
+ require 'gherkin/token_scanner'
2
+ require 'gherkin/token_matcher'
3
3
 
4
4
  module Cucumber
5
5
  module Gherkin
@@ -8,8 +8,8 @@ module Cucumber
8
8
  @builder = builder
9
9
  end
10
10
  def parse(text)
11
- scanner = ::Gherkin3::TokenScanner.new(text)
12
- matcher = ::Gherkin3::TokenMatcher.new
11
+ scanner = ::Gherkin::TokenScanner.new(text)
12
+ matcher = ::Gherkin::TokenMatcher.new
13
13
  token = scanner.read
14
14
  until matcher.match_EOF(token) do
15
15
  if matcher.match_TableRow(token)
@@ -1,7 +1,7 @@
1
- require 'gherkin3/token_scanner'
2
- require 'gherkin3/token_matcher'
3
- require 'gherkin3/ast_builder'
4
- require 'gherkin3/parser'
1
+ require 'gherkin/token_scanner'
2
+ require 'gherkin/token_matcher'
3
+ require 'gherkin/ast_builder'
4
+ require 'gherkin/parser'
5
5
 
6
6
  module Cucumber
7
7
  module Gherkin
@@ -11,16 +11,16 @@ module Cucumber
11
11
  @language = language
12
12
  end
13
13
  def parse(text)
14
- ast_builder = ::Gherkin3::AstBuilder.new
15
- token_matcher = ::Gherkin3::TokenMatcher.new
14
+ ast_builder = ::Gherkin::AstBuilder.new
15
+ token_matcher = ::Gherkin::TokenMatcher.new
16
16
  token_matcher.send(:change_dialect, @language, nil) unless @language == 'en'
17
- context = ::Gherkin3::ParserContext.new(
18
- ::Gherkin3::TokenScanner.new(text),
17
+ context = ::Gherkin::ParserContext.new(
18
+ ::Gherkin::TokenScanner.new(text),
19
19
  token_matcher,
20
20
  [],
21
21
  []
22
22
  )
23
- parser = ::Gherkin3::Parser.new(ast_builder)
23
+ parser = ::Gherkin::Parser.new(ast_builder)
24
24
 
25
25
  parser.start_rule(context, :ScenarioDefinition)
26
26
  parser.start_rule(context, :Scenario)
@@ -37,8 +37,8 @@ module Cucumber
37
37
  attr_reader :current_world,
38
38
  :step_definitions
39
39
 
40
- all_keywords = ::Gherkin3::DIALECTS.keys.map do |dialect_name|
41
- dialect = ::Gherkin3::Dialect.for(dialect_name)
40
+ all_keywords = ::Gherkin::DIALECTS.keys.map do |dialect_name|
41
+ dialect = ::Gherkin::Dialect.for(dialect_name)
42
42
  dialect.given_keywords + dialect.when_keywords + dialect.then_keywords + dialect.and_keywords + dialect.but_keywords
43
43
  end
44
44
  Cucumber::Gherkin::I18n.code_keywords_for(all_keywords.flatten.uniq.sort).each do |adverb|
@@ -1 +1 @@
1
- 2.2.0
1
+ 2.3.0
@@ -87,7 +87,7 @@ module Cucumber
87
87
 
88
88
  it "displays the language table" do
89
89
  after_parsing '--i18n foo' do
90
- ::Gherkin3::DIALECTS.keys.map do |key|
90
+ ::Gherkin::DIALECTS.keys.map do |key|
91
91
  expect(@output_stream.string).to include("#{key}");
92
92
  end
93
93
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aslak Hellesøy
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-01-08 00:00:00.000000000 Z
13
+ date: 2016-01-13 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: cucumber-core
@@ -18,14 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: 1.3.0
21
+ version: 1.4.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: 1.3.0
28
+ version: 1.4.0
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: builder
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -55,19 +55,19 @@ dependencies:
55
55
  - !ruby/object:Gem::Version
56
56
  version: 1.1.3
57
57
  - !ruby/object:Gem::Dependency
58
- name: gherkin3
58
+ name: gherkin
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - "~>"
62
62
  - !ruby/object:Gem::Version
63
- version: 3.1.0
63
+ version: 3.2.0
64
64
  type: :runtime
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - "~>"
69
69
  - !ruby/object:Gem::Version
70
- version: 3.1.0
70
+ version: 3.2.0
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: multi_json
73
73
  requirement: !ruby/object:Gem::Requirement
@@ -864,132 +864,6 @@ rubyforge_project:
864
864
  rubygems_version: 2.2.2
865
865
  signing_key:
866
866
  specification_version: 4
867
- summary: cucumber-2.2.0
868
- test_files:
869
- - features/docs/api/list_step_defs_as_json.feature
870
- - features/docs/api/listen_for_events.feature
871
- - features/docs/api/run_cli_main_with_existing_runtime.feature
872
- - features/docs/cli/backtraces.feature
873
- - features/docs/cli/dry_run.feature
874
- - features/docs/cli/exclude_files.feature
875
- - features/docs/cli/execute_with_tag_filter.feature
876
- - features/docs/cli/fail_fast.feature
877
- - features/docs/cli/finding_steps.feature
878
- - features/docs/cli/randomize.feature
879
- - features/docs/cli/require.feature
880
- - features/docs/cli/run_scenarios_matching_name.feature
881
- - features/docs/cli/run_specific_scenarios.feature
882
- - features/docs/cli/showing_differences.feature
883
- - features/docs/cli/specifying_multiple_formatters.feature
884
- - features/docs/cli/strict_mode.feature
885
- - features/docs/defining_steps/nested_steps.feature
886
- - features/docs/defining_steps/nested_steps_i18n.feature
887
- - features/docs/defining_steps/nested_steps_with_second_arg.feature
888
- - features/docs/defining_steps/one_line_step_definitions.feature
889
- - features/docs/defining_steps/printing_messages.feature
890
- - features/docs/defining_steps/skip_scenario.feature
891
- - features/docs/defining_steps/snippets.feature
892
- - features/docs/defining_steps/table_diffing.feature
893
- - features/docs/defining_steps/transforms.feature
894
- - features/docs/exception_in_after_hook.feature
895
- - features/docs/exception_in_after_step_hook.feature
896
- - features/docs/exception_in_around_hook.feature
897
- - features/docs/exception_in_before_hook.feature
898
- - features/docs/extending_cucumber/custom_filter.feature
899
- - features/docs/extending_cucumber/custom_formatter.feature
900
- - features/docs/formatters/api_methods.feature
901
- - features/docs/formatters/debug_formatter.feature
902
- - features/docs/formatters/formatter_step_file_colon_line.feature
903
- - features/docs/formatters/html_formatter.feature
904
- - features/docs/formatters/json_formatter.feature
905
- - features/docs/formatters/junit_formatter.feature
906
- - features/docs/formatters/pretty_formatter.feature
907
- - features/docs/formatters/progress_formatter.feature
908
- - features/docs/formatters/rerun_formatter.feature
909
- - features/docs/formatters/usage_formatter.feature
910
- - features/docs/getting_started.feature
911
- - features/docs/gherkin/background.feature
912
- - features/docs/gherkin/doc_strings.feature
913
- - features/docs/gherkin/expand_option_for_outlines.feature
914
- - features/docs/gherkin/language_from_header.feature
915
- - features/docs/gherkin/language_help.feature
916
- - features/docs/gherkin/outlines.feature
917
- - features/docs/gherkin/unicode_table.feature
918
- - features/docs/gherkin/using_descriptions.feature
919
- - features/docs/gherkin/using_star_notation.feature
920
- - features/docs/iso-8859-1.feature
921
- - features/docs/post_configuration_hook.feature
922
- - features/docs/profiles.feature
923
- - features/docs/rake_task.feature
924
- - features/docs/raketask.feature
925
- - features/docs/work_in_progress.feature
926
- - features/docs/writing_support_code/after_hooks.feature
927
- - features/docs/writing_support_code/around_hooks.feature
928
- - features/docs/writing_support_code/before_hook.feature
929
- - features/docs/writing_support_code/hook_order.feature
930
- - features/docs/writing_support_code/load_path.feature
931
- - features/docs/writing_support_code/state.feature
932
- - features/docs/writing_support_code/tagged_hooks.feature
933
- - features/lib/step_definitions/aruba_steps.rb
934
- - features/lib/step_definitions/cucumber_steps.rb
935
- - features/lib/step_definitions/iso-8859-1_steps.rb
936
- - features/lib/step_definitions/json_steps.rb
937
- - features/lib/step_definitions/junit_steps.rb
938
- - features/lib/step_definitions/language_steps.rb
939
- - features/lib/step_definitions/profile_steps.rb
940
- - features/lib/step_definitions/ruby_steps.rb
941
- - features/lib/step_definitions/wire_steps.rb
942
- - features/lib/support/env.rb
943
- - features/lib/support/fake_wire_server.rb
944
- - features/lib/support/feature_factory.rb
945
- - features/lib/support/normalise_output.rb
946
- - spec/cucumber/cli/configuration_spec.rb
947
- - spec/cucumber/cli/main_spec.rb
948
- - spec/cucumber/cli/options_spec.rb
949
- - spec/cucumber/cli/profile_loader_spec.rb
950
- - spec/cucumber/cli/rerun_spec.rb
951
- - spec/cucumber/configuration_spec.rb
952
- - spec/cucumber/constantize_spec.rb
953
- - spec/cucumber/core_ext/instance_exec_spec.rb
954
- - spec/cucumber/file_specs_spec.rb
955
- - spec/cucumber/filters/activate_steps_spec.rb
956
- - spec/cucumber/filters/gated_receiver_spec.rb
957
- - spec/cucumber/filters/tag_limits/test_case_index_spec.rb
958
- - spec/cucumber/filters/tag_limits/verifier_spec.rb
959
- - spec/cucumber/filters/tag_limits_spec.rb
960
- - spec/cucumber/formatter/ansicolor_spec.rb
961
- - spec/cucumber/formatter/debug_spec.rb
962
- - spec/cucumber/formatter/duration_spec.rb
963
- - spec/cucumber/formatter/event_bus_report_spec.rb
964
- - spec/cucumber/formatter/fail_fast_spec.rb
965
- - spec/cucumber/formatter/html_spec.rb
966
- - spec/cucumber/formatter/interceptor_spec.rb
967
- - spec/cucumber/formatter/json_spec.rb
968
- - spec/cucumber/formatter/junit_spec.rb
969
- - spec/cucumber/formatter/legacy_api/adapter_spec.rb
970
- - spec/cucumber/formatter/pretty_spec.rb
971
- - spec/cucumber/formatter/progress_spec.rb
972
- - spec/cucumber/formatter/rerun_spec.rb
973
- - spec/cucumber/formatter/spec_helper.rb
974
- - spec/cucumber/hooks_spec.rb
975
- - spec/cucumber/multiline_argument/data_table_spec.rb
976
- - spec/cucumber/project_initializer_spec.rb
977
- - spec/cucumber/rake/forked_spec.rb
978
- - spec/cucumber/rb_support/rb_language_spec.rb
979
- - spec/cucumber/rb_support/rb_step_definition_spec.rb
980
- - spec/cucumber/rb_support/rb_transform_spec.rb
981
- - spec/cucumber/rb_support/rb_world_spec.rb
982
- - spec/cucumber/rb_support/snippet_spec.rb
983
- - spec/cucumber/running_test_case_spec.rb
984
- - spec/cucumber/runtime/for_programming_languages_spec.rb
985
- - spec/cucumber/runtime/support_code_spec.rb
986
- - spec/cucumber/runtime_spec.rb
987
- - spec/cucumber/sell_cucumbers.feature
988
- - spec/cucumber/step_argument_spec.rb
989
- - spec/cucumber/step_match_search_spec.rb
990
- - spec/cucumber/step_match_spec.rb
991
- - spec/cucumber/world/pending_spec.rb
992
- - spec/cucumber_spec.rb
993
- - spec/spec_helper.rb
994
- - spec/support/standard_step_actions.rb
867
+ summary: cucumber-2.3.0
868
+ test_files: []
995
869
  has_rdoc: