kosmas58-cucumber 0.3.92 → 0.3.93.1

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.
Files changed (37) hide show
  1. data/History.txt +25 -0
  2. data/Manifest.txt +7 -0
  3. data/cucumber.yml +2 -2
  4. data/examples/i18n/pt/features/adicao.feature +4 -4
  5. data/features/html_formatter/a.html +4 -4
  6. data/features/profiles.feature +99 -0
  7. data/features/step_definitions/cucumber_steps.rb +20 -0
  8. data/features/work_in_progress.feature +1 -0
  9. data/gem_tasks/contributors.rake +4 -0
  10. data/lib/cucumber/ast/table.rb +2 -2
  11. data/lib/cucumber/cli/configuration.rb +25 -281
  12. data/lib/cucumber/cli/drb_client.rb +3 -1
  13. data/lib/cucumber/cli/main.rb +5 -7
  14. data/lib/cucumber/cli/options.rb +365 -0
  15. data/lib/cucumber/cli/profile_loader.rb +65 -0
  16. data/lib/cucumber/formatter/console.rb +1 -1
  17. data/lib/cucumber/formatter/html.rb +1 -0
  18. data/lib/cucumber/parser/feature.rb +67 -67
  19. data/lib/cucumber/parser/feature.tt +28 -1
  20. data/lib/cucumber/parser/i18n/language.rb +4 -0
  21. data/lib/cucumber/parser/table.rb +25 -25
  22. data/lib/cucumber/step_mother.rb +3 -1
  23. data/lib/cucumber/version.rb +2 -2
  24. data/lib/cucumber/webrat/table_locator.rb +1 -1
  25. data/rails_generators/cucumber/cucumber_generator.rb +6 -2
  26. data/rails_generators/cucumber/templates/cucumber +3 -2
  27. data/rails_generators/cucumber/templates/cucumber_environment.rb +7 -4
  28. data/rails_generators/cucumber/templates/de/webrat_steps.rb +9 -4
  29. data/rails_generators/cucumber/templates/en/webrat_steps.rb +4 -0
  30. data/spec/cucumber/cli/configuration_spec.rb +132 -102
  31. data/spec/cucumber/cli/main_spec.rb +14 -4
  32. data/spec/cucumber/cli/options_spec.rb +306 -0
  33. data/spec/cucumber/cli/profile_loader_spec.rb +10 -0
  34. data/spec/cucumber/formatter/html_spec.rb +18 -0
  35. data/spec/cucumber/parser/table_parser_spec.rb +1 -1
  36. data/spec/spec.opts +3 -1
  37. metadata +9 -2
@@ -77,7 +77,7 @@ module Cucumber
77
77
  @io.print dump_count(step_mother.steps.length, "step")
78
78
  print_status_counts{|status| step_mother.steps(status)}
79
79
 
80
- @io.puts(format_duration(features.duration)) if features
80
+ @io.puts(format_duration(features.duration)) if features && features.duration
81
81
 
82
82
  @io.flush
83
83
  end
@@ -78,6 +78,7 @@ module Cucumber
78
78
 
79
79
  def visit_feature_name(name)
80
80
  lines = name.split(/\r?\n/)
81
+ return if lines.empty?
81
82
  @builder.h2 do |h2|
82
83
  @builder.span(lines[0], :class => 'val')
83
84
  end
@@ -59,7 +59,7 @@ module Cucumber
59
59
  def has_all_tags?(tag_names)
60
60
  tags.has_all_tags?(tag_names)
61
61
  end
62
-
62
+
63
63
  def build(filter)
64
64
  if(filter.nil? || feature_elements.accept?(filter) || (!bg.empty? && filter.accept?(bg)))
65
65
  background = bg.respond_to?(:build) ? bg.build : nil
@@ -115,7 +115,7 @@ module Cucumber
115
115
  if r12
116
116
  r9 = r12
117
117
  else
118
- self.index = i9
118
+ @index = i9
119
119
  r9 = nil
120
120
  end
121
121
  end
@@ -123,7 +123,7 @@ module Cucumber
123
123
  if r9
124
124
  r8 = nil
125
125
  else
126
- self.index = i8
126
+ @index = i8
127
127
  r8 = instantiate_node(SyntaxNode,input, index...index)
128
128
  end
129
129
  s7 << r8
@@ -141,7 +141,7 @@ module Cucumber
141
141
  r7 = instantiate_node(SyntaxNode,input, i7...index, s7)
142
142
  r7.extend(FeatureSub0)
143
143
  else
144
- self.index = i7
144
+ @index = i7
145
145
  r7 = nil
146
146
  end
147
147
  if r7
@@ -184,13 +184,13 @@ module Cucumber
184
184
  r0.extend(FeatureSub1)
185
185
  r0.extend(FeatureSub2)
186
186
  else
187
- self.index = i0
187
+ @index = i0
188
188
  r0 = nil
189
189
  end
190
190
 
191
191
  node_cache[:feature_sub][start_index] = r0
192
192
 
193
- return r0
193
+ r0
194
194
  end
195
195
 
196
196
  module Tags0
@@ -215,14 +215,14 @@ module Cucumber
215
215
  ts.elements.detect{|e| e.tag.line == line}
216
216
  end
217
217
 
218
- def has_all_tags?(tags)
219
- (tags & tag_names) == tags
220
- end
221
-
222
218
  def has_tags?(tags)
223
219
  (tag_names & tags).any?
224
220
  end
225
221
 
222
+ def has_all_tags?(tags)
223
+ (tags & tag_names) == tags
224
+ end
225
+
226
226
  def build
227
227
  Ast::Tags.new(ts.line, tag_names)
228
228
  end
@@ -261,7 +261,7 @@ module Cucumber
261
261
  if r8
262
262
  r6 = r8
263
263
  else
264
- self.index = i6
264
+ @index = i6
265
265
  r6 = nil
266
266
  end
267
267
  end
@@ -272,7 +272,7 @@ module Cucumber
272
272
  end
273
273
  end
274
274
  if s5.empty?
275
- self.index = i5
275
+ @index = i5
276
276
  r5 = nil
277
277
  else
278
278
  r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
@@ -283,7 +283,7 @@ module Cucumber
283
283
  r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
284
284
  r3.extend(Tags0)
285
285
  else
286
- self.index = i3
286
+ @index = i3
287
287
  r3 = nil
288
288
  end
289
289
  if r3
@@ -300,13 +300,13 @@ module Cucumber
300
300
  r0.extend(Tags1)
301
301
  r0.extend(Tags2)
302
302
  else
303
- self.index = i0
303
+ @index = i0
304
304
  r0 = nil
305
305
  end
306
306
 
307
307
  node_cache[:tags][start_index] = r0
308
308
 
309
- return r0
309
+ r0
310
310
  end
311
311
 
312
312
  module Tag0
@@ -324,7 +324,7 @@ module Cucumber
324
324
  end
325
325
 
326
326
  i0, s0 = index, []
327
- if input.index('@', index) == index
327
+ if has_terminal?('@', false, index)
328
328
  r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
329
329
  @index += 1
330
330
  else
@@ -335,7 +335,7 @@ module Cucumber
335
335
  if r1
336
336
  s2, i2 = [], index
337
337
  loop do
338
- if input.index(Regexp.new('[^@\\r\\n\\t ]'), index) == index
338
+ if has_terminal?('\G[^@\\r\\n\\t ]', true, index)
339
339
  r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
340
340
  @index += 1
341
341
  else
@@ -348,7 +348,7 @@ module Cucumber
348
348
  end
349
349
  end
350
350
  if s2.empty?
351
- self.index = i2
351
+ @index = i2
352
352
  r2 = nil
353
353
  else
354
354
  r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
@@ -359,13 +359,13 @@ module Cucumber
359
359
  r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
360
360
  r0.extend(Tag0)
361
361
  else
362
- self.index = i0
362
+ @index = i0
363
363
  r0 = nil
364
364
  end
365
365
 
366
366
  node_cache[:tag][start_index] = r0
367
367
 
368
- return r0
368
+ r0
369
369
  end
370
370
 
371
371
  module Comment0
@@ -405,7 +405,7 @@ module Cucumber
405
405
  r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
406
406
  r1.extend(Comment0)
407
407
  else
408
- self.index = i1
408
+ @index = i1
409
409
  r1 = nil
410
410
  end
411
411
  if r1
@@ -419,7 +419,7 @@ module Cucumber
419
419
 
420
420
  node_cache[:comment][start_index] = r0
421
421
 
422
- return r0
422
+ r0
423
423
  end
424
424
 
425
425
  module CommentLine0
@@ -437,7 +437,7 @@ module Cucumber
437
437
  end
438
438
 
439
439
  i0, s0 = index, []
440
- if input.index('#', index) == index
440
+ if has_terminal?('#', false, index)
441
441
  r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
442
442
  @index += 1
443
443
  else
@@ -453,13 +453,13 @@ module Cucumber
453
453
  r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
454
454
  r0.extend(CommentLine0)
455
455
  else
456
- self.index = i0
456
+ @index = i0
457
457
  r0 = nil
458
458
  end
459
459
 
460
460
  node_cache[:comment_line][start_index] = r0
461
461
 
462
- return r0
462
+ r0
463
463
  end
464
464
 
465
465
  module Background0
@@ -564,7 +564,7 @@ module Cucumber
564
564
  end
565
565
  end
566
566
  if s9.empty?
567
- self.index = i9
567
+ @index = i9
568
568
  r9 = nil
569
569
  else
570
570
  r9 = instantiate_node(SyntaxNode,input, i9...index, s9)
@@ -576,7 +576,7 @@ module Cucumber
576
576
  if r11
577
577
  r8 = r11
578
578
  else
579
- self.index = i8
579
+ @index = i8
580
580
  r8 = nil
581
581
  end
582
582
  end
@@ -595,13 +595,13 @@ module Cucumber
595
595
  r0.extend(Background0)
596
596
  r0.extend(Background1)
597
597
  else
598
- self.index = i0
598
+ @index = i0
599
599
  r0 = nil
600
600
  end
601
601
 
602
602
  node_cache[:background][start_index] = r0
603
603
 
604
- return r0
604
+ r0
605
605
  end
606
606
 
607
607
  module FeatureElements0
@@ -637,7 +637,7 @@ module Cucumber
637
637
  if r3
638
638
  r1 = r3
639
639
  else
640
- self.index = i1
640
+ @index = i1
641
641
  r1 = nil
642
642
  end
643
643
  end
@@ -652,7 +652,7 @@ module Cucumber
652
652
 
653
653
  node_cache[:feature_elements][start_index] = r0
654
654
 
655
- return r0
655
+ r0
656
656
  end
657
657
 
658
658
  module Scenario0
@@ -780,13 +780,13 @@ module Cucumber
780
780
  r0.extend(Scenario0)
781
781
  r0.extend(Scenario1)
782
782
  else
783
- self.index = i0
783
+ @index = i0
784
784
  r0 = nil
785
785
  end
786
786
 
787
787
  node_cache[:scenario][start_index] = r0
788
788
 
789
- return r0
789
+ r0
790
790
  end
791
791
 
792
792
  module ScenarioOutline0
@@ -932,13 +932,13 @@ module Cucumber
932
932
  r0.extend(ScenarioOutline0)
933
933
  r0.extend(ScenarioOutline1)
934
934
  else
935
- self.index = i0
935
+ @index = i0
936
936
  r0 = nil
937
937
  end
938
938
 
939
939
  node_cache[:scenario_outline][start_index] = r0
940
940
 
941
- return r0
941
+ r0
942
942
  end
943
943
 
944
944
  module Steps0
@@ -973,7 +973,7 @@ module Cucumber
973
973
 
974
974
  node_cache[:steps][start_index] = r0
975
975
 
976
- return r0
976
+ r0
977
977
  end
978
978
 
979
979
  module Step0
@@ -1061,7 +1061,7 @@ module Cucumber
1061
1061
  end
1062
1062
  end
1063
1063
  if s8.empty?
1064
- self.index = i8
1064
+ @index = i8
1065
1065
  r8 = nil
1066
1066
  else
1067
1067
  r8 = instantiate_node(SyntaxNode,input, i8...index, s8)
@@ -1073,7 +1073,7 @@ module Cucumber
1073
1073
  if r10
1074
1074
  r7 = r10
1075
1075
  else
1076
- self.index = i7
1076
+ @index = i7
1077
1077
  r7 = nil
1078
1078
  end
1079
1079
  end
@@ -1101,13 +1101,13 @@ module Cucumber
1101
1101
  r0.extend(Step0)
1102
1102
  r0.extend(Step1)
1103
1103
  else
1104
- self.index = i0
1104
+ @index = i0
1105
1105
  r0 = nil
1106
1106
  end
1107
1107
 
1108
1108
  node_cache[:step][start_index] = r0
1109
1109
 
1110
- return r0
1110
+ r0
1111
1111
  end
1112
1112
 
1113
1113
  module ExamplesSections0
@@ -1150,7 +1150,7 @@ module Cucumber
1150
1150
 
1151
1151
  node_cache[:examples_sections][start_index] = r0
1152
1152
 
1153
- return r0
1153
+ r0
1154
1154
  end
1155
1155
 
1156
1156
  module Examples0
@@ -1265,13 +1265,13 @@ module Cucumber
1265
1265
  r0.extend(Examples0)
1266
1266
  r0.extend(Examples1)
1267
1267
  else
1268
- self.index = i0
1268
+ @index = i0
1269
1269
  r0 = nil
1270
1270
  end
1271
1271
 
1272
1272
  node_cache[:examples][start_index] = r0
1273
1273
 
1274
- return r0
1274
+ r0
1275
1275
  end
1276
1276
 
1277
1277
  def _nt_multiline_arg
@@ -1291,14 +1291,14 @@ module Cucumber
1291
1291
  if r2
1292
1292
  r0 = r2
1293
1293
  else
1294
- self.index = i0
1294
+ @index = i0
1295
1295
  r0 = nil
1296
1296
  end
1297
1297
  end
1298
1298
 
1299
1299
  node_cache[:multiline_arg][start_index] = r0
1300
1300
 
1301
- return r0
1301
+ r0
1302
1302
  end
1303
1303
 
1304
1304
  module LineToEol0
@@ -1320,7 +1320,7 @@ module Cucumber
1320
1320
  if r3
1321
1321
  r2 = nil
1322
1322
  else
1323
- self.index = i2
1323
+ @index = i2
1324
1324
  r2 = instantiate_node(SyntaxNode,input, index...index)
1325
1325
  end
1326
1326
  s1 << r2
@@ -1338,7 +1338,7 @@ module Cucumber
1338
1338
  r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
1339
1339
  r1.extend(LineToEol0)
1340
1340
  else
1341
- self.index = i1
1341
+ @index = i1
1342
1342
  r1 = nil
1343
1343
  end
1344
1344
  if r1
@@ -1351,7 +1351,7 @@ module Cucumber
1351
1351
 
1352
1352
  node_cache[:line_to_eol][start_index] = r0
1353
1353
 
1354
- return r0
1354
+ r0
1355
1355
  end
1356
1356
 
1357
1357
  module LinesToKeyword0
@@ -1409,13 +1409,13 @@ module Cucumber
1409
1409
  r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
1410
1410
  r3.extend(LinesToKeyword0)
1411
1411
  else
1412
- self.index = i3
1412
+ @index = i3
1413
1413
  r3 = nil
1414
1414
  end
1415
1415
  if r3
1416
1416
  r2 = nil
1417
1417
  else
1418
- self.index = i2
1418
+ @index = i2
1419
1419
  r2 = instantiate_node(SyntaxNode,input, index...index)
1420
1420
  end
1421
1421
  s1 << r2
@@ -1433,7 +1433,7 @@ module Cucumber
1433
1433
  r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
1434
1434
  r1.extend(LinesToKeyword1)
1435
1435
  else
1436
- self.index = i1
1436
+ @index = i1
1437
1437
  r1 = nil
1438
1438
  end
1439
1439
  if r1
@@ -1447,7 +1447,7 @@ module Cucumber
1447
1447
 
1448
1448
  node_cache[:lines_to_keyword][start_index] = r0
1449
1449
 
1450
- return r0
1450
+ r0
1451
1451
  end
1452
1452
 
1453
1453
  module ReservedWordsAndSymbols0
@@ -1480,7 +1480,7 @@ module Cucumber
1480
1480
  r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
1481
1481
  r1.extend(ReservedWordsAndSymbols0)
1482
1482
  else
1483
- self.index = i1
1483
+ @index = i1
1484
1484
  r1 = nil
1485
1485
  end
1486
1486
  if r1
@@ -1506,7 +1506,7 @@ module Cucumber
1506
1506
  if r8
1507
1507
  r0 = r8
1508
1508
  else
1509
- self.index = i0
1509
+ @index = i0
1510
1510
  r0 = nil
1511
1511
  end
1512
1512
  end
@@ -1517,7 +1517,7 @@ module Cucumber
1517
1517
 
1518
1518
  node_cache[:reserved_words_and_symbols][start_index] = r0
1519
1519
 
1520
- return r0
1520
+ r0
1521
1521
  end
1522
1522
 
1523
1523
  module PyString0
@@ -1567,7 +1567,7 @@ module Cucumber
1567
1567
  if r5
1568
1568
  r4 = nil
1569
1569
  else
1570
- self.index = i4
1570
+ @index = i4
1571
1571
  r4 = instantiate_node(SyntaxNode,input, index...index)
1572
1572
  end
1573
1573
  s3 << r4
@@ -1585,7 +1585,7 @@ module Cucumber
1585
1585
  r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
1586
1586
  r3.extend(PyString0)
1587
1587
  else
1588
- self.index = i3
1588
+ @index = i3
1589
1589
  r3 = nil
1590
1590
  end
1591
1591
  if r3
@@ -1606,13 +1606,13 @@ module Cucumber
1606
1606
  r0.extend(PyString1)
1607
1607
  r0.extend(PyString2)
1608
1608
  else
1609
- self.index = i0
1609
+ @index = i0
1610
1610
  r0 = nil
1611
1611
  end
1612
1612
 
1613
1613
  node_cache[:py_string][start_index] = r0
1614
1614
 
1615
- return r0
1615
+ r0
1616
1616
  end
1617
1617
 
1618
1618
  module OpenPyString0
@@ -1656,7 +1656,7 @@ module Cucumber
1656
1656
  r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
1657
1657
  s0 << r1
1658
1658
  if r1
1659
- if input.index('"""', index) == index
1659
+ if has_terminal?('"""', false, index)
1660
1660
  r3 = instantiate_node(SyntaxNode,input, index...(index + 3))
1661
1661
  @index += 3
1662
1662
  else
@@ -1687,13 +1687,13 @@ module Cucumber
1687
1687
  r0.extend(OpenPyString0)
1688
1688
  r0.extend(OpenPyString1)
1689
1689
  else
1690
- self.index = i0
1690
+ @index = i0
1691
1691
  r0 = nil
1692
1692
  end
1693
1693
 
1694
1694
  node_cache[:open_py_string][start_index] = r0
1695
1695
 
1696
- return r0
1696
+ r0
1697
1697
  end
1698
1698
 
1699
1699
  module ClosePyString0
@@ -1740,7 +1740,7 @@ module Cucumber
1740
1740
  r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
1741
1741
  s0 << r2
1742
1742
  if r2
1743
- if input.index('"""', index) == index
1743
+ if has_terminal?('"""', false, index)
1744
1744
  r4 = instantiate_node(SyntaxNode,input, index...(index + 3))
1745
1745
  @index += 3
1746
1746
  else
@@ -1759,13 +1759,13 @@ module Cucumber
1759
1759
  r0.extend(ClosePyString0)
1760
1760
  r0.extend(ClosePyString1)
1761
1761
  else
1762
- self.index = i0
1762
+ @index = i0
1763
1763
  r0 = nil
1764
1764
  end
1765
1765
 
1766
1766
  node_cache[:close_py_string][start_index] = r0
1767
1767
 
1768
- return r0
1768
+ r0
1769
1769
  end
1770
1770
 
1771
1771
  def _nt_white
@@ -1787,7 +1787,7 @@ module Cucumber
1787
1787
  if r3
1788
1788
  r1 = r3
1789
1789
  else
1790
- self.index = i1
1790
+ @index = i1
1791
1791
  r1 = nil
1792
1792
  end
1793
1793
  end
@@ -1801,7 +1801,7 @@ module Cucumber
1801
1801
 
1802
1802
  node_cache[:white][start_index] = r0
1803
1803
 
1804
- return r0
1804
+ r0
1805
1805
  end
1806
1806
 
1807
1807
  end