cuke_cataloger 1.3.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +5 -5
  2. data/.cucumberproignore +1 -0
  3. data/.simplecov +1 -2
  4. data/.travis.yml +55 -3
  5. data/CHANGELOG.md +80 -0
  6. data/Gemfile +22 -3
  7. data/LICENSE.txt +1 -1
  8. data/README.md +98 -9
  9. data/Rakefile +35 -0
  10. data/appveyor.yml +188 -0
  11. data/bin/cuke_cataloger +12 -22
  12. data/cuke_cataloger.gemspec +7 -6
  13. data/lib/cuke_cataloger.rb +7 -58
  14. data/lib/cuke_cataloger/formatters/text_report_formatter.rb +33 -0
  15. data/lib/cuke_cataloger/rake_tasks.rb +46 -0
  16. data/lib/cuke_cataloger/unique_test_case_tagger.rb +119 -91
  17. data/lib/cuke_cataloger/version.rb +2 -1
  18. data/testing/cucumber/features/cataloging_tasks.feature +48 -0
  19. data/testing/cucumber/features/executable.feature +4 -3
  20. data/testing/cucumber/features/formatting.feature +0 -3
  21. data/testing/cucumber/features/tag_indexing.feature +3 -3
  22. data/testing/cucumber/features/test_case_scanning_payload.feature +0 -2
  23. data/testing/cucumber/features/test_case_tagging.feature +2 -2
  24. data/testing/cucumber/features/test_case_validation.feature +3 -20
  25. data/testing/cucumber/step_definitions/action_steps.rb +25 -3
  26. data/testing/cucumber/step_definitions/setup_steps.rb +19 -12
  27. data/testing/cucumber/step_definitions/verification_steps.rb +29 -6
  28. data/testing/cucumber/support/env.rb +12 -9
  29. data/testing/file_helper.rb +42 -0
  30. data/testing/fixtures/Rakefile +19 -0
  31. data/testing/fixtures/tests/foo.feature +7 -0
  32. data/testing/gemfiles/cql1.gemfile +40 -0
  33. data/testing/gemfiles/cuke_modeler0.gemfile +15 -1
  34. data/testing/gemfiles/cuke_modeler1.gemfile +15 -1
  35. data/testing/gemfiles/cuke_modeler2.gemfile +35 -0
  36. data/testing/gemfiles/cuke_modeler3.gemfile +9 -0
  37. data/testing/gemfiles/rake10.gemfile +38 -0
  38. data/testing/gemfiles/rake11.gemfile +30 -0
  39. data/testing/gemfiles/rake12.gemfile +35 -0
  40. data/testing/gemfiles/rake13.gemfile +8 -0
  41. data/testing/gemfiles/thor0.gemfile +39 -0
  42. data/testing/gemfiles/thor1.gemfile +11 -0
  43. data/testing/rspec/spec/cuke_cataloger_spec.rb +11 -0
  44. data/testing/rspec/spec/spec_helper.rb +7 -8
  45. data/testing/rspec/spec/unique_test_case_tagger_integration_spec.rb +213 -4
  46. data/testing/rspec/spec/unique_test_case_tagger_unit_spec.rb +16 -10
  47. data/todo.txt +5 -0
  48. metadata +55 -25
  49. data/History.md +0 -27
  50. data/testing/cucumber/support/transforms.rb +0 -3
@@ -3,23 +3,20 @@ unless RUBY_VERSION.to_s < '1.9.0'
3
3
  SimpleCov.command_name('cuke_cataloger-cucumber')
4
4
  end
5
5
 
6
+
6
7
  require 'cuke_cataloger'
7
8
 
8
9
  here = File.dirname(__FILE__)
10
+ require "#{here}/../../file_helper"
9
11
 
10
- DEFAULT_FEATURE_FILE_NAME = 'test_feature'
11
- DEFAULT_FILE_DIRECTORY = "#{here}/../temp_files"
12
12
  PROJECT_ROOT = "#{here}/../../.."
13
13
  FIXTURE_DIRECTORY = "#{here}/../../fixtures"
14
14
 
15
15
  Before do
16
16
  begin
17
- @default_feature_file_name = DEFAULT_FEATURE_FILE_NAME
18
- @default_file_directory = DEFAULT_FILE_DIRECTORY
19
-
20
- FileUtils.mkdir(@default_file_directory)
17
+ @root_test_directory = CukeCataloger::FileHelper.create_directory
21
18
  rescue => e
22
- puts "Error caught in before hook!"
19
+ puts "Error caught in Before hook!"
23
20
  puts "Type: #{e.class}"
24
21
  puts "Message: #{e.message}"
25
22
  end
@@ -28,10 +25,16 @@ end
28
25
  After do
29
26
  begin
30
27
  `git checkout HEAD -- #{FIXTURE_DIRECTORY}`
31
- FileUtils.remove_dir(@default_file_directory, true)
32
28
  rescue => e
33
- puts "Error caught in before hook!"
29
+ puts "Error caught in After hook!"
34
30
  puts "Type: #{e.class}"
35
31
  puts "Message: #{e.message}"
36
32
  end
37
33
  end
34
+
35
+
36
+ at_exit {
37
+ CukeCataloger::FileHelper.created_directories.each do |dir_path|
38
+ FileUtils.remove_entry(dir_path, true)
39
+ end
40
+ }
@@ -0,0 +1,42 @@
1
+ require 'tmpdir'
2
+
3
+
4
+ module CukeCataloger
5
+ module FileHelper
6
+
7
+ class << self
8
+
9
+ def create_feature_file(options = {})
10
+ options[:text] ||= 'Feature:'
11
+ options[:name] ||= 'test_file'
12
+
13
+ create_file(:text => options[:text], :name => options[:name], :extension => '.feature', :directory => options[:directory])
14
+ end
15
+
16
+ def create_file(options = {})
17
+ options[:text] ||= ''
18
+ options[:name] ||= 'test_file'
19
+ options[:extension] ||= '.txt'
20
+ options[:directory] ||= create_directory
21
+
22
+ file_path = "#{options[:directory]}/#{options[:name]}#{options[:extension]}"
23
+ File.open(file_path, 'w') { |file| file.write(options[:text]) }
24
+
25
+ file_path
26
+ end
27
+
28
+ def created_directories
29
+ @created_directories ||= []
30
+ end
31
+
32
+ def create_directory
33
+ new_dir = Dir::mktmpdir
34
+ created_directories << new_dir
35
+
36
+ new_dir
37
+ end
38
+
39
+ end
40
+
41
+ end
42
+ end
@@ -0,0 +1,19 @@
1
+ unless RUBY_VERSION.to_s < '1.9.0'
2
+ require 'simplecov'
3
+ require 'securerandom'
4
+
5
+ SimpleCov.start do
6
+ root File.dirname(__FILE__) + '/../..'
7
+
8
+ # Every test process will need its own unique name or else they will override each others' coverage data
9
+ command_name("cuke_cataloger-fixtures-#{SecureRandom.uuid}")
10
+
11
+ add_filter '/testing/'
12
+
13
+ merge_timeout 300
14
+ end
15
+
16
+ end
17
+
18
+
19
+ require 'cuke_cataloger'
@@ -2,3 +2,10 @@ Feature: Foo
2
2
 
3
3
  Scenario: Test 1
4
4
  * a step
5
+
6
+ Scenario Outline: Test 2
7
+ * a step
8
+ Examples:
9
+ | param | value |
10
+ | a | b |
11
+ | c | d |
@@ -0,0 +1,40 @@
1
+ # Older Rubies on Windows cannot securely connect to RubyGems anymore (https://github.com/rubygems/rubygems/issues/2330)
2
+ if (RbConfig::CONFIG['host_os'] =~ /mswin|msys|mingw32/) && (RUBY_VERSION =~ /^1\./)
3
+ source 'http://rubygems.org'
4
+ else
5
+ source 'https://rubygems.org'
6
+ end
7
+
8
+ gemspec :path => "../../"
9
+
10
+ # The Coveralls gem can't handle more recent versions of the SimpleCov gem
11
+ gem 'simplecov', '<= 0.16.1'
12
+
13
+ # cuke_cataloger can play with pretty much any version of these but they all play differently with Ruby
14
+ if RUBY_VERSION =~ /^1\.8/
15
+ gem 'cucumber', '< 1.3.0'
16
+ gem 'gherkin', '< 2.12.0'
17
+ gem 'mime-types', '< 2.0' # The 'mime-types' gem requires Ruby 1.9.x on/after this version
18
+ gem 'rainbow', '< 2.0' # Ruby 1.8.x support dropped after this version
19
+ gem 'rake', '< 11.0' # Rake dropped 1.8.x support after this version
20
+ elsif RUBY_VERSION =~ /^1\./
21
+ gem 'cucumber', '< 2.0.0'
22
+ gem 'mime-types', '< 3.0.0' # The 'mime-types' gem requires Ruby 2.x on/after this version
23
+ gem 'rainbow', '< 3.0' # The 'rainbow' gem requires Ruby 2.x on/after this version
24
+ gem 'rake', '< 12.3.0' # The 'rake' gem requires Ruby 2.x on/after this version
25
+ else
26
+ # Have to use this version of Cucumber in order to avoid namespace problems introduced by the `cucumber-gherkin` gem
27
+ gem 'cucumber', '2.2.0'
28
+ end
29
+
30
+ if RUBY_VERSION =~ /^1\./
31
+ gem 'cuke_modeler', '< 3.0' # The 'cuke_modeler' gem requires Ruby 2.x on/after this version
32
+ gem 'ffi', '< 1.9.15' # The 'ffi' gem requires Ruby 2.x on/after this version
33
+ gem 'tins', '< 1.7' # The 'tins' gem requires Ruby 2.x on/after this version
34
+ gem 'json', '< 2.0' # The 'json' gem drops pre-Ruby 2.x support on/after this version
35
+ gem 'term-ansicolor', '< 1.4' # The 'term-ansicolor' gem requires Ruby 2.x on/after this version
36
+ gem 'thor', '< 1.0' # The 'thor' gem requires Ruby 2.x on/after this version
37
+ end
38
+
39
+ # The version of CQL being tested
40
+ gem 'cql', '~> 1.0'
@@ -1,21 +1,35 @@
1
- source 'https://rubygems.org'
1
+ # Older Rubies on Windows cannot securely connect to RubyGems anymore (https://github.com/rubygems/rubygems/issues/2330)
2
+ if (RbConfig::CONFIG['host_os'] =~ /mswin|msys|mingw32/) && (RUBY_VERSION =~ /^1\./)
3
+ source 'http://rubygems.org'
4
+ else
5
+ source 'https://rubygems.org'
6
+ end
2
7
 
3
8
  gemspec :path => "../../"
4
9
 
10
+ # The Coveralls gem can't handle more recent versions of the SimpleCov gem
11
+ gem 'simplecov', '<= 0.16.1'
5
12
 
6
13
  # cuke_cataloger can play with pretty much any version of these but they all play differently with Ruby
7
14
  if RUBY_VERSION =~ /^1\.8/
8
15
  gem 'cucumber', '< 1.3.0'
9
16
  gem 'gherkin', '< 2.12.0'
17
+ gem 'mime-types', '< 2.0' # The 'mime-types' gem requires Ruby 1.9.x on/after this version
18
+ gem 'rainbow', '< 2.0' # Ruby 1.8.x support dropped after this version
10
19
  gem 'rake', '< 11.0' # Rake dropped 1.8.x support after this version
11
20
  elsif RUBY_VERSION =~ /^1\./
12
21
  gem 'cucumber', '< 2.0.0'
22
+ gem 'mime-types', '< 3.0.0' # The 'mime-types' gem requires Ruby 2.x on/after this version
23
+ gem 'rainbow', '< 3.0' # The 'rainbow' gem requires Ruby 2.x on/after this version
24
+ gem 'rake', '< 12.3.0' # The 'rake' gem requires Ruby 2.x on/after this version
13
25
  end
14
26
 
15
27
  if RUBY_VERSION =~ /^1\./
28
+ gem 'ffi', '< 1.9.15' # The 'ffi' gem requires Ruby 2.x on/after this version
16
29
  gem 'tins', '< 1.7' # The 'tins' gem requires Ruby 2.x on/after this version
17
30
  gem 'json', '< 2.0' # The 'json' gem drops pre-Ruby 2.x support on/after this version
18
31
  gem 'term-ansicolor', '< 1.4' # The 'term-ansicolor' gem requires Ruby 2.x on/after this version
32
+ gem 'thor', '< 1.0' # The 'thor' gem requires Ruby 2.x on/after this version
19
33
  end
20
34
 
21
35
  gem 'cuke_modeler', '~> 0.0'
@@ -1,21 +1,35 @@
1
- source 'https://rubygems.org'
1
+ # Older Rubies on Windows cannot securely connect to RubyGems anymore (https://github.com/rubygems/rubygems/issues/2330)
2
+ if (RbConfig::CONFIG['host_os'] =~ /mswin|msys|mingw32/) && (RUBY_VERSION =~ /^1\./)
3
+ source 'http://rubygems.org'
4
+ else
5
+ source 'https://rubygems.org'
6
+ end
2
7
 
3
8
  gemspec :path => "../../"
4
9
 
10
+ # The Coveralls gem can't handle more recent versions of the SimpleCov gem
11
+ gem 'simplecov', '<= 0.16.1'
5
12
 
6
13
  # cuke_cataloger can play with pretty much any version of these but they all play differently with Ruby
7
14
  if RUBY_VERSION =~ /^1\.8/
8
15
  gem 'cucumber', '< 1.3.0'
9
16
  gem 'gherkin', '< 2.12.0'
17
+ gem 'mime-types', '< 2.0' # The 'mime-types' gem requires Ruby 1.9.x on/after this version
18
+ gem 'rainbow', '< 2.0' # Ruby 1.8.x support dropped after this version
10
19
  gem 'rake', '< 11.0' # Rake dropped 1.8.x support after this version
11
20
  elsif RUBY_VERSION =~ /^1\./
12
21
  gem 'cucumber', '< 2.0.0'
22
+ gem 'mime-types', '< 3.0.0' # The 'mime-types' gem requires Ruby 2.x on/after this version
23
+ gem 'rainbow', '< 3.0' # The 'rainbow' gem requires Ruby 2.x on/after this version
24
+ gem 'rake', '< 12.3.0' # The 'rake' gem requires Ruby 2.x on/after this version
13
25
  end
14
26
 
15
27
  if RUBY_VERSION =~ /^1\./
28
+ gem 'ffi', '< 1.9.15' # The 'ffi' gem requires Ruby 2.x on/after this version
16
29
  gem 'tins', '< 1.7' # The 'tins' gem requires Ruby 2.x on/after this version
17
30
  gem 'json', '< 2.0' # The 'json' gem drops pre-Ruby 2.x support on/after this version
18
31
  gem 'term-ansicolor', '< 1.4' # The 'term-ansicolor' gem requires Ruby 2.x on/after this version
32
+ gem 'thor', '< 1.0' # The 'thor' gem requires Ruby 2.x on/after this version
19
33
  end
20
34
 
21
35
  gem 'cuke_modeler', '~> 1.0'
@@ -0,0 +1,35 @@
1
+ # Older Rubies on Windows cannot securely connect to RubyGems anymore (https://github.com/rubygems/rubygems/issues/2330)
2
+ if (RbConfig::CONFIG['host_os'] =~ /mswin|msys|mingw32/) && (RUBY_VERSION =~ /^1\./)
3
+ source 'http://rubygems.org'
4
+ else
5
+ source 'https://rubygems.org'
6
+ end
7
+
8
+ gemspec :path => "../../"
9
+
10
+ # The Coveralls gem can't handle more recent versions of the SimpleCov gem
11
+ gem 'simplecov', '<= 0.16.1'
12
+
13
+ # cuke_cataloger can play with pretty much any version of these but they all play differently with Ruby
14
+ if RUBY_VERSION =~ /^1\.8/
15
+ gem 'cucumber', '< 1.3.0'
16
+ gem 'gherkin', '< 2.12.0'
17
+ gem 'mime-types', '< 2.0' # The 'mime-types' gem requires Ruby 1.9.x on/after this version
18
+ gem 'rainbow', '< 2.0' # Ruby 1.8.x support dropped after this version
19
+ gem 'rake', '< 11.0' # Rake dropped 1.8.x support after this version
20
+ elsif RUBY_VERSION =~ /^1\./
21
+ gem 'cucumber', '< 2.0.0'
22
+ gem 'mime-types', '< 3.0.0' # The 'mime-types' gem requires Ruby 2.x on/after this version
23
+ gem 'rainbow', '< 3.0' # The 'rainbow' gem requires Ruby 2.x on/after this version
24
+ gem 'rake', '< 12.3.0' # The 'rake' gem requires Ruby 2.x on/after this version
25
+ end
26
+
27
+ if RUBY_VERSION =~ /^1\./
28
+ gem 'ffi', '< 1.9.15' # The 'ffi' gem requires Ruby 2.x on/after this version
29
+ gem 'tins', '< 1.7' # The 'tins' gem requires Ruby 2.x on/after this version
30
+ gem 'json', '< 2.0' # The 'json' gem drops pre-Ruby 2.x support on/after this version
31
+ gem 'term-ansicolor', '< 1.4' # The 'term-ansicolor' gem requires Ruby 2.x on/after this version
32
+ gem 'thor', '< 1.0' # The 'thor' gem requires Ruby 2.x on/after this version
33
+ end
34
+
35
+ gem 'cuke_modeler', '~> 2.0'
@@ -0,0 +1,9 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec :path => "../../"
4
+
5
+ # TODO: Go back to using the newer releases once they work on JRuby
6
+ gem 'cucumber', '2.2.0'
7
+
8
+ # The version of CukeModeler being tested
9
+ gem 'cuke_modeler', '~> 3.0'
@@ -0,0 +1,38 @@
1
+ # Older Rubies on Windows cannot securely connect to RubyGems anymore (https://github.com/rubygems/rubygems/issues/2330)
2
+ if (RbConfig::CONFIG['host_os'] =~ /mswin|msys|mingw32/) && (RUBY_VERSION =~ /^1\./)
3
+ source 'http://rubygems.org'
4
+ else
5
+ source 'https://rubygems.org'
6
+ end
7
+
8
+ gemspec :path => "../../"
9
+
10
+ # The Coveralls gem can't handle more recent versions of the SimpleCov gem
11
+ gem 'simplecov', '<= 0.16.1'
12
+
13
+ # cuke_cataloger can play with pretty much any version of these but they all play differently with Ruby
14
+ if RUBY_VERSION =~ /^1\.8/
15
+ gem 'cucumber', '< 1.3.0'
16
+ gem 'gherkin', '< 2.12.0'
17
+ gem 'mime-types', '< 2.0' # The 'mime-types' gem requires Ruby 1.9.x on/after this version
18
+ gem 'rainbow', '< 2.0' # Ruby 1.8.x support dropped after this version
19
+ elsif RUBY_VERSION =~ /^1\./
20
+ gem 'cucumber', '< 2.0.0'
21
+ gem 'mime-types', '< 3.0.0' # The 'mime-types' gem requires Ruby 2.x on/after this version
22
+ gem 'rainbow', '< 3.0' # The 'rainbow' gem requires Ruby 2.x on/after this version
23
+ else
24
+ # Have to use this version of Cucumber in order to avoid namespace problems introduced by the `cucumber-gherkin` gem
25
+ gem 'cucumber', '2.2.0'
26
+ end
27
+
28
+ if RUBY_VERSION =~ /^1\./
29
+ gem 'cuke_modeler', '< 3.0' # The 'cuke_modeler' gem requires Ruby 2.x on/after this version
30
+ gem 'ffi', '< 1.9.15' # The 'ffi' gem requires Ruby 2.x on/after this version
31
+ gem 'tins', '< 1.7' # The 'tins' gem requires Ruby 2.x on/after this version
32
+ gem 'json', '< 2.0' # The 'json' gem drops pre-Ruby 2.x support on/after this version
33
+ gem 'term-ansicolor', '< 1.4' # The 'term-ansicolor' gem requires Ruby 2.x on/after this version
34
+ gem 'thor', '< 1.0' # The 'thor' gem requires Ruby 2.x on/after this version
35
+ end
36
+
37
+ # The version of Rake being tested
38
+ gem 'rake', '~> 10.0'
@@ -0,0 +1,30 @@
1
+ # Older Rubies on Windows cannot securely connect to RubyGems anymore (https://github.com/rubygems/rubygems/issues/2330)
2
+ if (RbConfig::CONFIG['host_os'] =~ /mswin|msys|mingw32/) && (RUBY_VERSION =~ /^1\./)
3
+ source 'http://rubygems.org'
4
+ else
5
+ source 'https://rubygems.org'
6
+ end
7
+
8
+ gemspec :path => "../../"
9
+
10
+
11
+ # The version of Rake being tested
12
+ gem 'rake', '~> 11.0'
13
+
14
+ if RUBY_VERSION =~ /^1\./
15
+ gem 'cucumber', '< 2.0.0'
16
+ gem 'cuke_modeler', '< 3.0' # The 'cuke_modeler' gem requires Ruby 2.x on/after this version
17
+ gem 'ffi', '< 1.9.15' # The 'ffi' gem requires Ruby 2.x on/after this version
18
+ gem 'tins', '< 1.7' # The 'tins' gem requires Ruby 2.x on/after this version
19
+ gem 'json', '< 2.0' # The 'json' gem drops pre-Ruby 2.x support on/after this version
20
+ gem 'mime-types', '< 3.0.0' # The 'mime-types' gem requires Ruby 2.x on/after this version
21
+ gem 'rainbow', '< 3.0' # The 'rainbow' gem requires Ruby 2.x on/after this version
22
+ gem 'rest-client', '< 2.0' # The 'rainbow' gem requires Ruby 2.x on/after this version
23
+ gem 'simplecov-html', '< 0.11.0' # The 'simplecov-html' gem requires Ruby 2.x on/after this version
24
+ gem 'term-ansicolor', '< 1.4' # The 'term-ansicolor' gem requires Ruby 2.x on/after this version
25
+ gem 'unf_ext', '< 0.0.7.3' # The 'unf_ext' gem requires Ruby 2.x on/after this version
26
+ gem 'thor', '< 1.0' # The 'thor' gem requires Ruby 2.x on/after this version
27
+ else
28
+ # Have to use this version of Cucumber in order to avoid namespace problems introduced by the `cucumber-gherkin` gem
29
+ gem 'cucumber', '2.2.0'
30
+ end
@@ -0,0 +1,35 @@
1
+ # Older Rubies on Windows cannot securely connect to RubyGems anymore (https://github.com/rubygems/rubygems/issues/2330)
2
+ if (RbConfig::CONFIG['host_os'] =~ /mswin|msys|mingw32/) && (RUBY_VERSION =~ /^1\./)
3
+ source 'http://rubygems.org'
4
+ else
5
+ source 'https://rubygems.org'
6
+ end
7
+
8
+ gemspec :path => "../../"
9
+
10
+
11
+ # Rake 12.x does not work with Ruby 1.8.x
12
+ if RUBY_VERSION =~ /^1\./
13
+ gem 'cucumber', '< 2.0.0'
14
+ gem 'cuke_modeler', '< 3.0' # The 'cuke_modeler' gem requires Ruby 2.x on/after this version
15
+ gem 'ffi', '< 1.9.15' # The 'ffi' gem requires Ruby 2.x on/after this version
16
+ gem 'rainbow', '< 3.0' # The 'rainbow' gem requires Ruby 2.x on/after this version
17
+ gem 'tins', '< 1.7' # The 'tins' gem requires Ruby 2.x on/after this version
18
+ gem 'json', '< 2.0' # The 'json' gem drops pre-Ruby 2.x support on/after this version
19
+ gem 'mime-types', '< 3.0.0' # The 'mime-types' gem requires Ruby 2.x on/after this version
20
+ gem 'rest-client', '< 2.0' # The 'rainbow' gem requires Ruby 2.x on/after this version
21
+ gem 'simplecov-html', '< 0.11.0' # The 'simplecov-html' gem requires Ruby 2.x on/after this version
22
+ gem 'term-ansicolor', '< 1.4' # The 'term-ansicolor' gem requires Ruby 2.x on/after this version
23
+ gem 'unf_ext', '< 0.0.7.3' # The 'unf_ext' gem requires Ruby 2.x on/after this version
24
+ gem 'thor', '< 1.0' # The 'thor' gem requires Ruby 2.x on/after this version
25
+ else
26
+ # Have to use this version of Cucumber in order to avoid namespace problems introduced by the `cucumber-gherkin` gem
27
+ gem 'cucumber', '2.2.0'
28
+ end
29
+
30
+ # The version of Rake being tested
31
+ if RUBY_VERSION =~ /^1\./
32
+ gem 'rake', '< 12.3.0' # The 'rake' gem requires Ruby 2.x on/after this version
33
+ else
34
+ gem 'rake', '~> 12.0'
35
+ end
@@ -0,0 +1,8 @@
1
+ source 'https://rubygems.org'
2
+ gemspec :path => "../../"
3
+
4
+ # The version of Rake being tested
5
+ gem 'rake', '~> 13.0'
6
+
7
+ # Have to use this version of Cucumber in order to avoid namespace problems introduced by the `cucumber-gherkin` gem
8
+ gem 'cucumber', '2.2.0'
@@ -0,0 +1,39 @@
1
+ # Older Rubies on Windows cannot securely connect to RubyGems anymore (https://github.com/rubygems/rubygems/issues/2330)
2
+ if (RbConfig::CONFIG['host_os'] =~ /mswin|msys|mingw32/) && (RUBY_VERSION =~ /^1\./)
3
+ source 'http://rubygems.org'
4
+ else
5
+ source 'https://rubygems.org'
6
+ end
7
+
8
+ gemspec :path => "../../"
9
+
10
+ # The Coveralls gem can't handle more recent versions of the SimpleCov gem
11
+ gem 'simplecov', '<= 0.16.1'
12
+
13
+ # cuke_cataloger can play with pretty much any version of these but they all play differently with Ruby
14
+ if RUBY_VERSION =~ /^1\.8/
15
+ gem 'cucumber', '< 1.3.0'
16
+ gem 'gherkin', '< 2.12.0'
17
+ gem 'mime-types', '< 2.0' # The 'mime-types' gem requires Ruby 1.9.x on/after this version
18
+ gem 'rainbow', '< 2.0' # Ruby 1.8.x support dropped after this version
19
+ gem 'rake', '< 11.0' # Rake dropped 1.8.x support after this version
20
+ elsif RUBY_VERSION =~ /^1\./
21
+ gem 'cucumber', '< 2.0.0'
22
+ gem 'mime-types', '< 3.0.0' # The 'mime-types' gem requires Ruby 2.x on/after this version
23
+ gem 'rainbow', '< 3.0' # The 'rainbow' gem requires Ruby 2.x on/after this version
24
+ gem 'rake', '< 12.3.0' # The 'rake' gem requires Ruby 2.x on/after this version
25
+ else
26
+ # Have to use this version of Cucumber in order to avoid namespace problems introduced by the `cucumber-gherkin` gem
27
+ gem 'cucumber', '2.2.0'
28
+ end
29
+
30
+ if RUBY_VERSION =~ /^1\./
31
+ gem 'cuke_modeler', '< 3.0' # The 'cuke_modeler' gem requires Ruby 2.x on/after this version
32
+ gem 'ffi', '< 1.9.15' # The 'ffi' gem requires Ruby 2.x on/after this version
33
+ gem 'tins', '< 1.7' # The 'tins' gem requires Ruby 2.x on/after this version
34
+ gem 'json', '< 2.0' # The 'json' gem drops pre-Ruby 2.x support on/after this version
35
+ gem 'term-ansicolor', '< 1.4' # The 'term-ansicolor' gem requires Ruby 2.x on/after this version
36
+ end
37
+
38
+ # The version of Thor being tested
39
+ gem 'thor', '~> 0.0'
@@ -0,0 +1,11 @@
1
+ source 'https://rubygems.org'
2
+ gemspec :path => "../../"
3
+
4
+ # The Coveralls gem can't handle more recent versions of the SimpleCov gem
5
+ gem 'simplecov', '<= 0.16.1'
6
+
7
+ # Have to use this version of Cucumber in order to avoid namespace problems introduced by the `cucumber-gherkin` gem
8
+ gem 'cucumber', '2.2.0'
9
+
10
+ # The version of Thor being tested
11
+ gem 'thor', '~> 1.0'