cuke_modeler 1.0.4 → 1.1.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.
- checksums.yaml +4 -4
- data/History.md +12 -0
- data/lib/cuke_modeler/adapters/gherkin_2_adapter.rb +5 -5
- data/lib/cuke_modeler/adapters/gherkin_3_adapter.rb +8 -5
- data/lib/cuke_modeler/adapters/gherkin_4_adapter.rb +8 -5
- data/lib/cuke_modeler/containing.rb +12 -7
- data/lib/cuke_modeler/models/background.rb +7 -2
- data/lib/cuke_modeler/models/cell.rb +2 -1
- data/lib/cuke_modeler/models/doc_string.rb +2 -1
- data/lib/cuke_modeler/models/example.rb +8 -4
- data/lib/cuke_modeler/models/feature.rb +4 -1
- data/lib/cuke_modeler/models/outline.rb +6 -2
- data/lib/cuke_modeler/models/row.rb +2 -1
- data/lib/cuke_modeler/models/scenario.rb +7 -2
- data/lib/cuke_modeler/models/step.rb +2 -1
- data/lib/cuke_modeler/models/table.rb +2 -1
- data/lib/cuke_modeler/models/tag.rb +2 -1
- data/lib/cuke_modeler/parsing.rb +45 -0
- data/lib/cuke_modeler/version.rb +1 -1
- data/testing/cucumber/features/modeling/background_modeling.feature +7 -0
- data/testing/cucumber/features/modeling/background_output.feature +6 -1
- data/testing/cucumber/features/modeling/directory_output.feature +6 -1
- data/testing/cucumber/features/modeling/doc_string_output.feature +6 -1
- data/testing/cucumber/features/modeling/example_modeling.feature +7 -0
- data/testing/cucumber/features/modeling/example_output.feature +6 -1
- data/testing/cucumber/features/modeling/feature_file_output.feature +6 -1
- data/testing/cucumber/features/modeling/feature_modeling.feature +7 -0
- data/testing/cucumber/features/modeling/feature_output.feature +6 -1
- data/testing/cucumber/features/modeling/model_output.feature +1 -8
- data/testing/cucumber/features/modeling/outline_modeling.feature +7 -0
- data/testing/cucumber/features/modeling/outline_output.feature +6 -1
- data/testing/cucumber/features/modeling/row_output.feature +6 -1
- data/testing/cucumber/features/modeling/scenario_modeling.feature +7 -0
- data/testing/cucumber/features/modeling/scenario_output.feature +6 -1
- data/testing/cucumber/features/modeling/step_output.feature +6 -1
- data/testing/cucumber/features/modeling/table_output.feature +6 -1
- data/testing/cucumber/features/modeling/tag_output.feature +6 -1
- data/testing/cucumber/step_definitions/verification_steps.rb +21 -12
- data/testing/dialect_helper.rb +48 -0
- data/testing/rspec/spec/integration/background_integration_spec.rb +93 -88
- data/testing/rspec/spec/integration/cell_integration_spec.rb +26 -27
- data/testing/rspec/spec/integration/directory_integration_spec.rb +4 -4
- data/testing/rspec/spec/integration/doc_string_integration_spec.rb +38 -39
- data/testing/rspec/spec/integration/example_integration_spec.rb +97 -95
- data/testing/rspec/spec/integration/feature_file_integration_spec.rb +5 -5
- data/testing/rspec/spec/integration/feature_integration_spec.rb +157 -155
- data/testing/rspec/spec/integration/gherkin_2_adapter_spec.rb +17 -17
- data/testing/rspec/spec/integration/gherkin_3_adapter_spec.rb +17 -17
- data/testing/rspec/spec/integration/gherkin_4_adapter_spec.rb +17 -17
- data/testing/rspec/spec/integration/outline_integration_spec.rb +359 -354
- data/testing/rspec/spec/integration/parsing_integration_spec.rb +30 -2
- data/testing/rspec/spec/integration/row_integration_spec.rb +23 -25
- data/testing/rspec/spec/integration/scenario_integration_spec.rb +238 -235
- data/testing/rspec/spec/integration/step_integration_spec.rb +69 -64
- data/testing/rspec/spec/integration/table_integration_spec.rb +32 -36
- data/testing/rspec/spec/integration/tag_integration_spec.rb +26 -27
- data/testing/rspec/spec/spec_helper.rb +43 -0
- data/testing/rspec/spec/unit/background_unit_spec.rb +7 -0
- data/testing/rspec/spec/unit/example_unit_spec.rb +7 -0
- data/testing/rspec/spec/unit/feature_unit_spec.rb +7 -0
- data/testing/rspec/spec/unit/outline_unit_spec.rb +7 -0
- data/testing/rspec/spec/unit/parsing_unit_spec.rb +33 -0
- data/testing/rspec/spec/unit/scenario_unit_spec.rb +7 -0
- data/testing/rspec/spec/unit/shared/keyworded_models_unit_specs.rb +58 -0
- data/testing/rspec/spec/unit/step_unit_spec.rb +1 -23
- data/testing/test_languages.json +45 -0
- data/todo.txt +1 -1
- metadata +6 -3
@@ -15,7 +15,7 @@ describe 'Step, Integration' do
|
|
15
15
|
describe 'unique behavior' do
|
16
16
|
|
17
17
|
it 'can be instantiated with the minimum viable Gherkin' do
|
18
|
-
source =
|
18
|
+
source = "#{@step_keyword} a step"
|
19
19
|
|
20
20
|
expect { clazz.new(source) }.to_not raise_error
|
21
21
|
end
|
@@ -27,7 +27,7 @@ describe 'Step, Integration' do
|
|
27
27
|
end
|
28
28
|
|
29
29
|
it 'stores the original data generated by the parsing adapter (with a table)', :gherkin4 => true do
|
30
|
-
step = clazz.new("
|
30
|
+
step = clazz.new("#{@step_keyword} test step\n|table|")
|
31
31
|
data = step.parsing_data
|
32
32
|
|
33
33
|
expect(data.keys).to match_array([:type, :location, :keyword, :text, :argument])
|
@@ -35,7 +35,7 @@ describe 'Step, Integration' do
|
|
35
35
|
end
|
36
36
|
|
37
37
|
it 'stores the original data generated by the parsing adapter (with a doc string)', :gherkin4 => true do
|
38
|
-
step = clazz.new("
|
38
|
+
step = clazz.new("#{@step_keyword} test step\n\"\"\"\na doc string\n\"\"\"")
|
39
39
|
data = step.parsing_data
|
40
40
|
|
41
41
|
expect(data.keys).to match_array([:type, :location, :keyword, :text, :argument])
|
@@ -43,7 +43,7 @@ describe 'Step, Integration' do
|
|
43
43
|
end
|
44
44
|
|
45
45
|
it 'stores the original data generated by the parsing adapter (with a table)', :gherkin3 => true do
|
46
|
-
step = clazz.new("
|
46
|
+
step = clazz.new("#{@step_keyword} test step\n|table|")
|
47
47
|
data = step.parsing_data
|
48
48
|
|
49
49
|
expect(data.keys).to match_array([:type, :location, :keyword, :text, :argument])
|
@@ -51,7 +51,7 @@ describe 'Step, Integration' do
|
|
51
51
|
end
|
52
52
|
|
53
53
|
it 'stores the original data generated by the parsing adapter (with a doc string)', :gherkin3 => true do
|
54
|
-
step = clazz.new("
|
54
|
+
step = clazz.new("#{@step_keyword} test step\n\"\"\"\na doc string\n\"\"\"")
|
55
55
|
data = step.parsing_data
|
56
56
|
|
57
57
|
expect(data.keys).to match_array([:type, :location, :keyword, :text, :argument])
|
@@ -59,31 +59,31 @@ describe 'Step, Integration' do
|
|
59
59
|
end
|
60
60
|
|
61
61
|
it 'stores the original data generated by the parsing adapter (with a table)', :gherkin2 => true do
|
62
|
-
step = clazz.new("
|
62
|
+
step = clazz.new("#{@step_keyword} test step\n|table|")
|
63
63
|
data = step.parsing_data
|
64
64
|
|
65
65
|
expect(data.keys).to match_array(['keyword', 'name', 'line', 'rows'])
|
66
|
-
expect(data['keyword']).to eq(
|
66
|
+
expect(data['keyword']).to eq("#{@step_keyword} ")
|
67
67
|
end
|
68
68
|
|
69
69
|
it 'stores the original data generated by the parsing adapter (with a doc string)', :gherkin2 => true do
|
70
|
-
step = clazz.new("
|
70
|
+
step = clazz.new("#{@step_keyword} test step\n\"\"\"\na doc string\n\"\"\"")
|
71
71
|
data = step.parsing_data
|
72
72
|
|
73
73
|
expect(data.keys).to match_array(['keyword', 'name', 'line', 'doc_string'])
|
74
|
-
expect(data['keyword']).to eq(
|
74
|
+
expect(data['keyword']).to eq("#{@step_keyword} ")
|
75
75
|
end
|
76
76
|
|
77
77
|
describe 'model population' do
|
78
78
|
|
79
79
|
context 'from source text' do
|
80
80
|
|
81
|
-
let(:source_text) {
|
81
|
+
let(:source_text) { "#{@step_keyword} a step" }
|
82
82
|
let(:step) { clazz.new(source_text) }
|
83
83
|
|
84
84
|
|
85
85
|
it "models the step's keyword" do
|
86
|
-
expect(step.keyword).to eq(
|
86
|
+
expect(step.keyword).to eq("#{@step_keyword}")
|
87
87
|
end
|
88
88
|
|
89
89
|
it "models the step's text" do
|
@@ -91,10 +91,10 @@ describe 'Step, Integration' do
|
|
91
91
|
end
|
92
92
|
|
93
93
|
it "models the step's source line" do
|
94
|
-
source_text = "
|
94
|
+
source_text = "#{@feature_keyword}:
|
95
95
|
|
96
|
-
|
97
|
-
|
96
|
+
#{@scenario_keyword}: foo
|
97
|
+
#{@step_keyword} step"
|
98
98
|
step = CukeModeler::Feature.new(source_text).tests.first.steps.first
|
99
99
|
|
100
100
|
expect(step.source_line).to eq(4)
|
@@ -103,7 +103,7 @@ describe 'Step, Integration' do
|
|
103
103
|
|
104
104
|
context 'with no block' do
|
105
105
|
|
106
|
-
let(:source_text) {
|
106
|
+
let(:source_text) { "#{@step_keyword} a step" }
|
107
107
|
let(:step) { clazz.new(source_text) }
|
108
108
|
|
109
109
|
|
@@ -115,9 +115,9 @@ describe 'Step, Integration' do
|
|
115
115
|
|
116
116
|
context 'a step with a table' do
|
117
117
|
|
118
|
-
let(:source_text) {
|
118
|
+
let(:source_text) { "#{@step_keyword} a step
|
119
119
|
| value 1 |
|
120
|
-
| value 2 |
|
120
|
+
| value 2 |" }
|
121
121
|
let(:step) { clazz.new(source_text) }
|
122
122
|
|
123
123
|
|
@@ -131,10 +131,10 @@ describe 'Step, Integration' do
|
|
131
131
|
|
132
132
|
context 'a step with a doc string' do
|
133
133
|
|
134
|
-
let(:source_text) {
|
135
|
-
"""
|
134
|
+
let(:source_text) { "#{@step_keyword} a step
|
135
|
+
\"\"\"
|
136
136
|
some text
|
137
|
-
"""
|
137
|
+
\"\"\"" }
|
138
138
|
let(:step) { clazz.new(source_text) }
|
139
139
|
|
140
140
|
|
@@ -152,15 +152,15 @@ describe 'Step, Integration' do
|
|
152
152
|
|
153
153
|
|
154
154
|
it 'properly sets its child models' do
|
155
|
-
source_1 =
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
source_2 =
|
160
|
-
|
155
|
+
source_1 = "#{@step_keyword} a step
|
156
|
+
\"\"\"
|
157
|
+
a doc string
|
158
|
+
\"\"\""
|
159
|
+
source_2 = "#{@step_keyword} a step
|
160
|
+
| a block|"
|
161
161
|
|
162
|
-
step_1 = clazz.new(source_1
|
163
|
-
step_2 = clazz.new(source_2
|
162
|
+
step_1 = clazz.new(source_1)
|
163
|
+
step_2 = clazz.new(source_2)
|
164
164
|
|
165
165
|
|
166
166
|
doc_string = step_1.block
|
@@ -174,9 +174,9 @@ describe 'Step, Integration' do
|
|
174
174
|
describe 'step comparison' do
|
175
175
|
|
176
176
|
it 'is equal to another Step that has the same text' do
|
177
|
-
source_1 =
|
178
|
-
source_2 =
|
179
|
-
source_3 =
|
177
|
+
source_1 = "#{@step_keyword} a step"
|
178
|
+
source_2 = "#{@step_keyword} a step"
|
179
|
+
source_3 = "#{@step_keyword} a different step"
|
180
180
|
|
181
181
|
step_1 = clazz.new(source_1)
|
182
182
|
step_2 = clazz.new(source_2)
|
@@ -188,8 +188,8 @@ describe 'Step, Integration' do
|
|
188
188
|
end
|
189
189
|
|
190
190
|
it 'ignores steps keywords when comparing steps' do
|
191
|
-
source_1 =
|
192
|
-
source_2 =
|
191
|
+
source_1 = "#{@given_keyword} a step"
|
192
|
+
source_2 = "#{@then_keyword} a step"
|
193
193
|
|
194
194
|
step_1 = clazz.new(source_1)
|
195
195
|
step_2 = clazz.new(source_2)
|
@@ -199,8 +199,8 @@ describe 'Step, Integration' do
|
|
199
199
|
end
|
200
200
|
|
201
201
|
it 'ignores step tables when comparing steps' do
|
202
|
-
source_1 =
|
203
|
-
source_2 = "
|
202
|
+
source_1 = "#{@step_keyword} a step"
|
203
|
+
source_2 = "#{@step_keyword} a step\n|with a table|"
|
204
204
|
|
205
205
|
step_1 = clazz.new(source_1)
|
206
206
|
step_2 = clazz.new(source_2)
|
@@ -210,8 +210,8 @@ describe 'Step, Integration' do
|
|
210
210
|
end
|
211
211
|
|
212
212
|
it 'ignores step doc strings when comparing steps' do
|
213
|
-
source_1 =
|
214
|
-
source_2 = "
|
213
|
+
source_1 = "#{@step_keyword} a step"
|
214
|
+
source_2 = "#{@step_keyword} a step\n\"\"\"\nwith a doc string\n\"\"\""
|
215
215
|
|
216
216
|
|
217
217
|
step_1 = clazz.new(source_1)
|
@@ -227,11 +227,10 @@ describe 'Step, Integration' do
|
|
227
227
|
describe 'getting ancestors' do
|
228
228
|
|
229
229
|
before(:each) do
|
230
|
-
source =
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
source = source.join("\n")
|
230
|
+
source = "#{@feature_keyword}: Test feature
|
231
|
+
|
232
|
+
#{@scenario_keyword}: Test test
|
233
|
+
#{@step_keyword} a step:"
|
235
234
|
|
236
235
|
file_path = "#{@default_file_directory}/step_test_file.feature"
|
237
236
|
File.open(file_path, 'w') { |file| file.write(source) }
|
@@ -263,10 +262,10 @@ describe 'Step, Integration' do
|
|
263
262
|
context 'a step that is part of a scenario' do
|
264
263
|
|
265
264
|
before(:each) do
|
266
|
-
source =
|
265
|
+
source = "#{@feature_keyword}: Test feature
|
267
266
|
|
268
|
-
|
269
|
-
|
267
|
+
#{@scenario_keyword}: Test scenario
|
268
|
+
#{@step_keyword} a step"
|
270
269
|
|
271
270
|
file_path = "#{@default_file_directory}/step_test_file.feature"
|
272
271
|
File.open(file_path, 'w') { |file| file.write(source) }
|
@@ -287,13 +286,13 @@ describe 'Step, Integration' do
|
|
287
286
|
context 'a step that is part of an outline' do
|
288
287
|
|
289
288
|
before(:each) do
|
290
|
-
source =
|
289
|
+
source = "#{@feature_keyword}: Test feature
|
291
290
|
|
292
|
-
|
293
|
-
|
294
|
-
|
291
|
+
#{@outline_keyword}: Test outline
|
292
|
+
#{@step_keyword} a step
|
293
|
+
#{@example_keyword}:
|
295
294
|
| param |
|
296
|
-
| value |
|
295
|
+
| value |"
|
297
296
|
|
298
297
|
file_path = "#{@default_file_directory}/step_test_file.feature"
|
299
298
|
File.open(file_path, 'w') { |file| file.write(source) }
|
@@ -314,10 +313,10 @@ describe 'Step, Integration' do
|
|
314
313
|
context 'a step that is part of a background' do
|
315
314
|
|
316
315
|
before(:each) do
|
317
|
-
source =
|
316
|
+
source = "#{@feature_keyword}: Test feature
|
318
317
|
|
319
|
-
|
320
|
-
|
318
|
+
#{@background_keyword}: Test background
|
319
|
+
#{@step_keyword} a step"
|
321
320
|
|
322
321
|
file_path = "#{@default_file_directory}/step_test_file.feature"
|
323
322
|
File.open(file_path, 'w') { |file| file.write(source) }
|
@@ -350,30 +349,36 @@ describe 'Step, Integration' do
|
|
350
349
|
|
351
350
|
context 'with no block' do
|
352
351
|
|
352
|
+
let(:source_text) { ["#{@step_keyword} a step"].join("\n") }
|
353
|
+
let(:step) { clazz.new(source_text) }
|
354
|
+
|
353
355
|
it 'can output a step' do
|
354
|
-
|
355
|
-
source = source.join("\n")
|
356
|
-
step = clazz.new(source)
|
356
|
+
step_output = step.to_s.split("\n", -1)
|
357
357
|
|
358
|
-
step_output
|
358
|
+
expect(step_output).to eq(["#{@step_keyword} a step"])
|
359
|
+
end
|
359
360
|
|
360
|
-
|
361
|
+
it 'can be remade from its own output' do
|
362
|
+
step_output = step.to_s
|
363
|
+
remade_step_output = clazz.new(step_output).to_s
|
364
|
+
|
365
|
+
expect(remade_step_output).to eq(step_output)
|
361
366
|
end
|
362
367
|
|
363
368
|
end
|
364
369
|
|
365
370
|
context 'a step with a table' do
|
366
371
|
|
367
|
-
let(:source_text) { [
|
372
|
+
let(:source_text) { ["#{@step_keyword} a step",
|
368
373
|
' | value1 | value2 |',
|
369
374
|
' | value3 | value4 |'].join("\n") }
|
370
375
|
let(:step) { clazz.new(source_text) }
|
371
376
|
|
372
377
|
|
373
378
|
it 'can output a step that has a table' do
|
374
|
-
step_output = step.to_s.split("\n")
|
379
|
+
step_output = step.to_s.split("\n", -1)
|
375
380
|
|
376
|
-
expect(step_output).to eq([
|
381
|
+
expect(step_output).to eq(["#{@step_keyword} a step",
|
377
382
|
' | value1 | value2 |',
|
378
383
|
' | value3 | value4 |'])
|
379
384
|
|
@@ -390,7 +395,7 @@ describe 'Step, Integration' do
|
|
390
395
|
|
391
396
|
context 'a step with a doc string' do
|
392
397
|
|
393
|
-
let(:source_text) { [
|
398
|
+
let(:source_text) { ["#{@step_keyword} a step",
|
394
399
|
' """',
|
395
400
|
' some text',
|
396
401
|
' """'].join("\n") }
|
@@ -398,9 +403,9 @@ describe 'Step, Integration' do
|
|
398
403
|
|
399
404
|
|
400
405
|
it 'can output a step that has a doc string' do
|
401
|
-
step_output = step.to_s.split("\n")
|
406
|
+
step_output = step.to_s.split("\n", -1)
|
402
407
|
|
403
|
-
expect(step_output).to eq([
|
408
|
+
expect(step_output).to eq(["#{@step_keyword} a step",
|
404
409
|
' """',
|
405
410
|
' some text',
|
406
411
|
' """'])
|
@@ -57,10 +57,10 @@ describe 'Table, Integration' do
|
|
57
57
|
context 'from source text' do
|
58
58
|
|
59
59
|
it "models the table's source line" do
|
60
|
-
source_text = "
|
60
|
+
source_text = "#{@feature_keyword}:
|
61
61
|
|
62
|
-
|
63
|
-
|
62
|
+
#{@scenario_keyword}:
|
63
|
+
#{@step_keyword} step
|
64
64
|
| value |"
|
65
65
|
table = CukeModeler::Feature.new(source_text).tests.first.steps.first.block
|
66
66
|
|
@@ -89,9 +89,8 @@ describe 'Table, Integration' do
|
|
89
89
|
|
90
90
|
|
91
91
|
it 'properly sets its child models' do
|
92
|
-
source =
|
93
|
-
|
94
|
-
source = source.join("\n")
|
92
|
+
source = "| cell 1 |
|
93
|
+
| cell 2 |"
|
95
94
|
|
96
95
|
table = clazz.new(source)
|
97
96
|
row_1 = table.rows[0]
|
@@ -104,12 +103,11 @@ describe 'Table, Integration' do
|
|
104
103
|
describe 'getting ancestors' do
|
105
104
|
|
106
105
|
before(:each) do
|
107
|
-
source =
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
source = source.join("\n")
|
106
|
+
source = "#{@feature_keyword}: Test feature
|
107
|
+
|
108
|
+
#{@scenario_keyword}: Test test
|
109
|
+
#{@step_keyword} a step:
|
110
|
+
| a | table |"
|
113
111
|
|
114
112
|
file_path = "#{@default_file_directory}/table_test_file.feature"
|
115
113
|
File.open(file_path, 'w') { |file| file.write(source) }
|
@@ -140,11 +138,11 @@ describe 'Table, Integration' do
|
|
140
138
|
context 'a table that is part of a scenario' do
|
141
139
|
|
142
140
|
before(:each) do
|
143
|
-
source =
|
141
|
+
source = "#{@feature_keyword}: Test feature
|
144
142
|
|
145
|
-
|
146
|
-
|
147
|
-
| a | table |
|
143
|
+
#{@scenario_keyword}: Test test
|
144
|
+
#{@step_keyword} a step:
|
145
|
+
| a | table |"
|
148
146
|
|
149
147
|
file_path = "#{@default_file_directory}/table_test_file.feature"
|
150
148
|
File.open(file_path, 'w') { |file| file.write(source) }
|
@@ -165,14 +163,14 @@ describe 'Table, Integration' do
|
|
165
163
|
context 'a table that is part of an outline' do
|
166
164
|
|
167
165
|
before(:each) do
|
168
|
-
source =
|
166
|
+
source = "#{@feature_keyword}: Test feature
|
169
167
|
|
170
|
-
|
171
|
-
|
168
|
+
#{@outline_keyword}: Test outline
|
169
|
+
#{@step_keyword} a step:
|
172
170
|
| a | table |
|
173
|
-
|
171
|
+
#{@example_keyword}:
|
174
172
|
| param |
|
175
|
-
| value |
|
173
|
+
| value |"
|
176
174
|
|
177
175
|
file_path = "#{@default_file_directory}/table_test_file.feature"
|
178
176
|
File.open(file_path, 'w') { |file| file.write(source) }
|
@@ -193,11 +191,11 @@ describe 'Table, Integration' do
|
|
193
191
|
context 'a table that is part of a background' do
|
194
192
|
|
195
193
|
before(:each) do
|
196
|
-
source =
|
194
|
+
source = "#{@feature_keyword}: Test feature
|
197
195
|
|
198
|
-
|
199
|
-
|
200
|
-
| a | table |
|
196
|
+
#{@background_keyword}: Test background
|
197
|
+
#{@step_keyword} a step:
|
198
|
+
| a | table |"
|
201
199
|
|
202
200
|
file_path = "#{@default_file_directory}/table_test_file.feature"
|
203
201
|
File.open(file_path, 'w') { |file| file.write(source) }
|
@@ -233,9 +231,8 @@ describe 'Table, Integration' do
|
|
233
231
|
describe 'table output' do
|
234
232
|
|
235
233
|
it 'can be remade from its own output' do
|
236
|
-
source =
|
237
|
-
|
238
|
-
source = source.join("\n")
|
234
|
+
source = "| value1 | value2 |
|
235
|
+
| value3 | value4 |"
|
239
236
|
table = clazz.new(source)
|
240
237
|
|
241
238
|
table_output = table.to_s
|
@@ -255,7 +252,7 @@ describe 'Table, Integration' do
|
|
255
252
|
source = source.join("\n")
|
256
253
|
table = clazz.new(source)
|
257
254
|
|
258
|
-
table_output = table.to_s.split("\n")
|
255
|
+
table_output = table.to_s.split("\n", -1)
|
259
256
|
|
260
257
|
expect(table_output).to eq(['| a value with \| |',
|
261
258
|
'| a value with \\\\ |',
|
@@ -269,7 +266,7 @@ describe 'Table, Integration' do
|
|
269
266
|
source = source.join("\n")
|
270
267
|
table = clazz.new(source)
|
271
268
|
|
272
|
-
table_output = table.to_s.split("\n")
|
269
|
+
table_output = table.to_s.split("\n", -1)
|
273
270
|
|
274
271
|
expect(table_output).to eq(['| value1 | value2 |'])
|
275
272
|
end
|
@@ -280,20 +277,19 @@ describe 'Table, Integration' do
|
|
280
277
|
source = source.join("\n")
|
281
278
|
table = clazz.new(source)
|
282
279
|
|
283
|
-
table_output = table.to_s.split("\n")
|
280
|
+
table_output = table.to_s.split("\n", -1)
|
284
281
|
|
285
282
|
expect(table_output).to eq(['| value1 | value2 |',
|
286
283
|
'| value3 | value4 |'])
|
287
284
|
end
|
288
285
|
|
289
286
|
it 'buffers row cells based on the longest value in a column' do
|
290
|
-
source =
|
291
|
-
|
292
|
-
|
293
|
-
source = source.join("\n")
|
287
|
+
source = "|value 1| x|
|
288
|
+
|y|value 2|
|
289
|
+
|a|b|"
|
294
290
|
table = clazz.new(source)
|
295
291
|
|
296
|
-
table_output = table.to_s.split("\n")
|
292
|
+
table_output = table.to_s.split("\n", -1)
|
297
293
|
|
298
294
|
expect(table_output).to eq(['| value 1 | x |',
|
299
295
|
'| y | value 2 |',
|