cuke_modeler 0.1.0 → 0.2.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.
- data/History.rdoc +5 -0
- data/lib/cuke_modeler/background.rb +1 -1
- data/lib/cuke_modeler/doc_string.rb +1 -1
- data/lib/cuke_modeler/example.rb +1 -1
- data/lib/cuke_modeler/feature.rb +1 -1
- data/lib/cuke_modeler/feature_file.rb +1 -1
- data/lib/cuke_modeler/outline.rb +1 -1
- data/lib/cuke_modeler/parsing.rb +15 -4
- data/lib/cuke_modeler/row.rb +1 -1
- data/lib/cuke_modeler/scenario.rb +1 -1
- data/lib/cuke_modeler/step.rb +1 -1
- data/lib/cuke_modeler/table.rb +1 -1
- data/lib/cuke_modeler/table_row.rb +1 -1
- data/lib/cuke_modeler/tag.rb +1 -1
- data/lib/cuke_modeler/test_element.rb +4 -4
- data/lib/cuke_modeler/version.rb +1 -1
- data/spec/spec_helper.rb +2 -0
- data/spec/unit/background_unit_spec.rb +6 -0
- data/spec/unit/doc_string_unit_spec.rb +6 -0
- data/spec/unit/example_unit_spec.rb +6 -0
- data/spec/unit/feature_file_unit_spec.rb +10 -3
- data/spec/unit/feature_unit_spec.rb +6 -0
- data/spec/unit/outline_unit_spec.rb +6 -0
- data/spec/unit/parsing_unit_spec.rb +68 -4
- data/spec/unit/row_unit_spec.rb +6 -0
- data/spec/unit/scenario_unit_spec.rb +6 -0
- data/spec/unit/step_unit_spec.rb +6 -0
- data/spec/unit/table_row_unit_spec.rb +6 -0
- data/spec/unit/table_unit_spec.rb +6 -0
- data/spec/unit/tag_unit_spec.rb +6 -0
- metadata +2 -2
data/History.rdoc
CHANGED
@@ -7,7 +7,7 @@ module CukeModeler
|
|
7
7
|
# Creates a new Background object and, if *source* is provided, populates
|
8
8
|
# the object.
|
9
9
|
def initialize(source = nil)
|
10
|
-
parsed_background = process_source(source)
|
10
|
+
parsed_background = process_source(source, 'cuke_modeler_stand_alone_background.feature')
|
11
11
|
|
12
12
|
super(parsed_background)
|
13
13
|
|
@@ -55,7 +55,7 @@ module CukeModeler
|
|
55
55
|
base_file_string = "Feature:\nScenario:\n* step\n"
|
56
56
|
source_text = base_file_string + source_text
|
57
57
|
|
58
|
-
parsed_file = Parsing::parse_text(source_text)
|
58
|
+
parsed_file = Parsing::parse_text(source_text, 'cuke_modeler_stand_alone_doc_string.feature')
|
59
59
|
|
60
60
|
parsed_file.first['elements'].first['steps'].first['doc_string']
|
61
61
|
end
|
data/lib/cuke_modeler/example.rb
CHANGED
@@ -110,7 +110,7 @@ module CukeModeler
|
|
110
110
|
base_file_string = "Feature: Fake feature to parse\nScenario Outline:\n* fake step\n"
|
111
111
|
source_text = base_file_string + source_text
|
112
112
|
|
113
|
-
parsed_file = Parsing::parse_text(source_text)
|
113
|
+
parsed_file = Parsing::parse_text(source_text, 'cuke_modeler_stand_alone_example.feature')
|
114
114
|
|
115
115
|
parsed_file.first['elements'].first['examples'].first
|
116
116
|
end
|
data/lib/cuke_modeler/feature.rb
CHANGED
data/lib/cuke_modeler/outline.rb
CHANGED
@@ -14,7 +14,7 @@ module CukeModeler
|
|
14
14
|
# Creates a new Outline object and, if *source* is provided, populates the
|
15
15
|
# object.
|
16
16
|
def initialize(source = nil)
|
17
|
-
parsed_outline = process_source(source)
|
17
|
+
parsed_outline = process_source(source, 'cuke_modeler_stand_alone_outline.feature')
|
18
18
|
|
19
19
|
super(parsed_outline)
|
20
20
|
|
data/lib/cuke_modeler/parsing.rb
CHANGED
@@ -17,10 +17,15 @@ if Gem.loaded_specs['gherkin'].version.version[/^3/]
|
|
17
17
|
module Parsing
|
18
18
|
class << self
|
19
19
|
|
20
|
-
def parse_text(source_text)
|
20
|
+
def parse_text(source_text, filename = 'cuke_modeler_fake_file.feature')
|
21
21
|
raise(ArgumentError, "Cannot parse #{source_text.class} objects. Strings only.") unless source_text.is_a?(String)
|
22
22
|
|
23
|
-
|
23
|
+
begin
|
24
|
+
parsed_result = Gherkin::Parser.new.parse(source_text)
|
25
|
+
rescue => e
|
26
|
+
raise(ArgumentError, "Error encountered while parsing '#{filename}'\n#{e.class} - #{e.message}")
|
27
|
+
end
|
28
|
+
|
24
29
|
adapted_result = CukeModeler::Gherkin3Adapter.new.adapt(parsed_result)
|
25
30
|
|
26
31
|
adapted_result
|
@@ -49,13 +54,19 @@ else
|
|
49
54
|
|
50
55
|
# Parses the Cucumber feature given in *source_text* and returns an array
|
51
56
|
# containing the hash representation of its logical structure.
|
52
|
-
def parse_text(source_text)
|
57
|
+
def parse_text(source_text, filename = 'cuke_modeler_fake_file.feature')
|
53
58
|
raise(ArgumentError, "Cannot parse #{source_text.class} objects. Strings only.") unless source_text.is_a?(String)
|
54
59
|
|
55
60
|
io = StringIO.new
|
56
61
|
formatter = Gherkin::Formatter::JSONFormatter.new(io)
|
57
62
|
parser = Gherkin::Parser::Parser.new(formatter)
|
58
|
-
|
63
|
+
|
64
|
+
begin
|
65
|
+
parser.parse(source_text, filename, 0)
|
66
|
+
rescue => e
|
67
|
+
raise(ArgumentError, "Error encountered while parsing '#{filename}'\n#{e.class} - #{e.message}")
|
68
|
+
end
|
69
|
+
|
59
70
|
formatter.done
|
60
71
|
|
61
72
|
|
data/lib/cuke_modeler/row.rb
CHANGED
@@ -45,7 +45,7 @@ module CukeModeler
|
|
45
45
|
base_file_string = "Feature: Fake feature to parse\nScenario Outline:\n* fake step\nExamples: fake examples\n#{source_text}\n"
|
46
46
|
source_text = base_file_string + source_text
|
47
47
|
|
48
|
-
parsed_file = Parsing::parse_text(source_text)
|
48
|
+
parsed_file = Parsing::parse_text(source_text, 'cuke_modeler_stand_alone_row.feature')
|
49
49
|
|
50
50
|
parsed_file.first['elements'].first['examples'].first['rows'].last
|
51
51
|
end
|
@@ -10,7 +10,7 @@ module CukeModeler
|
|
10
10
|
# Creates a new Scenario object and, if *source* is provided, populates the
|
11
11
|
# object.
|
12
12
|
def initialize(source = nil)
|
13
|
-
parsed_scenario = process_source(source)
|
13
|
+
parsed_scenario = process_source(source, 'cuke_modeler_stand_alone_scenario.feature')
|
14
14
|
|
15
15
|
super(parsed_scenario)
|
16
16
|
|
data/lib/cuke_modeler/step.rb
CHANGED
@@ -158,7 +158,7 @@ module CukeModeler
|
|
158
158
|
base_file_string = "Feature: Fake feature to parse\nScenario:\n"
|
159
159
|
source_text = base_file_string + source_text
|
160
160
|
|
161
|
-
parsed_file = Parsing::parse_text(source_text)
|
161
|
+
parsed_file = Parsing::parse_text(source_text, 'cuke_modeler_stand_alone_step.feature')
|
162
162
|
|
163
163
|
parsed_file.first['elements'].first['steps'].first
|
164
164
|
end
|
data/lib/cuke_modeler/table.rb
CHANGED
@@ -51,7 +51,7 @@ module CukeModeler
|
|
51
51
|
base_file_string = "Feature:\nScenario:\n* step\n"
|
52
52
|
source_text = base_file_string + source_text
|
53
53
|
|
54
|
-
parsed_file = Parsing::parse_text(source_text)
|
54
|
+
parsed_file = Parsing::parse_text(source_text, 'cuke_modeler_stand_alone_table.feature')
|
55
55
|
|
56
56
|
parsed_file.first['elements'].first['steps'].first['rows']
|
57
57
|
end
|
@@ -45,7 +45,7 @@ module CukeModeler
|
|
45
45
|
base_file_string = "Feature: Fake feature to parse\nScenario:\n* fake step\n"
|
46
46
|
source_text = base_file_string + source_text
|
47
47
|
|
48
|
-
parsed_file = Parsing::parse_text(source_text)
|
48
|
+
parsed_file = Parsing::parse_text(source_text, 'cuke_modeler_stand_alone_table_row.feature')
|
49
49
|
|
50
50
|
parsed_file.first['elements'].first['steps'].first['rows']['rows'].first
|
51
51
|
end
|
data/lib/cuke_modeler/tag.rb
CHANGED
@@ -43,7 +43,7 @@ module CukeModeler
|
|
43
43
|
base_file_string = "\nFeature: Fake feature to parse"
|
44
44
|
source_text = source_text + base_file_string
|
45
45
|
|
46
|
-
parsed_file = Parsing::parse_text(source_text)
|
46
|
+
parsed_file = Parsing::parse_text(source_text, 'cuke_modeler_stand_alone_tag.feature')
|
47
47
|
|
48
48
|
parsed_file.first['tags'].first
|
49
49
|
end
|
@@ -37,20 +37,20 @@ module CukeModeler
|
|
37
37
|
private
|
38
38
|
|
39
39
|
|
40
|
-
def process_source(source)
|
40
|
+
def process_source(source, file_name = nil)
|
41
41
|
case
|
42
42
|
when source.is_a?(String)
|
43
|
-
parse_test_element(source)
|
43
|
+
parse_test_element(source, file_name)
|
44
44
|
else
|
45
45
|
source
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
49
|
-
def parse_test_element(source_text)
|
49
|
+
def parse_test_element(source_text, file_name = nil)
|
50
50
|
base_file_string = "Feature: Fake feature to parse\n"
|
51
51
|
source_text = base_file_string + source_text
|
52
52
|
|
53
|
-
parsed_file = Parsing::parse_text(source_text)
|
53
|
+
parsed_file = Parsing::parse_text(source_text, file_name)
|
54
54
|
|
55
55
|
parsed_file.first['elements'].first
|
56
56
|
end
|
data/lib/cuke_modeler/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -24,6 +24,12 @@ describe 'Background, Unit' do
|
|
24
24
|
@element.name.should == 'test background'
|
25
25
|
end
|
26
26
|
|
27
|
+
it 'provides a descriptive filename when being parsed from stand alone text' do
|
28
|
+
source = "bad background text \n Background:\n And a step\n @foo "
|
29
|
+
|
30
|
+
expect { clazz.new(source) }.to raise_error(/'cuke_modeler_stand_alone_background\.feature'/)
|
31
|
+
end
|
32
|
+
|
27
33
|
it 'stores the original data generated by the parsing adapter', :gherkin3 => true do
|
28
34
|
background = clazz.new('Background: test background')
|
29
35
|
raw_data = background.raw_element
|
@@ -22,6 +22,12 @@ describe 'DocString, Unit' do
|
|
22
22
|
@element.contents.should == ["some doc string"]
|
23
23
|
end
|
24
24
|
|
25
|
+
it 'provides a descriptive filename when being parsed from stand alone text' do
|
26
|
+
source = 'bad doc string text'
|
27
|
+
|
28
|
+
expect { clazz.new(source) }.to raise_error(/'cuke_modeler_stand_alone_doc_string\.feature'/)
|
29
|
+
end
|
30
|
+
|
25
31
|
it 'stores the original data generated by the parsing adapter', :gherkin3 => true do
|
26
32
|
doc_string = clazz.new("\"\"\"\nsome doc string\n\"\"\"")
|
27
33
|
raw_data = doc_string.raw_element
|
@@ -29,6 +29,12 @@ describe 'Example, Unit' do
|
|
29
29
|
@element.name.should == 'test example'
|
30
30
|
end
|
31
31
|
|
32
|
+
it 'provides a descriptive filename when being parsed from stand alone text' do
|
33
|
+
source = 'bad example text'
|
34
|
+
|
35
|
+
expect { clazz.new(source) }.to raise_error(/'cuke_modeler_stand_alone_example\.feature'/)
|
36
|
+
end
|
37
|
+
|
32
38
|
it 'stores the original data generated by the parsing adapter', :gherkin3 => true do
|
33
39
|
example = clazz.new("Examples: test example\n|param|\n|value|")
|
34
40
|
raw_data = example.raw_element
|
@@ -16,12 +16,19 @@ describe 'FeatureFile, Unit' do
|
|
16
16
|
@feature_file = clazz.new
|
17
17
|
end
|
18
18
|
|
19
|
-
it 'cannot model a non-existent
|
19
|
+
it 'cannot model a non-existent file' do
|
20
20
|
path = "#{@default_file_directory}/missing_file.txt"
|
21
21
|
|
22
22
|
expect { CukeModeler::FeatureFile.new(path) }.to raise_error(ArgumentError)
|
23
23
|
end
|
24
24
|
|
25
|
+
it 'provides its own filename when being parsed' do
|
26
|
+
path = "#{@default_file_directory}/#{@default_feature_file_name}"
|
27
|
+
File.open(path, "w") { |file| file.puts 'bad feature text' }
|
28
|
+
|
29
|
+
expect { clazz.new(path) }.to raise_error(/'#{path}'/)
|
30
|
+
end
|
31
|
+
|
25
32
|
it 'knows the name of the file that it is modeling' do
|
26
33
|
path = "#{@default_file_directory}/#{@default_feature_file_name}"
|
27
34
|
File.open(path, "w") { |file| file.puts "Feature:" }
|
@@ -35,9 +42,9 @@ describe 'FeatureFile, Unit' do
|
|
35
42
|
path = "#{@default_file_directory}/#{@default_feature_file_name}"
|
36
43
|
File.open(path, "w") { |file| file.puts "Feature:" }
|
37
44
|
|
38
|
-
|
45
|
+
file = CukeModeler::FeatureFile.new(path)
|
39
46
|
|
40
|
-
|
47
|
+
file.path.should == path
|
41
48
|
end
|
42
49
|
|
43
50
|
it 'has features - #features' do
|
@@ -28,6 +28,12 @@ describe 'Feature, Unit' do
|
|
28
28
|
@element.name.should == 'test feature'
|
29
29
|
end
|
30
30
|
|
31
|
+
it 'provides a descriptive filename when being parsed from stand alone text' do
|
32
|
+
source = 'bad feature text'
|
33
|
+
|
34
|
+
expect { clazz.new(source) }.to raise_error(/'cuke_modeler_stand_alone_feature\.feature'/)
|
35
|
+
end
|
36
|
+
|
31
37
|
it 'stores the original data generated by the parsing adapter', :gherkin3 => true do
|
32
38
|
feature = clazz.new('Feature: test feature')
|
33
39
|
raw_data = feature.raw_element
|
@@ -29,6 +29,12 @@ describe 'Outline, Unit' do
|
|
29
29
|
@element.name.should == 'test outline'
|
30
30
|
end
|
31
31
|
|
32
|
+
it 'provides a descriptive filename when being parsed from stand alone text' do
|
33
|
+
source = "bad outline text \n Scenario Outline:\n And a step\n @foo "
|
34
|
+
|
35
|
+
expect { clazz.new(source) }.to raise_error(/'cuke_modeler_stand_alone_outline\.feature'/)
|
36
|
+
end
|
37
|
+
|
32
38
|
it 'stores the original data generated by the parsing adapter', :gherkin3 => true do
|
33
39
|
outline = clazz.new("Scenario Outline: test outline\nExamples:\n|param|\n|value|")
|
34
40
|
raw_data = outline.raw_element
|
@@ -4,18 +4,82 @@ SimpleCov.command_name('Parsing') unless RUBY_VERSION.to_s < '1.9.0'
|
|
4
4
|
|
5
5
|
describe 'Parsing, Unit' do
|
6
6
|
|
7
|
+
let(:nodule) { CukeModeler::Parsing }
|
8
|
+
|
9
|
+
|
7
10
|
it 'can parse text - #parse_text' do
|
8
|
-
|
11
|
+
nodule.should respond_to(:parse_text)
|
9
12
|
end
|
10
13
|
|
11
14
|
it 'can only parse strings' do
|
12
|
-
expect{
|
13
|
-
expect{
|
15
|
+
expect { nodule.parse_text(5) }.to raise_error(ArgumentError)
|
16
|
+
expect { nodule.parse_text('Feature:') }.to_not raise_error
|
14
17
|
end
|
15
18
|
|
16
19
|
it 'returns an Array' do
|
17
|
-
result =
|
20
|
+
result = nodule.parse_text('Feature:')
|
18
21
|
result.is_a?(Array).should be_true
|
19
22
|
end
|
20
23
|
|
24
|
+
it 'takes the text that is to be parsed and an optional file name' do
|
25
|
+
expect(nodule.method(:parse_text).arity).to eq(-2)
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'raises and error if an error is encountered while parsing text' do
|
29
|
+
expect { nodule.parse_text('bad file') }.to raise_error(ArgumentError, /Error encountered while parsing '.*'/)
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'includes the file parsed in the error that it raises' do
|
33
|
+
expect { nodule.parse_text('bad file', 'file foo.txt') }.to raise_error(/'file foo\.txt'/)
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'includes the underlying error message in the error that it raises' do
|
37
|
+
begin
|
38
|
+
# Custom error type in order to ensure that we are throwing the correct thing
|
39
|
+
module CukeModeler
|
40
|
+
class TestError < StandardError
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
# Monkey patch Gherkin to throw the error that we need for testing
|
45
|
+
if Gem.loaded_specs['gherkin'].version.version[/^3/]
|
46
|
+
old_method = Gherkin::Parser.instance_method(:parse)
|
47
|
+
|
48
|
+
module Gherkin
|
49
|
+
class Parser
|
50
|
+
def parse(*args)
|
51
|
+
raise(CukeModeler::TestError, 'something went wrong')
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
else
|
56
|
+
old_method = Gherkin::Parser::Parser.instance_method(:parse)
|
57
|
+
|
58
|
+
module Gherkin
|
59
|
+
module Parser
|
60
|
+
class Parser
|
61
|
+
def parse(*args)
|
62
|
+
raise(CukeModeler::TestError, 'something went wrong')
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
expect { nodule.parse_text('bad file') }.to raise_error(/CukeModeler::TestError.*something went wrong/)
|
70
|
+
ensure
|
71
|
+
# Making sure that our changes don't escape a test and ruin the rest of the suite
|
72
|
+
if Gem.loaded_specs['gherkin'].version.version[/^3/]
|
73
|
+
Gherkin::Parser.send(:define_method, :parse, old_method)
|
74
|
+
else
|
75
|
+
Gherkin::Parser::Parser.send(:define_method, :parse, old_method)
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
end
|
80
|
+
|
81
|
+
it 'has a default file name if one is not provided' do
|
82
|
+
expect { nodule.parse_text('bad file') }.to raise_error(ArgumentError, /'cuke_modeler_fake_file\.feature'/)
|
83
|
+
end
|
84
|
+
|
21
85
|
end
|
data/spec/unit/row_unit_spec.rb
CHANGED
@@ -21,6 +21,12 @@ describe 'Row, Unit' do
|
|
21
21
|
@element.cells.should == ['a', 'row']
|
22
22
|
end
|
23
23
|
|
24
|
+
it 'provides a descriptive filename when being parsed from stand alone text' do
|
25
|
+
source = " |bad |row| text| \n @foo "
|
26
|
+
|
27
|
+
expect { clazz.new(source) }.to raise_error(/'cuke_modeler_stand_alone_row\.feature'/)
|
28
|
+
end
|
29
|
+
|
24
30
|
it 'stores the original data generated by the parsing adapter', :gherkin3 => true do
|
25
31
|
example_row = clazz.new("| a | row |")
|
26
32
|
raw_data = example_row.raw_element
|
@@ -25,6 +25,12 @@ describe 'Scenario, Unit' do
|
|
25
25
|
@element.name.should == 'test scenario'
|
26
26
|
end
|
27
27
|
|
28
|
+
it 'provides a descriptive filename when being parsed from stand alone text' do
|
29
|
+
source = "bad scenario text \n Scenario:\n And a step\n @foo "
|
30
|
+
|
31
|
+
expect { clazz.new(source) }.to raise_error(/'cuke_modeler_stand_alone_scenario\.feature'/)
|
32
|
+
end
|
33
|
+
|
28
34
|
it 'stores the original data generated by the parsing adapter', :gherkin3 => true do
|
29
35
|
scenario = clazz.new("Scenario: test scenario")
|
30
36
|
raw_data = scenario.raw_element
|
data/spec/unit/step_unit_spec.rb
CHANGED
@@ -187,6 +187,12 @@ describe 'Step, Unit' do
|
|
187
187
|
@element.base.should == 'test step'
|
188
188
|
end
|
189
189
|
|
190
|
+
it 'provides a descriptive filename when being parsed from stand alone text' do
|
191
|
+
source = "bad step text\n And a step\n @foo"
|
192
|
+
|
193
|
+
expect { clazz.new(source) }.to raise_error(/'cuke_modeler_stand_alone_step\.feature'/)
|
194
|
+
end
|
195
|
+
|
190
196
|
it 'stores the original data generated by the parsing adapter', :gherkin3 => true do
|
191
197
|
step = clazz.new("* test step")
|
192
198
|
raw_data = step.raw_element
|
@@ -21,6 +21,12 @@ describe 'TableRow, Unit' do
|
|
21
21
|
@element.cells.should == ['a', 'row']
|
22
22
|
end
|
23
23
|
|
24
|
+
it 'provides a descriptive filename when being parsed from stand alone text' do
|
25
|
+
source = 'bad table row text'
|
26
|
+
|
27
|
+
expect { clazz.new(source) }.to raise_error(/'cuke_modeler_stand_alone_table_row\.feature'/)
|
28
|
+
end
|
29
|
+
|
24
30
|
it 'stores the original data generated by the parsing adapter', :gherkin3 => true do
|
25
31
|
table_row = clazz.new("| a | row |")
|
26
32
|
raw_data = table_row.raw_element
|
@@ -22,6 +22,12 @@ describe 'Table, Unit' do
|
|
22
22
|
@element.contents.should == [['a table']]
|
23
23
|
end
|
24
24
|
|
25
|
+
it 'provides a descriptive filename when being parsed from stand alone text' do
|
26
|
+
source = 'bad table text'
|
27
|
+
|
28
|
+
expect { clazz.new(source) }.to raise_error(/'cuke_modeler_stand_alone_table\.feature'/)
|
29
|
+
end
|
30
|
+
|
25
31
|
it 'stores the original data generated by the parsing adapter', :gherkin3 => true do
|
26
32
|
table = clazz.new("| a table |")
|
27
33
|
raw_data = table.raw_element
|
data/spec/unit/tag_unit_spec.rb
CHANGED
@@ -20,6 +20,12 @@ describe 'Tag, Unit' do
|
|
20
20
|
@element.name.should == '@a_tag'
|
21
21
|
end
|
22
22
|
|
23
|
+
it 'provides a descriptive filename when being parsed from stand alone text' do
|
24
|
+
source = 'bad tag text'
|
25
|
+
|
26
|
+
expect { clazz.new(source) }.to raise_error(/'cuke_modeler_stand_alone_tag\.feature'/)
|
27
|
+
end
|
28
|
+
|
23
29
|
it 'stores the original data generated by the parsing adapter', :gherkin3 => true do
|
24
30
|
tag = clazz.new('@a_tag')
|
25
31
|
raw_data = tag.raw_element
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cuke_modeler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-02-
|
12
|
+
date: 2016-02-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: gherkin
|