cuke_cataloger 1.6.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
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'