cuke_cataloger 1.6.0 → 2.0.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.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +27 -3
  3. data/LICENSE.txt +1 -1
  4. data/README.md +11 -11
  5. data/cuke_cataloger.gemspec +33 -13
  6. data/exe/cuke_cataloger +53 -0
  7. data/lib/cuke_cataloger/formatters/text_report_formatter.rb +7 -2
  8. data/lib/cuke_cataloger/rake_tasks.rb +9 -4
  9. data/lib/cuke_cataloger/unique_test_case_tagger.rb +152 -147
  10. data/lib/cuke_cataloger/version.rb +1 -1
  11. data/lib/cuke_cataloger.rb +0 -1
  12. metadata +90 -51
  13. data/.cucumberproignore +0 -1
  14. data/.gitignore +0 -18
  15. data/.simplecov +0 -7
  16. data/.travis.yml +0 -67
  17. data/Gemfile +0 -41
  18. data/Rakefile +0 -70
  19. data/appveyor.yml +0 -188
  20. data/bin/cuke_cataloger +0 -49
  21. data/testing/cucumber/step_definitions/action_steps.rb +0 -64
  22. data/testing/cucumber/step_definitions/setup_steps.rb +0 -76
  23. data/testing/cucumber/step_definitions/verification_steps.rb +0 -211
  24. data/testing/cucumber/support/env.rb +0 -40
  25. data/testing/file_helper.rb +0 -42
  26. data/testing/fixtures/Rakefile +0 -19
  27. data/testing/fixtures/tests/foo.feature +0 -11
  28. data/testing/gemfiles/cql1.gemfile +0 -40
  29. data/testing/gemfiles/cuke_modeler0.gemfile +0 -35
  30. data/testing/gemfiles/cuke_modeler1.gemfile +0 -35
  31. data/testing/gemfiles/cuke_modeler2.gemfile +0 -35
  32. data/testing/gemfiles/cuke_modeler3.gemfile +0 -9
  33. data/testing/gemfiles/rake10.gemfile +0 -38
  34. data/testing/gemfiles/rake11.gemfile +0 -30
  35. data/testing/gemfiles/rake12.gemfile +0 -35
  36. data/testing/gemfiles/rake13.gemfile +0 -8
  37. data/testing/gemfiles/thor0.gemfile +0 -39
  38. data/testing/gemfiles/thor1.gemfile +0 -11
  39. data/testing/rspec/spec/cuke_cataloger_spec.rb +0 -22
  40. data/testing/rspec/spec/spec_helper.rb +0 -23
  41. data/testing/rspec/spec/unique_test_case_tagger_integration_spec.rb +0 -295
  42. data/testing/rspec/spec/unique_test_case_tagger_unit_spec.rb +0 -81
  43. data/todo.txt +0 -5
data/bin/cuke_cataloger DELETED
@@ -1,49 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
-
4
- require 'thor'
5
- require 'cuke_cataloger'
6
-
7
-
8
- class CLI < Thor
9
-
10
- desc 'catalog_test_cases', 'Catalog the test cases in LOCATION with an id based on PREFIX'
11
- option :location, :default => '.'
12
- option :prefix, :default => '@test_case_'
13
- option :row_id, :type => :boolean, :default => true
14
- option :id_column_name, :default => 'test_case_id'
15
-
16
- def catalog_test_cases
17
- puts "Tagging tests in '#{options[:location]}' with tag '#{options[:prefix]}'\n"
18
- puts "Including outline rows\n" if options[:row_id]
19
-
20
- tagger = CukeCataloger::UniqueTestCaseTagger.new
21
- tagger.tag_tests(options[:location], options[:prefix], {}, options[:row_id], options[:id_column_name])
22
- end
23
-
24
- desc 'validate_test_cases', 'Validate the test cases in LOCATION with an id based on PREFIX. Will output the report to FILE, if provided.'
25
- option :location, :default => '.'
26
- option :prefix, :default => '@test_case_'
27
- option :row_id, :type => :boolean, :default => true
28
- option :id_column_name, :default => 'test_case_id'
29
- option :file
30
-
31
- def validate_test_cases
32
- puts "Validating tests in '#{options[:location]}' with tag '#{options[:prefix]}'\n"
33
- puts "Including outline rows\n" if options[:row_id]
34
-
35
- results = CukeCataloger::UniqueTestCaseTagger.new.validate_test_ids(options[:location], options[:prefix], options[:row_id], options[:id_column_name])
36
- report_text = CukeCataloger::TextReportFormatter.new.format_data(results)
37
-
38
- if options[:file]
39
- puts "Problems found: #{results.count}"
40
- File.open(options[:file], 'w') { |file| file.write(report_text) }
41
- else
42
- puts report_text
43
- end
44
- end
45
-
46
- end
47
-
48
-
49
- CLI.start(ARGV)
@@ -1,64 +0,0 @@
1
- When(/^the files? (?:is|are) processed$/) do
2
- @start_index ||= {}
3
- @tag_prefix ||= '@test_case_'
4
- @directory = CukeModeler::Directory.new(@test_directory)
5
-
6
- tagger = CukeCataloger::UniqueTestCaseTagger.new
7
- tagger.tag_location = @above_or_below if @above_or_below
8
-
9
- tagger.tag_tests(@directory.path, @tag_prefix, @start_index)
10
- end
11
-
12
- When(/^the ids in the test suite are validated$/) do
13
- @directory = CukeModeler::Directory.new(@test_directory)
14
-
15
- args = [@directory.path]
16
- args << @tag_prefix if @tag_prefix
17
-
18
- @test_results = CukeCataloger::UniqueTestCaseTagger.new.validate_test_ids(*args)
19
- end
20
-
21
- When(/^the files are scanned$/) do
22
- @directory = CukeModeler::Directory.new(@test_directory)
23
- @exception_raised = false
24
-
25
- @test_results = CukeCataloger::UniqueTestCaseTagger.new.scan_for_tagged_tests(@directory.path, @tag_prefix)
26
- end
27
-
28
- When(/^the existing ids are determined$/) do
29
- @directory = CukeModeler::Directory.new(@test_directory)
30
-
31
- args = [@directory.path]
32
- args << @tag_prefix if @tag_prefix
33
- @ids_found = CukeCataloger::UniqueTestCaseTagger.new.determine_known_ids(*args)
34
- end
35
-
36
- When(/^the following command is executed:$/) do |command|
37
- if command =~ /--file /
38
- output_file_name = command.match(/--file <path_to>\/(.*)\.txt/)[1]
39
- command.sub!(/--file <path_to>\/(.*)\.txt/, "--file #{@root_test_directory}/#{output_file_name}.txt")
40
- end
41
-
42
- command.sub!('<path_to>', FIXTURE_DIRECTORY)
43
- command = "bundle exec ruby #{@executable_directory}/#{command}"
44
-
45
- Dir.chdir(FIXTURE_DIRECTORY) do
46
- @output = `#{command}`
47
- end
48
- end
49
-
50
- When(/^the following task is invoked:$/) do |command|
51
- command.sub!('<path_to>/tests', "#{FIXTURE_DIRECTORY}/tests")
52
- command.sub!('<path_to>/foo', "#{@root_test_directory}/foo")
53
- command = "bundle exec rake #{command}"
54
-
55
- Dir.chdir(FIXTURE_DIRECTORY) do
56
- @output = `#{command}`
57
- end
58
- end
59
-
60
- When(/^the following code is run:$/) do |code_text|
61
- code_text.sub!('<path_to>', FIXTURE_DIRECTORY)
62
-
63
- eval(code_text)
64
- end
@@ -1,76 +0,0 @@
1
- Given /^the following feature file(?: "([^"]*)")?:$/ do |file_name, file_text|
2
- @test_directory = @root_test_directory
3
- @files_created ||= 0
4
- @feature_files ||= []
5
-
6
- file_name ||= "test_feature_#{@files_created + 1}"
7
- file_name = File.basename(file_name, '.feature')
8
-
9
- file_path = CukeCataloger::FileHelper.create_feature_file(:directory => @test_directory, :name => file_name, :text => file_text)
10
- @feature_files << file_path
11
-
12
- @files_created += 1
13
- end
14
-
15
- When(/^a tag prefix of "([^"]*)"$/) do |prefix|
16
- @tag_prefix = prefix
17
- end
18
-
19
- And(/^a start index of "([^"]*)"$/) do |index|
20
- @start_index ||= {:sub => {}}
21
- @start_index[:primary] = index.to_i
22
- end
23
-
24
- And(/^a start index of "([^"]*)" for testcase "([^"]*)"$/) do |sub_index, parent_index|
25
- @start_index ||= {:sub => {}}
26
- @start_index[:sub][parent_index.to_s] = sub_index.to_i
27
- end
28
-
29
- Given(/^a feature file$/) do
30
- @test_directory = @root_test_directory
31
- @files_created ||= 0
32
- @feature_files ||= []
33
-
34
- file_name = "test_feature_#{@files_created + 1}.feature"
35
- file_name = File.basename(file_name, '.feature')
36
-
37
- file_text = "Feature:\nScenario Outline:\n* a step\nExamples:\n| param 1 |\n| value 1 |"
38
-
39
- file_path = CukeCataloger::FileHelper.create_feature_file(:directory => @test_directory, :name => file_name, :text => file_text)
40
- @feature_files << file_path
41
-
42
- @files_created += 1
43
- end
44
-
45
- And(/^the tag should be at the "([^"]*)"$/) do |tag_location|
46
- case tag_location
47
- when 'top'
48
- @above_or_below = :above
49
- when 'bottom'
50
- @above_or_below = :below
51
- when 'side'
52
- @above_or_below = :adjacent
53
- end
54
- end
55
-
56
- And(/^the tag location is unspecified$/) do
57
- @above_or_below = nil
58
- end
59
-
60
- Given(/^the cuke_cataloger executable is available$/) do
61
- @executable_directory = "#{PROJECT_ROOT}/bin"
62
- end
63
-
64
- And(/^there are test cases in the "([^"]*)" directory that have not been cataloged with "([^"]*)"$/) do |target_directory, prefix|
65
- target_directory = "#{FIXTURE_DIRECTORY}/#{target_directory}"
66
-
67
- @test_results = CukeCataloger::UniqueTestCaseTagger.new.validate_test_ids(target_directory, prefix)
68
-
69
- # Making sure that there is work to be done, thus avoiding false positives
70
- expect(@test_results.select { |test_result| test_result[:problem] == :missing_tag }).to_not be_empty
71
- end
72
-
73
- Given(/^the Rake tasks provided by the gem have been loaded$/) do
74
- File.open("#{FIXTURE_DIRECTORY}/Rakefile", 'a') { |file| file.puts 'CukeCataloger.create_tasks' }
75
- CukeCataloger.create_tasks
76
- end
@@ -1,211 +0,0 @@
1
- Then(/^the resulting file(?: "([^"]*)")? is:$/) do |file_index, expected_text|
2
- file_index ||= 1
3
- file_name = @feature_files[file_index.to_i - 1]
4
-
5
- actual_text = File.read(file_name)
6
-
7
- expect(actual_text).to eq(expected_text)
8
- end
9
-
10
- Then(/^the following tests are found to be missing ids:$/) do |expected_tests|
11
- verify_category_results(:missing_tag, expected_tests)
12
- end
13
-
14
- Then(/^no tests are found to be missing ids$/) do
15
- verify_no_results
16
- end
17
-
18
- Then(/^the following tests rows are found to be missing sub ids:$/) do |expected_rows|
19
- verify_category_results(:missing_row_id, expected_rows)
20
- end
21
-
22
- Then(/^no tests rows are found to be missing sub ids$/) do
23
- verify_no_results
24
- end
25
-
26
- Then(/^the following tests examples are found to be missing a parameter for sub ids:$/) do |expected_examples|
27
- verify_category_results(:missing_id_column, expected_examples)
28
- end
29
-
30
- Then(/^no test examples are found to be missing id parameters$/) do
31
- verify_no_results
32
- end
33
-
34
- Then(/^the following tests example rows are found to have mismatched sub ids:$/) do |expected_rows|
35
- verify_category_results(:mismatched_row_id, expected_rows)
36
- end
37
-
38
- Then(/^no test example rows are found to have mismatched ids$/) do
39
- verify_no_results
40
- end
41
-
42
- Then(/^the following tests are found to have multiple test ids:$/) do |expected_tests|
43
- verify_category_results(:multiple_tags, expected_tests)
44
- end
45
-
46
- Then(/^no tests are found to have multiple test ids$/) do
47
- verify_no_results
48
- end
49
-
50
- Then(/^the following tests are found to have a duplicated id:$/) do |expected_tests|
51
- verify_category_results(:duplicate_id_tag, expected_tests)
52
- end
53
-
54
- Then(/^no tests are found to have duplicated ids$/) do
55
- verify_no_results
56
- end
57
-
58
- Then(/^the following tests example rows are found to have duplicated sub ids:$/) do |expected_rows|
59
- verify_category_results(:duplicate_row_id, expected_rows)
60
- end
61
-
62
- Then(/^no test example rows are found to have duplicated sub ids$/) do
63
- verify_no_results
64
- end
65
-
66
- Then(/^the following tests example rows are found to have malformed sub ids:$/) do |expected_rows|
67
- verify_category_results(:malformed_sub_id, expected_rows)
68
- end
69
-
70
- Then(/^no test example rows are found to have malformed sub ids$/) do
71
- verify_no_results
72
- end
73
-
74
- Then(/^the following tagged test objects are found:$/) do |expected_results|
75
- verify_results(expected_results)
76
- end
77
-
78
- Then(/^the payload is a model object$/) do
79
- class_name = @test_results.first[:object].class.name.split('::').last
80
-
81
- expect(CukeModeler.const_defined?(class_name)).to be true
82
- end
83
-
84
- Then(/^the payload has a test and a test row$/) do
85
- expect(@test_results[0][:object]).to be_a_kind_of(CukeModeler::Outline)
86
- expect(@test_results[1][:object]).to be_a_kind_of(CukeModeler::Row)
87
- end
88
-
89
- Then(/^the following ids are found:$/) do |expected_ids|
90
- expect(@ids_found).to match_array(expected_ids.raw.flatten)
91
- end
92
-
93
- Then(/^the following feature is found to have a test case tag:$/) do |expected_results|
94
- verify_category_results(:feature_test_tag, expected_results)
95
- end
96
-
97
- Then(/^no feature is found to have a test case tag$/) do
98
- verify_no_results
99
- end
100
-
101
- Then(/^the column for sub-ids is placed after all other columns$/) do
102
- file_model = CukeModeler::FeatureFile.new(@feature_files.first)
103
- outline_model = file_model.feature.outlines.first
104
-
105
- expect(outline_model.examples.first.parameters.last).to eq('test_case_id')
106
- end
107
-
108
-
109
- def verify_no_results
110
- expect(@test_results).to be_empty
111
- end
112
-
113
- def verify_category_results(category, results)
114
- @test_results = @test_results.select { |test_result| test_result[:problem] == category }
115
- verify_results(results)
116
- end
117
-
118
- def verify_results(results)
119
- actual = @test_results.collect { |test_result| test_result[:test] }
120
- expected = process_expected_results(results)
121
-
122
- expect(actual).to match_array(expected)
123
- end
124
-
125
- def process_expected_results(results)
126
- results = results.raw.flatten
127
- results.collect { |test_path| test_path.sub('path/to', @root_test_directory) }
128
- end
129
-
130
-
131
- Then(/^the resulting first file is:$/) do |expected_text|
132
- file_name = @feature_files[0]
133
-
134
- actual_text = File.read(file_name)
135
-
136
- # The order in which Ruby returns files various across version and operating system. This, in turn, will
137
- # affect the order in which files are tagged. Either order is acceptable as long as the tagging is
138
- # consistent for any given ordering.
139
- begin
140
- expect(actual_text).to eq(expected_text)
141
- rescue RSpec::Expectations::ExpectationNotMetError => e
142
- if RUBY_PLATFORM =~ /(?:linux|java)/
143
- expected_text.sub!('test_case_1', 'test_case_2')
144
- expect(actual_text).to eq(expected_text)
145
- @switched = true
146
- else
147
- raise e
148
- end
149
- end
150
-
151
- end
152
-
153
- And(/^the resulting second file is:$/) do |expected_text|
154
- file_name = @feature_files[1]
155
-
156
- actual_text = File.read(file_name)
157
-
158
- # The order in which Ruby returns files various across version and operating system. This, in turn, will
159
- # affect the order in which files are tagged. Either order is acceptable as long as the tagging is
160
- # consistent for any given ordering.
161
- if @switched
162
- expected_text.sub!('test_case_2', 'test_case_1')
163
- expected_text.sub!('2-1', '1-1')
164
- expected_text.sub!('2-2', '1-2')
165
- end
166
-
167
- expect(actual_text).to eq(expected_text)
168
- end
169
-
170
- Then(/^all of the test cases in the "([^"]*)" directory will be cataloged with "([^"]*)"$/) do |target_directory, prefix|
171
- target_directory = "#{FIXTURE_DIRECTORY}/#{target_directory}"
172
-
173
- @test_results = CukeCataloger::UniqueTestCaseTagger.new.validate_test_ids(target_directory, prefix)
174
-
175
- verify_no_results
176
- end
177
-
178
- Then(/^all of the scenarios and outlines in the "([^"]*)" directory will be cataloged with "([^"]*)"$/) do |target_directory, prefix|
179
- target_directory = "#{FIXTURE_DIRECTORY}/#{target_directory}"
180
- @expected_prefix = prefix
181
- tag_rows = false
182
-
183
- @test_results = CukeCataloger::UniqueTestCaseTagger.new.validate_test_ids(target_directory, @expected_prefix, tag_rows)
184
-
185
- verify_no_results
186
- end
187
-
188
- But(/^outline rows in the "([^"]*)" directory are not cataloged$/) do |target_directory|
189
- target_directory = "#{FIXTURE_DIRECTORY}/#{target_directory}"
190
- tag_rows = true
191
-
192
- @test_results = CukeCataloger::UniqueTestCaseTagger.new.validate_test_ids(target_directory, @expected_prefix, tag_rows)
193
-
194
- expect(@test_results.collect { |result| result[:problem] }).to include(:missing_id_column)
195
- end
196
-
197
- Then(/^a validation report for the "([^"]*)" directory with prefix "([^"]*)" is output to the console$/) do |target_directory, prefix|
198
- expect(@output).to include("Validating tests in '#{target_directory}' with tag '#{prefix}'")
199
- expect(@output).to include("Validation Results")
200
- end
201
-
202
- Then(/^a validation report for the "([^"]*)" directory with prefix "([^"]*)" is output to "([^"]*)"$/) do |target_directory, prefix, filename|
203
- target_directory = "#{FIXTURE_DIRECTORY}/#{target_directory}"
204
- filename = "#{@root_test_directory}/#{filename}"
205
-
206
- expect(@output).to include("Validating tests in '#{target_directory}' with tag '#{prefix}'")
207
- expect(@output).to include("Problems found:")
208
-
209
- expect(File.exists?(filename)).to be true
210
- expect(File.read(filename)).to include('Validation Results')
211
- end
@@ -1,40 +0,0 @@
1
- unless RUBY_VERSION.to_s < '1.9.0'
2
- require 'simplecov'
3
- SimpleCov.command_name('cuke_cataloger-cucumber')
4
- end
5
-
6
-
7
- require 'cuke_cataloger'
8
-
9
- here = File.dirname(__FILE__)
10
- require "#{here}/../../file_helper"
11
-
12
- PROJECT_ROOT = "#{here}/../../.."
13
- FIXTURE_DIRECTORY = "#{here}/../../fixtures"
14
-
15
- Before do
16
- begin
17
- @root_test_directory = CukeCataloger::FileHelper.create_directory
18
- rescue => e
19
- puts "Error caught in Before hook!"
20
- puts "Type: #{e.class}"
21
- puts "Message: #{e.message}"
22
- end
23
- end
24
-
25
- After do
26
- begin
27
- `git checkout HEAD -- #{FIXTURE_DIRECTORY}`
28
- rescue => e
29
- puts "Error caught in After hook!"
30
- puts "Type: #{e.class}"
31
- puts "Message: #{e.message}"
32
- end
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
- }
@@ -1,42 +0,0 @@
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
@@ -1,19 +0,0 @@
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'
@@ -1,11 +0,0 @@
1
- Feature: Foo
2
-
3
- Scenario: Test 1
4
- * a step
5
-
6
- Scenario Outline: Test 2
7
- * a step
8
- Examples:
9
- | param | value |
10
- | a | b |
11
- | c | d |
@@ -1,40 +0,0 @@
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,35 +0,0 @@
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', '~> 0.0'
@@ -1,35 +0,0 @@
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', '~> 1.0'
@@ -1,35 +0,0 @@
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'
@@ -1,9 +0,0 @@
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'