cucumber-cucumber-expressions 17.0.1 → 17.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +13 -3
  3. data/.rubocop_todo.yml +60 -141
  4. data/VERSION +1 -1
  5. data/cucumber-cucumber-expressions.gemspec +9 -4
  6. data/lib/cucumber/cucumber_expressions/combinatorial_generated_expression_factory.rb +1 -1
  7. data/lib/cucumber/cucumber_expressions/cucumber_expression.rb +8 -8
  8. data/lib/cucumber/cucumber_expressions/cucumber_expression_parser.rb +1 -1
  9. data/lib/cucumber/cucumber_expressions/errors.rb +11 -11
  10. data/lib/cucumber/cucumber_expressions/parameter_type.rb +1 -3
  11. data/lib/cucumber/cucumber_expressions/parameter_type_matcher.rb +2 -2
  12. data/spec/cucumber/cucumber_expressions/argument_spec.rb +1 -1
  13. data/spec/cucumber/cucumber_expressions/combinatorial_generated_expression_factory_spec.rb +41 -0
  14. data/spec/cucumber/cucumber_expressions/cucumber_expression_generator_spec.rb +10 -10
  15. data/spec/cucumber/cucumber_expressions/cucumber_expression_parser_spec.rb +1 -1
  16. data/spec/cucumber/cucumber_expressions/cucumber_expression_spec.rb +8 -8
  17. data/spec/cucumber/cucumber_expressions/cucumber_expression_tokenizer_spec.rb +2 -2
  18. data/spec/cucumber/cucumber_expressions/cucumber_expression_transformation_spec.rb +2 -2
  19. data/spec/cucumber/cucumber_expressions/custom_parameter_type_spec.rb +7 -7
  20. data/spec/cucumber/cucumber_expressions/expression_factory_spec.rb +1 -1
  21. data/spec/cucumber/cucumber_expressions/parameter_type_registry_spec.rb +11 -11
  22. data/spec/cucumber/cucumber_expressions/parameter_type_spec.rb +1 -1
  23. data/spec/cucumber/cucumber_expressions/regular_expression_spec.rb +2 -2
  24. data/spec/cucumber/cucumber_expressions/tree_regexp_spec.rb +26 -27
  25. metadata +62 -6
  26. data/spec/cucumber/cucumber_expressions/combinatorial_generated_expression_factory_test.rb +0 -44
@@ -1,44 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'cucumber/cucumber_expressions/parameter_type'
4
- require 'cucumber/cucumber_expressions/combinatorial_generated_expression_factory'
5
-
6
- module Cucumber
7
- module CucumberExpressions
8
- class Color; end
9
- class CssColor; end
10
- class Date; end
11
- class DateTime; end
12
- class Timestamp; end
13
-
14
- describe CombinatorialGeneratedExpressionFactory do
15
- it 'generates multiple expressions' do
16
- parameter_type_combinations = [
17
- [
18
- ParameterType.new('color', /red|blue|yellow/, Color, ->(s) { Color.new }, true, false),
19
- ParameterType.new('csscolor', /red|blue|yellow/, CssColor, ->(s) { CssColor.new }, true, false)
20
- ],
21
- [
22
- ParameterType.new('date', /\d{4}-\d{2}-\d{2}/, Date, ->(s) { Date.new }, true, false),
23
- ParameterType.new('datetime', /\d{4}-\d{2}-\d{2}/, DateTime, ->(s) { DateTime.new }, true, false),
24
- ParameterType.new('timestamp', /\d{4}-\d{2}-\d{2}/, Timestamp, ->(s) { Timestamp.new }, true, false)
25
- ]
26
- ]
27
-
28
- factory = CombinatorialGeneratedExpressionFactory.new(
29
- 'I bought a {%s} ball on {%s}',
30
- parameter_type_combinations
31
- )
32
- expressions = factory.generate_expressions.map { |ge| ge.source }
33
- expect(expressions).to eq([
34
- 'I bought a {color} ball on {date}',
35
- 'I bought a {color} ball on {datetime}',
36
- 'I bought a {color} ball on {timestamp}',
37
- 'I bought a {csscolor} ball on {date}',
38
- 'I bought a {csscolor} ball on {datetime}',
39
- 'I bought a {csscolor} ball on {timestamp}',
40
- ])
41
- end
42
- end
43
- end
44
- end