gherkin 2.4.21-x86-mswin32 → 2.5.0-x86-mswin32
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/Gemfile.lock +5 -6
- data/History.md +71 -0
- data/features/json_formatter.feature +134 -80
- data/features/json_parser.feature +8 -12
- data/gherkin.gemspec +2 -2
- data/lib/1.8/gherkin_lexer_ar.so +0 -0
- data/lib/1.8/gherkin_lexer_bg.so +0 -0
- data/lib/1.8/gherkin_lexer_ca.so +0 -0
- data/lib/1.8/gherkin_lexer_cs.so +0 -0
- data/lib/1.8/gherkin_lexer_cy_gb.so +0 -0
- data/lib/1.8/gherkin_lexer_da.so +0 -0
- data/lib/1.8/gherkin_lexer_de.so +0 -0
- data/lib/1.8/gherkin_lexer_en.so +0 -0
- data/lib/1.8/gherkin_lexer_en_au.so +0 -0
- data/lib/1.8/gherkin_lexer_en_lol.so +0 -0
- data/lib/1.8/gherkin_lexer_en_pirate.so +0 -0
- data/lib/1.8/gherkin_lexer_en_scouse.so +0 -0
- data/lib/1.8/gherkin_lexer_en_tx.so +0 -0
- data/lib/1.8/gherkin_lexer_eo.so +0 -0
- data/lib/1.8/gherkin_lexer_es.so +0 -0
- data/lib/1.8/gherkin_lexer_et.so +0 -0
- data/lib/1.8/gherkin_lexer_fi.so +0 -0
- data/lib/1.8/gherkin_lexer_fr.so +0 -0
- data/lib/1.8/gherkin_lexer_he.so +0 -0
- data/lib/1.8/gherkin_lexer_hr.so +0 -0
- data/lib/1.8/gherkin_lexer_hu.so +0 -0
- data/lib/1.8/gherkin_lexer_id.so +0 -0
- data/lib/1.8/gherkin_lexer_is.so +0 -0
- data/lib/1.8/gherkin_lexer_it.so +0 -0
- data/lib/1.8/gherkin_lexer_ja.so +0 -0
- data/lib/1.8/gherkin_lexer_ko.so +0 -0
- data/lib/1.8/gherkin_lexer_lt.so +0 -0
- data/lib/1.8/gherkin_lexer_lu.so +0 -0
- data/lib/1.8/gherkin_lexer_lv.so +0 -0
- data/lib/1.8/gherkin_lexer_nl.so +0 -0
- data/lib/1.8/gherkin_lexer_no.so +0 -0
- data/lib/1.8/gherkin_lexer_pl.so +0 -0
- data/lib/1.8/gherkin_lexer_pt.so +0 -0
- data/lib/1.8/gherkin_lexer_ro.so +0 -0
- data/lib/1.8/gherkin_lexer_ru.so +0 -0
- data/lib/1.8/gherkin_lexer_sk.so +0 -0
- data/lib/1.8/gherkin_lexer_sr_cyrl.so +0 -0
- data/lib/1.8/gherkin_lexer_sr_latn.so +0 -0
- data/lib/1.8/gherkin_lexer_sv.so +0 -0
- data/lib/1.8/gherkin_lexer_tr.so +0 -0
- data/lib/1.8/gherkin_lexer_uk.so +0 -0
- data/lib/1.8/gherkin_lexer_uz.so +0 -0
- data/lib/1.8/gherkin_lexer_vi.so +0 -0
- data/lib/1.8/gherkin_lexer_zh_cn.so +0 -0
- data/lib/1.8/gherkin_lexer_zh_tw.so +0 -0
- data/lib/1.9/gherkin_lexer_ar.so +0 -0
- data/lib/1.9/gherkin_lexer_bg.so +0 -0
- data/lib/1.9/gherkin_lexer_ca.so +0 -0
- data/lib/1.9/gherkin_lexer_cs.so +0 -0
- data/lib/1.9/gherkin_lexer_cy_gb.so +0 -0
- data/lib/1.9/gherkin_lexer_da.so +0 -0
- data/lib/1.9/gherkin_lexer_de.so +0 -0
- data/lib/1.9/gherkin_lexer_en.so +0 -0
- data/lib/1.9/gherkin_lexer_en_au.so +0 -0
- data/lib/1.9/gherkin_lexer_en_lol.so +0 -0
- data/lib/1.9/gherkin_lexer_en_pirate.so +0 -0
- data/lib/1.9/gherkin_lexer_en_scouse.so +0 -0
- data/lib/1.9/gherkin_lexer_en_tx.so +0 -0
- data/lib/1.9/gherkin_lexer_eo.so +0 -0
- data/lib/1.9/gherkin_lexer_es.so +0 -0
- data/lib/1.9/gherkin_lexer_et.so +0 -0
- data/lib/1.9/gherkin_lexer_fi.so +0 -0
- data/lib/1.9/gherkin_lexer_fr.so +0 -0
- data/lib/1.9/gherkin_lexer_he.so +0 -0
- data/lib/1.9/gherkin_lexer_hr.so +0 -0
- data/lib/1.9/gherkin_lexer_hu.so +0 -0
- data/lib/1.9/gherkin_lexer_id.so +0 -0
- data/lib/1.9/gherkin_lexer_is.so +0 -0
- data/lib/1.9/gherkin_lexer_it.so +0 -0
- data/lib/1.9/gherkin_lexer_ja.so +0 -0
- data/lib/1.9/gherkin_lexer_ko.so +0 -0
- data/lib/1.9/gherkin_lexer_lt.so +0 -0
- data/lib/1.9/gherkin_lexer_lu.so +0 -0
- data/lib/1.9/gherkin_lexer_lv.so +0 -0
- data/lib/1.9/gherkin_lexer_nl.so +0 -0
- data/lib/1.9/gherkin_lexer_no.so +0 -0
- data/lib/1.9/gherkin_lexer_pl.so +0 -0
- data/lib/1.9/gherkin_lexer_pt.so +0 -0
- data/lib/1.9/gherkin_lexer_ro.so +0 -0
- data/lib/1.9/gherkin_lexer_ru.so +0 -0
- data/lib/1.9/gherkin_lexer_sk.so +0 -0
- data/lib/1.9/gherkin_lexer_sr_cyrl.so +0 -0
- data/lib/1.9/gherkin_lexer_sr_latn.so +0 -0
- data/lib/1.9/gherkin_lexer_sv.so +0 -0
- data/lib/1.9/gherkin_lexer_tr.so +0 -0
- data/lib/1.9/gherkin_lexer_uk.so +0 -0
- data/lib/1.9/gherkin_lexer_uz.so +0 -0
- data/lib/1.9/gherkin_lexer_vi.so +0 -0
- data/lib/1.9/gherkin_lexer_zh_cn.so +0 -0
- data/lib/1.9/gherkin_lexer_zh_tw.so +0 -0
- data/lib/gherkin/formatter/json_formatter.rb +10 -6
- data/lib/gherkin/formatter/model.rb +6 -20
- data/lib/gherkin/formatter/pretty_formatter.rb +3 -6
- data/lib/gherkin/json_parser.rb +5 -6
- data/lib/gherkin/listener/formatter_listener.rb +5 -1
- data/spec/gherkin/fixtures/complex.json +30 -42
- data/spec/gherkin/formatter/json_formatter_spec.rb +74 -0
- data/spec/gherkin/json_parser_spec.rb +5 -8
- data/tasks/cucumber.rake +1 -0
- metadata +26 -24
data/lib/1.8/gherkin_lexer_ar.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_bg.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_ca.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_cs.so
CHANGED
Binary file
|
Binary file
|
data/lib/1.8/gherkin_lexer_da.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_de.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_en.so
CHANGED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/lib/1.8/gherkin_lexer_eo.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_es.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_et.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_fi.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_fr.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_he.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_hr.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_hu.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_id.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_is.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_it.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_ja.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_ko.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_lt.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_lu.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_lv.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_nl.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_no.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_pl.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_pt.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_ro.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_ru.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_sk.so
CHANGED
Binary file
|
Binary file
|
Binary file
|
data/lib/1.8/gherkin_lexer_sv.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_tr.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_uk.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_uz.so
CHANGED
Binary file
|
data/lib/1.8/gherkin_lexer_vi.so
CHANGED
Binary file
|
Binary file
|
Binary file
|
data/lib/1.9/gherkin_lexer_ar.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_bg.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_ca.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_cs.so
CHANGED
Binary file
|
Binary file
|
data/lib/1.9/gherkin_lexer_da.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_de.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_en.so
CHANGED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/lib/1.9/gherkin_lexer_eo.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_es.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_et.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_fi.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_fr.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_he.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_hr.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_hu.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_id.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_is.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_it.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_ja.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_ko.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_lt.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_lu.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_lv.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_nl.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_no.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_pl.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_pt.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_ro.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_ru.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_sk.so
CHANGED
Binary file
|
Binary file
|
Binary file
|
data/lib/1.9/gherkin_lexer_sv.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_tr.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_uk.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_uz.so
CHANGED
Binary file
|
data/lib/1.9/gherkin_lexer_vi.so
CHANGED
Binary file
|
Binary file
|
Binary file
|
@@ -29,14 +29,17 @@ module Gherkin
|
|
29
29
|
|
30
30
|
def background(background)
|
31
31
|
feature_elements << background.to_hash
|
32
|
+
@step_index = 0
|
32
33
|
end
|
33
34
|
|
34
35
|
def scenario(scenario)
|
35
36
|
feature_elements << scenario.to_hash
|
37
|
+
@step_index = 0
|
36
38
|
end
|
37
39
|
|
38
40
|
def scenario_outline(scenario_outline)
|
39
41
|
feature_elements << scenario_outline.to_hash
|
42
|
+
@step_index = 0
|
40
43
|
end
|
41
44
|
|
42
45
|
def examples(examples)
|
@@ -48,11 +51,16 @@ module Gherkin
|
|
48
51
|
end
|
49
52
|
|
50
53
|
def match(match)
|
51
|
-
|
54
|
+
current_steps[@step_index]['match'] = match.to_hash
|
52
55
|
end
|
53
56
|
|
54
57
|
def result(result)
|
55
|
-
|
58
|
+
current_steps[@step_index]['result'] = result.to_hash
|
59
|
+
@step_index += 1
|
60
|
+
end
|
61
|
+
|
62
|
+
def last_step
|
63
|
+
current_steps[-1]
|
56
64
|
end
|
57
65
|
|
58
66
|
def embedding(mime_type, data)
|
@@ -81,10 +89,6 @@ module Gherkin
|
|
81
89
|
feature_element['steps'] ||= []
|
82
90
|
end
|
83
91
|
|
84
|
-
def last_step
|
85
|
-
current_steps[-1]
|
86
|
-
end
|
87
|
-
|
88
92
|
def embeddings
|
89
93
|
last_step['embeddings'] ||= []
|
90
94
|
end
|
@@ -112,15 +112,15 @@ module Gherkin
|
|
112
112
|
class Step < BasicStatement
|
113
113
|
native_impl('gherkin')
|
114
114
|
|
115
|
-
attr_accessor :
|
115
|
+
attr_accessor :rows
|
116
|
+
attr_accessor :doc_string
|
116
117
|
|
117
118
|
def line_range
|
118
119
|
range = super
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
range = range.first..multiline_arg.line_range.last
|
120
|
+
if(rows)
|
121
|
+
range = range.first..rows[-1].line
|
122
|
+
elsif(doc_string)
|
123
|
+
range = range.first..doc_string.line_range.last
|
124
124
|
end
|
125
125
|
range
|
126
126
|
end
|
@@ -136,20 +136,6 @@ module Gherkin
|
|
136
136
|
Argument.new(offset, val)
|
137
137
|
end
|
138
138
|
end
|
139
|
-
|
140
|
-
def to_hash
|
141
|
-
hash = super
|
142
|
-
if Array === @multiline_arg
|
143
|
-
hash['multiline_arg'] = {
|
144
|
-
'type' => 'table',
|
145
|
-
'value' => hash['multiline_arg']
|
146
|
-
}
|
147
|
-
elsif DocString === @multiline_arg
|
148
|
-
hash['multiline_arg']['type'] = 'doc_string'
|
149
|
-
hash['multiline_arg']['content_type'] = @multiline_arg.content_type
|
150
|
-
end
|
151
|
-
hash
|
152
|
-
end
|
153
139
|
end
|
154
140
|
|
155
141
|
class Comment < Hashable
|
@@ -110,12 +110,9 @@ module Gherkin
|
|
110
110
|
@io.write(text_format.text(step.keyword))
|
111
111
|
@step_printer.write_step(@io, text_format, arg_format, step.name, arguments)
|
112
112
|
@io.puts(indented_location(location, proceed))
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
when Array
|
117
|
-
table(step.multiline_arg)
|
118
|
-
end
|
113
|
+
|
114
|
+
doc_string(step.doc_string) if step.doc_string
|
115
|
+
table(step.rows) if step.rows
|
119
116
|
end
|
120
117
|
|
121
118
|
class MonochromeFormat
|
data/lib/gherkin/json_parser.rb
CHANGED
@@ -53,12 +53,11 @@ module Gherkin
|
|
53
53
|
def step(o)
|
54
54
|
step = Formatter::Model::Step.new(comments(o), keyword(o), name(o), line(o))
|
55
55
|
|
56
|
-
if(
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
end
|
56
|
+
if(o['rows'])
|
57
|
+
step.rows = rows(o['rows'])
|
58
|
+
elsif(o['doc_string'])
|
59
|
+
ds = o['doc_string']
|
60
|
+
step.doc_string = Formatter::Model::DocString.new(ds['content_type'].to_s, ds['value'], ds['line'])
|
62
61
|
end
|
63
62
|
|
64
63
|
step
|
@@ -98,7 +98,11 @@ module Gherkin
|
|
98
98
|
|
99
99
|
def replay_step_or_examples
|
100
100
|
if(@step_statement)
|
101
|
-
|
101
|
+
if(doc_string = grab_doc_string!)
|
102
|
+
@step_statement.doc_string = doc_string
|
103
|
+
elsif(rows = grab_rows!)
|
104
|
+
@step_statement.rows = rows
|
105
|
+
end
|
102
106
|
@formatter.step(@step_statement)
|
103
107
|
@step_statement = nil
|
104
108
|
end
|
@@ -29,14 +29,9 @@
|
|
29
29
|
"steps": [
|
30
30
|
{ "name": "A step with a table",
|
31
31
|
"keyword": "Given ",
|
32
|
-
"
|
33
|
-
"
|
34
|
-
|
35
|
-
{"cells":
|
36
|
-
[ "a","row","for","a","step" ]
|
37
|
-
}
|
38
|
-
]
|
39
|
-
}
|
32
|
+
"rows" : [
|
33
|
+
{"cells": [ "a","row","for","a","step" ]}
|
34
|
+
]
|
40
35
|
}
|
41
36
|
],
|
42
37
|
"examples": [
|
@@ -79,41 +74,35 @@
|
|
79
74
|
"steps" : [
|
80
75
|
{ "name" : "a third step with a table",
|
81
76
|
"keyword": "Given ",
|
82
|
-
"
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
}
|
95
|
-
]
|
96
|
-
}
|
77
|
+
"rows": [
|
78
|
+
{
|
79
|
+
"cells" : [ "a","b" ],
|
80
|
+
"line" : 987
|
81
|
+
},
|
82
|
+
{ "cells" :
|
83
|
+
[ "c","d" ]
|
84
|
+
},
|
85
|
+
{ "cells" :
|
86
|
+
[ "e", "f" ]
|
87
|
+
}
|
88
|
+
]
|
97
89
|
},
|
98
90
|
{ "name" : "I am still testing things",
|
99
91
|
"keyword": "Given ",
|
100
|
-
"
|
101
|
-
"
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
}
|
115
|
-
]
|
116
|
-
}
|
92
|
+
"rows": [
|
93
|
+
{ "cells" :
|
94
|
+
[ "g","h" ]
|
95
|
+
},
|
96
|
+
{ "cells" :
|
97
|
+
[ "e","r" ]
|
98
|
+
},
|
99
|
+
{ "cells" :
|
100
|
+
[ "k", "i" ]
|
101
|
+
},
|
102
|
+
{ "cells" :
|
103
|
+
[ "n", "" ]
|
104
|
+
}
|
105
|
+
]
|
117
106
|
},
|
118
107
|
{ "name" : "I am done testing these tables",
|
119
108
|
"keyword": "Given " },
|
@@ -128,8 +117,7 @@
|
|
128
117
|
"steps" : [
|
129
118
|
{ "name" : "All work and no play",
|
130
119
|
"keyword": "Given ",
|
131
|
-
"
|
132
|
-
"type": "doc_string",
|
120
|
+
"doc_string": {
|
133
121
|
"content_type": "text",
|
134
122
|
"value": "Makes Homer something something\nAnd something else",
|
135
123
|
"line": 777
|
@@ -0,0 +1,74 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'stringio'
|
3
|
+
require 'gherkin/formatter/json_formatter'
|
4
|
+
require 'gherkin/formatter/model'
|
5
|
+
|
6
|
+
module Gherkin
|
7
|
+
module Formatter
|
8
|
+
describe JSONFormatter do
|
9
|
+
it "renders results" do
|
10
|
+
io = StringIO.new
|
11
|
+
f = JSONFormatter.new(io)
|
12
|
+
f.uri("f.feature")
|
13
|
+
f.feature(Model::Feature.new([], [], "Feature", "f", "", 1))
|
14
|
+
f.scenario(Model::Scenario.new([], [], "Feature", "f", "", 2))
|
15
|
+
f.step(Model::Step.new([], "Given ", "g", 3))
|
16
|
+
f.step(Model::Step.new([], "When ", "w", 4))
|
17
|
+
|
18
|
+
f.match(Model::Match.new([], "def.rb:33"))
|
19
|
+
f.result(Model::Result.new(:passed, 1, nil))
|
20
|
+
|
21
|
+
f.match(Model::Match.new([], "def.rb:44"))
|
22
|
+
f.result(Model::Result.new(:passed, 1, nil))
|
23
|
+
|
24
|
+
f.eof
|
25
|
+
|
26
|
+
expected = %{
|
27
|
+
{
|
28
|
+
"keyword": "Feature",
|
29
|
+
"name": "f",
|
30
|
+
"line": 1,
|
31
|
+
"description": "",
|
32
|
+
"elements": [
|
33
|
+
{
|
34
|
+
"keyword": "Feature",
|
35
|
+
"name": "f",
|
36
|
+
"line": 2,
|
37
|
+
"description": "",
|
38
|
+
"type": "scenario",
|
39
|
+
"steps": [
|
40
|
+
{
|
41
|
+
"keyword": "Given ",
|
42
|
+
"name": "g",
|
43
|
+
"line": 3,
|
44
|
+
"match": {
|
45
|
+
"location": "def.rb:33"
|
46
|
+
},
|
47
|
+
"result": {
|
48
|
+
"status": "passed",
|
49
|
+
"duration": 1
|
50
|
+
}
|
51
|
+
},
|
52
|
+
{
|
53
|
+
"keyword": "When ",
|
54
|
+
"name": "w",
|
55
|
+
"line": 4,
|
56
|
+
"match": {
|
57
|
+
"location": "def.rb:44"
|
58
|
+
},
|
59
|
+
"result": {
|
60
|
+
"status": "passed",
|
61
|
+
"duration": 1
|
62
|
+
}
|
63
|
+
}
|
64
|
+
]
|
65
|
+
}
|
66
|
+
]
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
70
|
+
JSON.parse(expected).should == JSON.parse(io.string)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|