cucumber 0.5.3 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +25 -0
- data/Rakefile +4 -3
- data/VERSION.yml +3 -2
- data/cucumber.gemspec +21 -16
- data/cucumber.yml +5 -3
- data/examples/i18n/ar/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/bg/features/support/env.rb +1 -2
- data/examples/i18n/cat/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/da/features/step_definitons/lommeregner_steps.rb +1 -1
- data/examples/i18n/de/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/en-lol/features/support/env.rb +0 -1
- data/examples/i18n/en/features/step_definitons/calculator_steps.rb +2 -2
- data/examples/i18n/es/features/step_definitons/calculador_steps.rb +2 -2
- data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +1 -1
- data/examples/i18n/fi/features/step_definitons/laskin_steps.rb +1 -1
- data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +0 -6
- data/examples/i18n/fr/features/support/env.rb +5 -0
- data/examples/i18n/he/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/he/lib/calculator.rb +1 -0
- data/examples/i18n/hu/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/id/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/it/features/step_definitons/calcolatrice_steps.rb +1 -1
- data/examples/i18n/ja/features/step_definitons/calculator_steps.rb +0 -5
- data/examples/i18n/ja/features/support/env.rb +5 -0
- data/examples/i18n/ko/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/lt/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/lv/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/no/features/support/env.rb +1 -2
- data/examples/i18n/pl/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/pl/features/support/env.rb +1 -2
- data/examples/i18n/pt/features/support/env.rb +1 -2
- data/examples/i18n/ro/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/ru/features/support/env.rb +1 -2
- data/examples/i18n/se/features/step_definitons/kalkulator_steps.rb +1 -1
- data/examples/i18n/sk/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/sr-latn/features/step_definitons/calculator_steps.rb +3 -3
- data/examples/i18n/sr/features/step_definitons/calculator_steps.rb +1 -5
- data/examples/i18n/sr/features/support/env.rb +5 -0
- data/examples/i18n/tr/features/step_definitons/hesap_makinesi_adimlari.rb +1 -1
- data/examples/i18n/uz/features/support/env.rb +1 -2
- data/examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/self_test/features/step_definitions/sample_steps.rb +2 -0
- data/examples/watir/features/support/screenshots.rb +20 -17
- data/features/call_many_steps.feature +2 -0
- data/features/cucumber_cli.feature +7 -4
- data/features/html_formatter.feature +1 -0
- data/features/html_formatter/a.html +2 -2
- data/features/language_help.feature +1 -0
- data/features/step_definitions/cucumber_steps.rb +3 -3
- data/features/support/env.rb +7 -5
- data/features/tag_logic.feature +7 -7
- data/features/wire_protocol.feature +1 -1
- data/gem_tasks/features.rake +2 -0
- data/lib/autotest/cucumber_mixin.rb +4 -4
- data/lib/cucumber/ast.rb +0 -1
- data/lib/cucumber/ast/feature.rb +9 -12
- data/lib/cucumber/ast/feature_element.rb +4 -4
- data/lib/cucumber/ast/features.rb +2 -2
- data/lib/cucumber/ast/table.rb +1 -0
- data/lib/cucumber/ast/tags.rb +1 -97
- data/lib/cucumber/cli/configuration.rb +3 -1
- data/lib/cucumber/cli/main.rb +20 -23
- data/lib/cucumber/cli/options.rb +9 -18
- data/lib/cucumber/filter.rb +4 -2
- data/lib/cucumber/formatter/console.rb +8 -28
- data/lib/cucumber/formatter/html.rb +1 -1
- data/lib/cucumber/formatter/pdf.rb +0 -4
- data/lib/cucumber/formatter/pretty.rb +1 -2
- data/lib/cucumber/formatter/progress.rb +1 -5
- data/lib/cucumber/formatter/rerun.rb +2 -0
- data/lib/cucumber/formatter/unicode.rb +6 -6
- data/lib/cucumber/language_support/language_methods.rb +0 -1
- data/lib/cucumber/parser/common.rb +16 -4
- data/lib/cucumber/parser/feature.rb +92 -27
- data/lib/cucumber/parser/feature.tt +8 -6
- data/lib/cucumber/parser/py_string.rb +12 -3
- data/lib/cucumber/parser/table.rb +12 -3
- data/lib/cucumber/rb_support/rb_dsl.rb +6 -6
- data/lib/cucumber/rb_support/rb_hook.rb +4 -5
- data/lib/cucumber/rb_support/rb_language.rb +1 -1
- data/lib/cucumber/tag_expression.rb +41 -0
- data/spec/cucumber/ast/feature_spec.rb +23 -2
- data/spec/cucumber/ast/scenario_outline_spec.rb +0 -7
- data/spec/cucumber/cli/options_spec.rb +3 -3
- data/spec/cucumber/formatter/html_spec.rb +10 -0
- data/spec/cucumber/formatter/spec_helper.rb +2 -1
- data/spec/cucumber/tag_expression_spec.rb +127 -0
- metadata +15 -10
- data/spec/cucumber/ast/tags_spec.rb +0 -29
- data/spec/cucumber/formatter/console_spec.rb +0 -20
@@ -67,7 +67,6 @@ module Cucumber
|
|
67
67
|
end
|
68
68
|
|
69
69
|
def before_feature_element(feature_element)
|
70
|
-
record_tag_occurrences(feature_element, @options)
|
71
70
|
@indent = 2
|
72
71
|
@scenario_indent = 2
|
73
72
|
end
|
@@ -230,7 +229,7 @@ module Cucumber
|
|
230
229
|
print_stats(features)
|
231
230
|
print_snippets(@options)
|
232
231
|
print_passing_wip(@options)
|
233
|
-
print_tag_limit_warnings(
|
232
|
+
print_tag_limit_warnings(features)
|
234
233
|
end
|
235
234
|
end
|
236
235
|
end
|
@@ -19,10 +19,6 @@ module Cucumber
|
|
19
19
|
print_summary(features)
|
20
20
|
end
|
21
21
|
|
22
|
-
def before_feature_element(feature_element)
|
23
|
-
record_tag_occurrences(feature_element, @options)
|
24
|
-
end
|
25
|
-
|
26
22
|
def after_step_result(keyword, step_match, multiline_arg, status, exception, source_indent, background)
|
27
23
|
progress(status)
|
28
24
|
@status = status
|
@@ -50,7 +46,7 @@ module Cucumber
|
|
50
46
|
print_stats(features)
|
51
47
|
print_snippets(@options)
|
52
48
|
print_passing_wip(@options)
|
53
|
-
print_tag_limit_warnings(
|
49
|
+
print_tag_limit_warnings(features)
|
54
50
|
end
|
55
51
|
|
56
52
|
CHARS = {
|
@@ -3,10 +3,10 @@ require 'cucumber/platform'
|
|
3
3
|
require 'cucumber/formatter/ansicolor'
|
4
4
|
$KCODE='u' unless Cucumber::RUBY_1_9
|
5
5
|
|
6
|
-
if Cucumber::WINDOWS
|
6
|
+
if Cucumber::WINDOWS
|
7
7
|
require 'iconv'
|
8
|
-
|
9
|
-
Cucumber::CODEPAGE = "cp#{
|
8
|
+
require 'Win32/Console/ANSI'
|
9
|
+
Cucumber::CODEPAGE = "cp#{Win32::Console::OutputCP()}"
|
10
10
|
|
11
11
|
module Cucumber
|
12
12
|
module WindowsOutput #:nodoc:
|
@@ -32,9 +32,9 @@ if Cucumber::WINDOWS && `cmd /c chcp` =~ /(\d+)/
|
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
|
-
Kernel.extend(self)
|
36
|
-
STDOUT.extend(self)
|
37
|
-
STDERR.extend(self)
|
35
|
+
Kernel.extend(self) if STDOUT.tty?
|
36
|
+
STDOUT.extend(self) if STDOUT.tty?
|
37
|
+
STDERR.extend(self) if STDERR.tty?
|
38
38
|
end
|
39
39
|
end
|
40
40
|
end
|
@@ -14,7 +14,10 @@ module Cucumber
|
|
14
14
|
start_index = index
|
15
15
|
if node_cache[:white].has_key?(index)
|
16
16
|
cached = node_cache[:white][index]
|
17
|
-
|
17
|
+
if cached
|
18
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
19
|
+
@index = cached.interval.end
|
20
|
+
end
|
18
21
|
return cached
|
19
22
|
end
|
20
23
|
|
@@ -50,7 +53,10 @@ module Cucumber
|
|
50
53
|
start_index = index
|
51
54
|
if node_cache[:space].has_key?(index)
|
52
55
|
cached = node_cache[:space][index]
|
53
|
-
|
56
|
+
if cached
|
57
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
58
|
+
@index = cached.interval.end
|
59
|
+
end
|
54
60
|
return cached
|
55
61
|
end
|
56
62
|
|
@@ -73,7 +79,10 @@ module Cucumber
|
|
73
79
|
start_index = index
|
74
80
|
if node_cache[:eol].has_key?(index)
|
75
81
|
cached = node_cache[:eol][index]
|
76
|
-
|
82
|
+
if cached
|
83
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
84
|
+
@index = cached.interval.end
|
85
|
+
end
|
77
86
|
return cached
|
78
87
|
end
|
79
88
|
|
@@ -136,7 +145,10 @@ module Cucumber
|
|
136
145
|
start_index = index
|
137
146
|
if node_cache[:eof].has_key?(index)
|
138
147
|
cached = node_cache[:eof][index]
|
139
|
-
|
148
|
+
if cached
|
149
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
150
|
+
@index = cached.interval.end
|
151
|
+
end
|
140
152
|
return cached
|
141
153
|
end
|
142
154
|
|
@@ -1,6 +1,8 @@
|
|
1
1
|
# Autogenerated from a Treetop grammar. Edits may be lost.
|
2
2
|
|
3
3
|
|
4
|
+
require 'cucumber/ast/tags'
|
5
|
+
|
4
6
|
module Cucumber
|
5
7
|
module Parser
|
6
8
|
# TIP: When you hack on the grammar, just delete feature.rb in this directory.
|
@@ -73,7 +75,10 @@ module Cucumber
|
|
73
75
|
start_index = index
|
74
76
|
if node_cache[:feature_sub].has_key?(index)
|
75
77
|
cached = node_cache[:feature_sub][index]
|
76
|
-
|
78
|
+
if cached
|
79
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
80
|
+
@index = cached.interval.end
|
81
|
+
end
|
77
82
|
return cached
|
78
83
|
end
|
79
84
|
|
@@ -223,7 +228,10 @@ module Cucumber
|
|
223
228
|
start_index = index
|
224
229
|
if node_cache[:tags].has_key?(index)
|
225
230
|
cached = node_cache[:tags][index]
|
226
|
-
|
231
|
+
if cached
|
232
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
233
|
+
@index = cached.interval.end
|
234
|
+
end
|
227
235
|
return cached
|
228
236
|
end
|
229
237
|
|
@@ -303,7 +311,10 @@ module Cucumber
|
|
303
311
|
start_index = index
|
304
312
|
if node_cache[:tag].has_key?(index)
|
305
313
|
cached = node_cache[:tag][index]
|
306
|
-
|
314
|
+
if cached
|
315
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
316
|
+
@index = cached.interval.end
|
317
|
+
end
|
307
318
|
return cached
|
308
319
|
end
|
309
320
|
|
@@ -372,7 +383,10 @@ module Cucumber
|
|
372
383
|
start_index = index
|
373
384
|
if node_cache[:comment].has_key?(index)
|
374
385
|
cached = node_cache[:comment][index]
|
375
|
-
|
386
|
+
if cached
|
387
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
388
|
+
@index = cached.interval.end
|
389
|
+
end
|
376
390
|
return cached
|
377
391
|
end
|
378
392
|
|
@@ -416,7 +430,10 @@ module Cucumber
|
|
416
430
|
start_index = index
|
417
431
|
if node_cache[:comment_line].has_key?(index)
|
418
432
|
cached = node_cache[:comment_line][index]
|
419
|
-
|
433
|
+
if cached
|
434
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
435
|
+
@index = cached.interval.end
|
436
|
+
end
|
420
437
|
return cached
|
421
438
|
end
|
422
439
|
|
@@ -491,8 +508,8 @@ module Cucumber
|
|
491
508
|
steps.at_line?(line)
|
492
509
|
end
|
493
510
|
|
494
|
-
def matches_tags?(
|
495
|
-
|
511
|
+
def matches_tags?(tag_expression)
|
512
|
+
tag_expression.eval(self.parent.tags.tag_names)
|
496
513
|
end
|
497
514
|
|
498
515
|
def build
|
@@ -510,7 +527,10 @@ module Cucumber
|
|
510
527
|
start_index = index
|
511
528
|
if node_cache[:background].has_key?(index)
|
512
529
|
cached = node_cache[:background][index]
|
513
|
-
|
530
|
+
if cached
|
531
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
532
|
+
@index = cached.interval.end
|
533
|
+
end
|
514
534
|
return cached
|
515
535
|
end
|
516
536
|
|
@@ -613,7 +633,10 @@ module Cucumber
|
|
613
633
|
start_index = index
|
614
634
|
if node_cache[:feature_elements].has_key?(index)
|
615
635
|
cached = node_cache[:feature_elements][index]
|
616
|
-
|
636
|
+
if cached
|
637
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
638
|
+
@index = cached.interval.end
|
639
|
+
end
|
617
640
|
return cached
|
618
641
|
end
|
619
642
|
|
@@ -687,10 +710,10 @@ module Cucumber
|
|
687
710
|
tags.at_line?(line)
|
688
711
|
end
|
689
712
|
|
690
|
-
def matches_tags?(
|
713
|
+
def matches_tags?(tag_expression)
|
691
714
|
feature_tag_names = self.parent.parent.tags.tag_names
|
692
715
|
source_tag_names = (feature_tag_names + tags.tag_names).uniq
|
693
|
-
|
716
|
+
tag_expression.eval(source_tag_names)
|
694
717
|
end
|
695
718
|
|
696
719
|
def matches_name?(regexp_to_match)
|
@@ -714,7 +737,10 @@ module Cucumber
|
|
714
737
|
start_index = index
|
715
738
|
if node_cache[:scenario].has_key?(index)
|
716
739
|
cached = node_cache[:scenario][index]
|
717
|
-
|
740
|
+
if cached
|
741
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
742
|
+
@index = cached.interval.end
|
743
|
+
end
|
718
744
|
return cached
|
719
745
|
end
|
720
746
|
|
@@ -826,10 +852,10 @@ module Cucumber
|
|
826
852
|
steps.at_line?(line)
|
827
853
|
end
|
828
854
|
|
829
|
-
def matches_tags?(
|
855
|
+
def matches_tags?(tag_expression)
|
830
856
|
feature_tag_names = self.parent.parent.tags.tag_names
|
831
857
|
source_tag_names = (feature_tag_names + tags.tag_names).uniq
|
832
|
-
|
858
|
+
tag_expression.eval(source_tag_names)
|
833
859
|
end
|
834
860
|
|
835
861
|
def matches_name?(regexp_to_match)
|
@@ -858,7 +884,10 @@ module Cucumber
|
|
858
884
|
start_index = index
|
859
885
|
if node_cache[:scenario_outline].has_key?(index)
|
860
886
|
cached = node_cache[:scenario_outline][index]
|
861
|
-
|
887
|
+
if cached
|
888
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
889
|
+
@index = cached.interval.end
|
890
|
+
end
|
862
891
|
return cached
|
863
892
|
end
|
864
893
|
|
@@ -938,7 +967,10 @@ module Cucumber
|
|
938
967
|
start_index = index
|
939
968
|
if node_cache[:steps].has_key?(index)
|
940
969
|
cached = node_cache[:steps][index]
|
941
|
-
|
970
|
+
if cached
|
971
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
972
|
+
@index = cached.interval.end
|
973
|
+
end
|
942
974
|
return cached
|
943
975
|
end
|
944
976
|
|
@@ -1000,7 +1032,10 @@ module Cucumber
|
|
1000
1032
|
start_index = index
|
1001
1033
|
if node_cache[:step].has_key?(index)
|
1002
1034
|
cached = node_cache[:step][index]
|
1003
|
-
|
1035
|
+
if cached
|
1036
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
1037
|
+
@index = cached.interval.end
|
1038
|
+
end
|
1004
1039
|
return cached
|
1005
1040
|
end
|
1006
1041
|
|
@@ -1120,7 +1155,10 @@ module Cucumber
|
|
1120
1155
|
start_index = index
|
1121
1156
|
if node_cache[:examples_sections].has_key?(index)
|
1122
1157
|
cached = node_cache[:examples_sections][index]
|
1123
|
-
|
1158
|
+
if cached
|
1159
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
1160
|
+
@index = cached.interval.end
|
1161
|
+
end
|
1124
1162
|
return cached
|
1125
1163
|
end
|
1126
1164
|
|
@@ -1194,7 +1232,10 @@ module Cucumber
|
|
1194
1232
|
start_index = index
|
1195
1233
|
if node_cache[:examples].has_key?(index)
|
1196
1234
|
cached = node_cache[:examples][index]
|
1197
|
-
|
1235
|
+
if cached
|
1236
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
1237
|
+
@index = cached.interval.end
|
1238
|
+
end
|
1198
1239
|
return cached
|
1199
1240
|
end
|
1200
1241
|
|
@@ -1270,7 +1311,10 @@ module Cucumber
|
|
1270
1311
|
start_index = index
|
1271
1312
|
if node_cache[:multiline_arg].has_key?(index)
|
1272
1313
|
cached = node_cache[:multiline_arg][index]
|
1273
|
-
|
1314
|
+
if cached
|
1315
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
1316
|
+
@index = cached.interval.end
|
1317
|
+
end
|
1274
1318
|
return cached
|
1275
1319
|
end
|
1276
1320
|
|
@@ -1300,7 +1344,10 @@ module Cucumber
|
|
1300
1344
|
start_index = index
|
1301
1345
|
if node_cache[:line_to_eol].has_key?(index)
|
1302
1346
|
cached = node_cache[:line_to_eol][index]
|
1303
|
-
|
1347
|
+
if cached
|
1348
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
1349
|
+
@index = cached.interval.end
|
1350
|
+
end
|
1304
1351
|
return cached
|
1305
1352
|
end
|
1306
1353
|
|
@@ -1369,7 +1416,10 @@ module Cucumber
|
|
1369
1416
|
start_index = index
|
1370
1417
|
if node_cache[:lines_to_keyword].has_key?(index)
|
1371
1418
|
cached = node_cache[:lines_to_keyword][index]
|
1372
|
-
|
1419
|
+
if cached
|
1420
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
1421
|
+
@index = cached.interval.end
|
1422
|
+
end
|
1373
1423
|
return cached
|
1374
1424
|
end
|
1375
1425
|
|
@@ -1446,7 +1496,10 @@ module Cucumber
|
|
1446
1496
|
start_index = index
|
1447
1497
|
if node_cache[:reserved_words_and_symbols].has_key?(index)
|
1448
1498
|
cached = node_cache[:reserved_words_and_symbols][index]
|
1449
|
-
|
1499
|
+
if cached
|
1500
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
1501
|
+
@index = cached.interval.end
|
1502
|
+
end
|
1450
1503
|
return cached
|
1451
1504
|
end
|
1452
1505
|
|
@@ -1520,7 +1573,10 @@ module Cucumber
|
|
1520
1573
|
start_index = index
|
1521
1574
|
if node_cache[:py_string].has_key?(index)
|
1522
1575
|
cached = node_cache[:py_string][index]
|
1523
|
-
|
1576
|
+
if cached
|
1577
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
1578
|
+
@index = cached.interval.end
|
1579
|
+
end
|
1524
1580
|
return cached
|
1525
1581
|
end
|
1526
1582
|
|
@@ -1608,7 +1664,10 @@ module Cucumber
|
|
1608
1664
|
start_index = index
|
1609
1665
|
if node_cache[:open_py_string].has_key?(index)
|
1610
1666
|
cached = node_cache[:open_py_string][index]
|
1611
|
-
|
1667
|
+
if cached
|
1668
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
1669
|
+
@index = cached.interval.end
|
1670
|
+
end
|
1612
1671
|
return cached
|
1613
1672
|
end
|
1614
1673
|
|
@@ -1689,7 +1748,10 @@ module Cucumber
|
|
1689
1748
|
start_index = index
|
1690
1749
|
if node_cache[:close_py_string].has_key?(index)
|
1691
1750
|
cached = node_cache[:close_py_string][index]
|
1692
|
-
|
1751
|
+
if cached
|
1752
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
1753
|
+
@index = cached.interval.end
|
1754
|
+
end
|
1693
1755
|
return cached
|
1694
1756
|
end
|
1695
1757
|
|
@@ -1741,7 +1803,10 @@ module Cucumber
|
|
1741
1803
|
start_index = index
|
1742
1804
|
if node_cache[:white].has_key?(index)
|
1743
1805
|
cached = node_cache[:white][index]
|
1744
|
-
|
1806
|
+
if cached
|
1807
|
+
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
1808
|
+
@index = cached.interval.end
|
1809
|
+
end
|
1745
1810
|
return cached
|
1746
1811
|
end
|
1747
1812
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'cucumber/ast/tags'
|
2
|
+
|
1
3
|
module Cucumber
|
2
4
|
module Parser
|
3
5
|
# TIP: When you hack on the grammar, just delete feature.rb in this directory.
|
@@ -76,8 +78,8 @@ module Cucumber
|
|
76
78
|
steps.at_line?(line)
|
77
79
|
end
|
78
80
|
|
79
|
-
def matches_tags?(
|
80
|
-
|
81
|
+
def matches_tags?(tag_expression)
|
82
|
+
tag_expression.eval(self.parent.tags.tag_names)
|
81
83
|
end
|
82
84
|
|
83
85
|
def build
|
@@ -116,10 +118,10 @@ module Cucumber
|
|
116
118
|
tags.at_line?(line)
|
117
119
|
end
|
118
120
|
|
119
|
-
def matches_tags?(
|
121
|
+
def matches_tags?(tag_expression)
|
120
122
|
feature_tag_names = self.parent.parent.tags.tag_names
|
121
123
|
source_tag_names = (feature_tag_names + tags.tag_names).uniq
|
122
|
-
|
124
|
+
tag_expression.eval(source_tag_names)
|
123
125
|
end
|
124
126
|
|
125
127
|
def matches_name?(regexp_to_match)
|
@@ -153,10 +155,10 @@ module Cucumber
|
|
153
155
|
steps.at_line?(line)
|
154
156
|
end
|
155
157
|
|
156
|
-
def matches_tags?(
|
158
|
+
def matches_tags?(tag_expression)
|
157
159
|
feature_tag_names = self.parent.parent.tags.tag_names
|
158
160
|
source_tag_names = (feature_tag_names + tags.tag_names).uniq
|
159
|
-
|
161
|
+
tag_expression.eval(source_tag_names)
|
160
162
|
end
|
161
163
|
|
162
164
|
def matches_name?(regexp_to_match)
|