kosmas58-cucumber 0.3.11.3 → 0.3.11.6
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.
- data/History.txt +36 -0
- data/Manifest.txt +9 -0
- data/config/hoe.rb +1 -2
- data/examples/i18n/ar/Rakefile +1 -1
- data/examples/i18n/ar/features/addition.feature +1 -0
- data/examples/i18n/bg/Rakefile +1 -1
- data/examples/i18n/bg/features/addition.feature +1 -0
- data/examples/i18n/bg/features/consecutive_calculations.feature +1 -0
- data/examples/i18n/bg/features/division.feature +1 -0
- data/examples/i18n/cat/Rakefile +1 -1
- data/examples/i18n/cat/features/suma.feature +1 -0
- data/examples/i18n/da/Rakefile +1 -1
- data/examples/i18n/da/features/summering.feature +1 -0
- data/examples/i18n/de/Rakefile +1 -1
- data/examples/i18n/de/features/addition.feature +1 -0
- data/examples/i18n/de/features/division.feature +1 -0
- data/examples/i18n/en/Rakefile +1 -1
- data/examples/i18n/en/features/addition.feature +1 -0
- data/examples/i18n/en/features/division.feature +1 -0
- data/examples/i18n/en-lol/features/stuffing.feature +1 -1
- data/examples/i18n/es/Rakefile +1 -1
- data/examples/i18n/es/features/adicion.feature +1 -0
- data/examples/i18n/et/Rakefile +1 -1
- data/examples/i18n/et/features/jagamine.feature +1 -0
- data/examples/i18n/et/features/liitmine.feature +1 -0
- data/examples/i18n/fi/Rakefile +1 -1
- data/examples/i18n/fi/features/jakolasku.feature +1 -0
- data/examples/i18n/fr/Rakefile +1 -1
- data/examples/i18n/fr/features/addition.feature +2 -1
- data/examples/i18n/he/Rakefile +1 -1
- data/examples/i18n/he/features/addition.feature +1 -0
- data/examples/i18n/he/features/division.feature +1 -0
- data/examples/i18n/hu/Rakefile +1 -1
- data/examples/i18n/hu/features/addition.feature +1 -0
- data/examples/i18n/hu/features/division.feature +1 -0
- data/examples/i18n/id/Rakefile +1 -1
- data/examples/i18n/id/features/addition.feature +1 -0
- data/examples/i18n/id/features/division.feature +1 -0
- data/examples/i18n/it/Rakefile +1 -1
- data/examples/i18n/it/features/somma.feature +1 -0
- data/examples/i18n/ja/Rakefile +1 -1
- data/examples/i18n/ja/features/addition.feature +1 -0
- data/examples/i18n/ja/features/division.feature +1 -0
- data/examples/i18n/ko/Rakefile +1 -1
- data/examples/i18n/ko/features/addition.feature +1 -0
- data/examples/i18n/ko/features/division.feature +1 -0
- data/examples/i18n/lt/Rakefile +1 -1
- data/examples/i18n/lt/features/addition.feature +1 -0
- data/examples/i18n/lt/features/division.feature +1 -0
- data/examples/i18n/lv/Rakefile +1 -1
- data/examples/i18n/lv/features/addition.feature +1 -0
- data/examples/i18n/lv/features/division.feature +1 -0
- data/examples/i18n/no/Rakefile +1 -1
- data/examples/i18n/no/features/summering.feature +1 -0
- data/examples/i18n/pl/Rakefile +1 -1
- data/examples/i18n/pl/features/addition.feature +1 -0
- data/examples/i18n/pl/features/division.feature +1 -0
- data/examples/i18n/pt/Rakefile +1 -1
- data/examples/i18n/pt/features/adicao.feature +1 -0
- data/examples/i18n/ro/Rakefile +1 -1
- data/examples/i18n/ro/features/suma.feature +1 -0
- data/examples/i18n/ru/Rakefile +1 -1
- data/examples/i18n/ru/features/addition.feature +1 -0
- data/examples/i18n/ru/features/consecutive_calculations.feature +1 -0
- data/examples/i18n/ru/features/division.feature +1 -0
- data/examples/i18n/se/Rakefile +1 -1
- data/examples/i18n/se/features/summering.feature +1 -0
- data/examples/i18n/sk/Rakefile +1 -1
- data/examples/i18n/sk/features/addition.feature +1 -0
- data/examples/i18n/sk/features/division.feature +1 -0
- data/examples/i18n/zh-CN/features/addition.feature +1 -0
- data/examples/i18n/zh-TW/features/addition.feature +1 -0
- data/examples/i18n/zh-TW/features/division.feature +1 -0
- data/examples/sinatra/features/step_definitions/add_steps.rb +1 -1
- data/examples/sinatra/features/support/env.rb +13 -5
- data/features/after_block_exceptions.feature +4 -1
- data/features/after_step_block_exceptions.feature +4 -1
- data/features/background.feature +6 -0
- data/features/cucumber_cli.feature +11 -1
- data/features/cucumber_cli_diff_disabled.feature +7 -1
- data/features/drb_server_integration.feature +5 -4
- data/features/expand.feature +2 -1
- data/features/html_formatter/a.html +12 -14
- data/features/junit_formatter.feature +4 -4
- data/features/step_definitions/cucumber_steps.rb +2 -2
- data/features/support/env.rb +7 -4
- data/features/work_in_progress.feature +3 -0
- data/lib/cucumber/ast/comment.rb +1 -1
- data/lib/cucumber/ast/feature.rb +2 -2
- data/lib/cucumber/ast/feature_element.rb +4 -0
- data/lib/cucumber/ast/scenario.rb +5 -3
- data/lib/cucumber/ast/scenario_outline.rb +6 -1
- data/lib/cucumber/ast/step.rb +4 -0
- data/lib/cucumber/ast/step_invocation.rb +6 -1
- data/lib/cucumber/cli/configuration.rb +37 -26
- data/lib/cucumber/cli/main.rb +4 -5
- data/lib/cucumber/formatter/console.rb +12 -0
- data/lib/cucumber/formatter/html.rb +3 -2
- data/lib/cucumber/formatter/junit.rb +3 -6
- data/lib/cucumber/formatter/pretty.rb +2 -4
- data/lib/cucumber/formatter/profile.rb +1 -1
- data/lib/cucumber/languages.yml +3 -3
- data/lib/cucumber/parser/feature.rb +12 -16
- data/lib/cucumber/parser/feature.tt +1 -3
- data/lib/cucumber/parser/i18n.tt +30 -23
- data/lib/cucumber/parser/treetop_ext.rb +12 -83
- data/lib/cucumber/parser.rb +1 -33
- data/lib/cucumber/platform.rb +6 -0
- data/lib/cucumber/step_definition.rb +6 -0
- data/lib/cucumber/step_mother.rb +3 -3
- data/lib/cucumber/version.rb +1 -1
- data/lib/cucumber.rb +0 -57
- data/rails_generators/cucumber/templates/cucumber.rake +4 -0
- data/spec/cucumber/ast/step_collection_spec.rb +5 -4
- data/spec/cucumber/cli/configuration_spec.rb +42 -9
- data/spec/cucumber/cli/main_spec.rb +2 -10
- data/spec/cucumber/parser/feature_parser_spec.rb +11 -9
- data/spec/cucumber/parser/table_parser_spec.rb +1 -1
- data/spec/spec_helper.rb +0 -1
- metadata +3 -13
data/lib/cucumber/platform.rb
CHANGED
@@ -4,9 +4,11 @@ require 'rbconfig'
|
|
4
4
|
require 'yaml'
|
5
5
|
|
6
6
|
module Cucumber
|
7
|
+
# TODO: Move these constants and the file to Language. Update wiki
|
7
8
|
LANGUAGE_FILE = File.expand_path(File.dirname(__FILE__) + '/languages.yml')
|
8
9
|
LANGUAGES = YAML.load_file(LANGUAGE_FILE)
|
9
10
|
BINARY = File.expand_path(File.dirname(__FILE__) + '/../../bin/cucumber')
|
11
|
+
LIBDIR = File.expand_path(File.dirname(__FILE__) + '/../../lib')
|
10
12
|
JRUBY = defined?(JRUBY_VERSION)
|
11
13
|
IRONRUBY = Config::CONFIG['sitedir'] =~ /IronRuby/
|
12
14
|
WINDOWS = Config::CONFIG['host_os'] =~ /mswin|mingw/
|
@@ -14,4 +16,8 @@ module Cucumber
|
|
14
16
|
RAILS = defined?(Rails)
|
15
17
|
RUBY_BINARY = File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name'])
|
16
18
|
RUBY_1_9 = RUBY_VERSION =~ /^1\.9/
|
19
|
+
|
20
|
+
def self.file_mode(m)
|
21
|
+
RUBY_1_9 ? "#{m}:UTF-8" : m
|
22
|
+
end
|
17
23
|
end
|
@@ -86,6 +86,8 @@ module Cucumber
|
|
86
86
|
|
87
87
|
include StepDefinitionMethods
|
88
88
|
|
89
|
+
attr_reader :regexp, :proc
|
90
|
+
|
89
91
|
def initialize(pattern, &proc)
|
90
92
|
raise MissingProc if proc.nil?
|
91
93
|
if String === pattern
|
@@ -112,5 +114,9 @@ module Cucumber
|
|
112
114
|
def file_colon_line
|
113
115
|
@proc.file_colon_line
|
114
116
|
end
|
117
|
+
|
118
|
+
def file
|
119
|
+
@file ||= file_colon_line.split(':')[0]
|
120
|
+
end
|
115
121
|
end
|
116
122
|
end
|
data/lib/cucumber/step_mother.rb
CHANGED
@@ -254,12 +254,12 @@ module Cucumber
|
|
254
254
|
@snippet_generator.snippet_text(step_keyword, step_name, multiline_arg_class)
|
255
255
|
end
|
256
256
|
|
257
|
-
def before_and_after(scenario,
|
258
|
-
before(scenario) unless
|
257
|
+
def before_and_after(scenario, skip_hooks=false)
|
258
|
+
before(scenario) unless skip_hooks
|
259
259
|
@current_scenario = scenario
|
260
260
|
yield scenario
|
261
261
|
@current_scenario = nil
|
262
|
-
after(scenario) unless
|
262
|
+
after(scenario) unless skip_hooks
|
263
263
|
scenario_visited(scenario)
|
264
264
|
end
|
265
265
|
|
data/lib/cucumber/version.rb
CHANGED
data/lib/cucumber.rb
CHANGED
@@ -9,60 +9,3 @@ require 'cucumber/step_mother'
|
|
9
9
|
require 'cucumber/cli/main'
|
10
10
|
require 'cucumber/broadcaster'
|
11
11
|
require 'cucumber/core_ext/exception'
|
12
|
-
|
13
|
-
module Cucumber
|
14
|
-
KEYWORD_KEYS = %w{name native encoding feature background scenario scenario_outline examples given when then but}
|
15
|
-
|
16
|
-
class << self
|
17
|
-
# The currently active language
|
18
|
-
attr_reader :lang
|
19
|
-
|
20
|
-
def load_language(lang) #:nodoc:
|
21
|
-
return if @lang
|
22
|
-
@lang = lang
|
23
|
-
alias_step_definitions(lang)
|
24
|
-
Parser.load_parser(keyword_hash)
|
25
|
-
end
|
26
|
-
|
27
|
-
def language_incomplete?(lang=@lang)
|
28
|
-
KEYWORD_KEYS.detect{|key| keyword_hash(lang)[key].nil?}
|
29
|
-
end
|
30
|
-
|
31
|
-
# File mode that accounts for Ruby platform and current language
|
32
|
-
def file_mode(m)
|
33
|
-
Cucumber::RUBY_1_9 ? "#{m}:#{keyword_hash['encoding']}" : m
|
34
|
-
end
|
35
|
-
|
36
|
-
# Returns a Hash of the currently active
|
37
|
-
# language, or for a specific language if +lang+ is
|
38
|
-
# specified.
|
39
|
-
def keyword_hash(lang=@lang)
|
40
|
-
LANGUAGES[lang]
|
41
|
-
end
|
42
|
-
|
43
|
-
def scenario_keyword
|
44
|
-
keyword_hash['scenario'].split('|')[0] + ':'
|
45
|
-
end
|
46
|
-
|
47
|
-
def alias_step_definitions(lang) #:nodoc:
|
48
|
-
keywords = %w{given when then and but}.map{|keyword| keyword_hash(lang)[keyword].split('|')}
|
49
|
-
alias_steps(keywords.flatten)
|
50
|
-
end
|
51
|
-
|
52
|
-
# Sets up additional method aliases for Given, When and Then.
|
53
|
-
# This does *not* affect how feature files are parsed. If you
|
54
|
-
# want to create aliases in the parser, you have to do this in
|
55
|
-
# languages.yml. For example:
|
56
|
-
#
|
57
|
-
# and: And|With
|
58
|
-
def alias_steps(keywords)
|
59
|
-
keywords.each do |adverb|
|
60
|
-
StepMother.alias_adverb(adverb)
|
61
|
-
World.alias_adverb(adverb)
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
# Make sure we always have English aliases
|
67
|
-
alias_step_definitions('en')
|
68
|
-
end
|
@@ -1,5 +1,7 @@
|
|
1
1
|
$LOAD_PATH.unshift(RAILS_ROOT + '/vendor/plugins/cucumber/lib') if File.directory?(RAILS_ROOT + '/vendor/plugins/cucumber/lib')
|
2
2
|
|
3
|
+
unless ARGV.any? {|a| a =~ /^gems/}
|
4
|
+
|
3
5
|
begin
|
4
6
|
require 'cucumber/rake/task'
|
5
7
|
|
@@ -18,3 +20,5 @@ rescue LoadError
|
|
18
20
|
abort 'Cucumber rake task is not available. Be sure to install cucumber as a gem or plugin'
|
19
21
|
end
|
20
22
|
end
|
23
|
+
|
24
|
+
end
|
@@ -4,10 +4,11 @@ module Cucumber
|
|
4
4
|
module Ast
|
5
5
|
describe StepCollection do
|
6
6
|
it "should convert And to Given in snippets" do
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
])
|
7
|
+
s1 = Step.new(1, 'Given', 'cukes')
|
8
|
+
s2 = Step.new(2, 'And', 'turnips')
|
9
|
+
s1.stub!(:language).and_return(Parser::I18n::Language['en'])
|
10
|
+
s2.stub!(:language).and_return(Parser::I18n::Language['en'])
|
11
|
+
c = StepCollection.new([s1, s2])
|
11
12
|
actual_keywords = c.step_invocations.map{|i| i.actual_keyword}
|
12
13
|
actual_keywords.should == %w{Given Given}
|
13
14
|
end
|
@@ -138,12 +138,22 @@ module Cli
|
|
138
138
|
|
139
139
|
end
|
140
140
|
|
141
|
+
context '--drb in the default profile and no arguments specified' do
|
142
|
+
it "expands the profile's arguments into the args excpet for --drb" do
|
143
|
+
given_cucumber_yml_defined_as({'default' => '--drb features --format pretty'})
|
144
|
+
config = Configuration.new(StringIO.new)
|
145
|
+
args = []
|
146
|
+
config.parse!(args)
|
147
|
+
args.should == %w{features --format pretty}
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
141
151
|
it "should expand args from YAML file" do
|
142
152
|
given_cucumber_yml_defined_as({'bongo' => '--require from/yml'})
|
143
153
|
|
144
154
|
config = Configuration.new
|
145
155
|
config.parse!(%w{--format progress --profile bongo})
|
146
|
-
config.options[:formats].should ==
|
156
|
+
config.options[:formats].should == [['progress', STDOUT]]
|
147
157
|
config.options[:require].should == ['from/yml']
|
148
158
|
end
|
149
159
|
|
@@ -255,26 +265,34 @@ END_OF_MESSAGE
|
|
255
265
|
it "should accept --out option" do
|
256
266
|
config = Configuration.new(StringIO.new)
|
257
267
|
config.parse!(%w{--out jalla.txt})
|
258
|
-
config.options[:formats]
|
268
|
+
config.options[:formats].should == [['pretty', 'jalla.txt']]
|
259
269
|
end
|
260
270
|
|
261
271
|
it "should accept multiple --out options" do
|
262
272
|
config = Configuration.new(StringIO.new)
|
263
273
|
config.parse!(%w{--format progress --out file1 --out file2})
|
264
|
-
config.options[:formats].should ==
|
274
|
+
config.options[:formats].should == [['progress', 'file2']]
|
265
275
|
end
|
266
276
|
|
267
|
-
it "should accept multiple --format options" do
|
268
|
-
|
269
|
-
config.
|
270
|
-
config.
|
271
|
-
config.options[:formats].should
|
277
|
+
it "should accept multiple --format options and put the STDOUT one first so progress is seen" do
|
278
|
+
io = StringIO.new
|
279
|
+
config = Configuration.new(io)
|
280
|
+
config.parse!(%w{--format pretty --out pretty.txt --format progress})
|
281
|
+
config.options[:formats].should == [['progress', io], ['pretty', 'pretty.txt']]
|
282
|
+
end
|
283
|
+
|
284
|
+
it "should not accept multiple --format options when both use implicit STDOUT" do
|
285
|
+
io = StringIO.new
|
286
|
+
config = Configuration.new(io)
|
287
|
+
lambda do
|
288
|
+
config.parse!(%w{--format pretty --format progress})
|
289
|
+
end.should raise_error("All but one formatter must use --out, only one can print to STDOUT")
|
272
290
|
end
|
273
291
|
|
274
292
|
it "should associate --out to previous --format" do
|
275
293
|
config = Configuration.new(StringIO.new)
|
276
294
|
config.parse!(%w{--format progress --out file1 --format profile --out file2})
|
277
|
-
config.options[:formats].should ==
|
295
|
+
config.options[:formats].should == [["progress", "file1"], ["profile" ,"file2"]]
|
278
296
|
end
|
279
297
|
|
280
298
|
it "should accept --color option" do
|
@@ -358,6 +376,21 @@ END_OF_MESSAGE
|
|
358
376
|
config.feature_files.should == ["cucumber.feature"]
|
359
377
|
end
|
360
378
|
|
379
|
+
it "should allow specifying environment variables on the command line" do
|
380
|
+
config = Configuration.new
|
381
|
+
config.parse!(["foo=bar"])
|
382
|
+
ENV["foo"].should == "bar"
|
383
|
+
config.feature_files.should == []
|
384
|
+
end
|
385
|
+
|
386
|
+
it "should allow specifying environment variables in profiles" do
|
387
|
+
given_cucumber_yml_defined_as({'selenium' => 'RAILS_ENV=selenium'})
|
388
|
+
config = Configuration.new
|
389
|
+
config.parse!(["--profile", "selenium"])
|
390
|
+
ENV["RAILS_ENV"].should == "selenium"
|
391
|
+
config.feature_files.should == []
|
392
|
+
end
|
393
|
+
|
361
394
|
end
|
362
395
|
end
|
363
396
|
end
|
@@ -35,7 +35,7 @@ module Cucumber
|
|
35
35
|
@cli = Main.new(%w{--verbose example.feature}, @out)
|
36
36
|
@cli.stub!(:require)
|
37
37
|
|
38
|
-
|
38
|
+
FeatureFile.stub!(:new).and_return(mock("feature file", :parse => @empty_feature))
|
39
39
|
|
40
40
|
@cli.execute!(Object.new.extend(StepMother))
|
41
41
|
|
@@ -115,10 +115,9 @@ module Cucumber
|
|
115
115
|
@cli.execute!(@step_mother).should == 'foo'
|
116
116
|
end
|
117
117
|
|
118
|
-
|
119
118
|
it "ceases execution if the DrbClient is able to perform the execution" do
|
120
119
|
DRbClient.stub!(:run).and_return(true)
|
121
|
-
@configuration.should_not_receive(:
|
120
|
+
@configuration.should_not_receive(:build_formatter_broadcaster)
|
122
121
|
@cli.execute!(@step_mother)
|
123
122
|
end
|
124
123
|
|
@@ -134,15 +133,8 @@ module Cucumber
|
|
134
133
|
@configuration.should_receive(:parse!).exactly(:twice)
|
135
134
|
@cli.execute!(@step_mother)
|
136
135
|
end
|
137
|
-
|
138
|
-
it "proceeds with the execution locally" do
|
139
|
-
@configuration.should_receive(:load_language)
|
140
|
-
@cli.execute!(@step_mother)
|
141
|
-
end
|
142
136
|
end
|
143
|
-
|
144
137
|
end
|
145
|
-
|
146
138
|
end
|
147
139
|
end
|
148
140
|
end
|
@@ -1,11 +1,11 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/../../spec_helper'
|
2
|
-
require 'cucumber/parser'
|
2
|
+
require 'cucumber/parser/i18n/language'
|
3
3
|
|
4
4
|
module Cucumber
|
5
5
|
module Parser
|
6
6
|
describe Feature do
|
7
7
|
before do
|
8
|
-
@parser =
|
8
|
+
@parser = I18n::Language['en'].parser
|
9
9
|
end
|
10
10
|
|
11
11
|
def parse(text)
|
@@ -13,11 +13,11 @@ module Cucumber
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def parse_file(file)
|
16
|
-
|
16
|
+
FeatureFile.new(File.dirname(__FILE__) + "/../treetop_parser/" + file).parse
|
17
17
|
end
|
18
18
|
|
19
19
|
def parse_example_file(file)
|
20
|
-
|
20
|
+
FeatureFile.new(File.dirname(__FILE__) + "/../../../examples/" + file).parse
|
21
21
|
end
|
22
22
|
|
23
23
|
describe "Comments" do
|
@@ -25,7 +25,7 @@ module Cucumber
|
|
25
25
|
parse(%{# My comment
|
26
26
|
Feature: hi
|
27
27
|
}).to_sexp.should ==
|
28
|
-
[:feature, nil, "Feature: hi
|
28
|
+
[:feature, nil, "Feature: hi",
|
29
29
|
[:comment, "# My comment\n"]]
|
30
30
|
end
|
31
31
|
|
@@ -34,13 +34,13 @@ Feature: hi
|
|
34
34
|
# World
|
35
35
|
Feature: hi
|
36
36
|
}).to_sexp.should ==
|
37
|
-
[:feature, nil, "Feature: hi
|
37
|
+
[:feature, nil, "Feature: hi",
|
38
38
|
[:comment, "# Hello\n# World\n"]]
|
39
39
|
end
|
40
40
|
|
41
41
|
it "should parse a file with no comments" do
|
42
42
|
parse("Feature: hi\n").to_sexp.should ==
|
43
|
-
[:feature, nil, "Feature: hi
|
43
|
+
[:feature, nil, "Feature: hi"]
|
44
44
|
end
|
45
45
|
|
46
46
|
it "should parse a file with only a multiline comment with newlines" do
|
@@ -61,7 +61,7 @@ Feature: hi
|
|
61
61
|
describe "Tags" do
|
62
62
|
it "should parse a file with tags on a feature" do
|
63
63
|
parse("# My comment\n@hello @world Feature: hi\n").to_sexp.should ==
|
64
|
-
[:feature, nil, "Feature: hi
|
64
|
+
[:feature, nil, "Feature: hi",
|
65
65
|
[:comment, "# My comment\n"],
|
66
66
|
[:tag, "hello"],
|
67
67
|
[:tag, "world"]]
|
@@ -352,7 +352,9 @@ Given I am a step
|
|
352
352
|
|
353
353
|
describe "Filtering" do
|
354
354
|
it "should filter outline tables" do
|
355
|
-
|
355
|
+
ff = FeatureFile.new(
|
356
|
+
File.dirname(__FILE__) + '/../../../examples/self_test/features/outline_sample.feature:12')
|
357
|
+
f = ff.parse({:lang => 'en'})
|
356
358
|
f.to_sexp.should ==
|
357
359
|
[:feature,
|
358
360
|
"./spec/cucumber/parser/../../../examples/self_test/features/outline_sample.feature",
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kosmas58-cucumber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.11.
|
4
|
+
version: 0.3.11.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "Aslak Helles\xC3\xB8y"
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-06-
|
12
|
+
date: 2009-06-16 00:00:00 -07:00
|
13
13
|
default_executable: cucumber
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -30,17 +30,7 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.2.
|
34
|
-
version:
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: polyglot
|
37
|
-
type: :runtime
|
38
|
-
version_requirement:
|
39
|
-
version_requirements: !ruby/object:Gem::Requirement
|
40
|
-
requirements:
|
41
|
-
- - ">="
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
version: 0.2.5
|
33
|
+
version: 1.2.6
|
44
34
|
version:
|
45
35
|
- !ruby/object:Gem::Dependency
|
46
36
|
name: diff-lcs
|