cucumber-messages 22.0.0 → 24.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,7 +6,6 @@ require 'cucumber/messages/message'
6
6
  module Cucumber
7
7
  module Messages
8
8
 
9
-
10
9
  ##
11
10
  # Represents the Attachment message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
12
11
  #
@@ -22,16 +21,14 @@ module Cucumber
22
21
  #
23
22
  # It is not to be used for runtime errors raised/thrown during execution. This
24
23
  # is captured in `TestResult`.
25
- #
26
-
24
+ ##
27
25
  class Attachment < ::Cucumber::Messages::Message
28
-
29
26
  ##
30
27
  # *
31
28
  # The body of the attachment. If `contentEncoding` is `IDENTITY`, the attachment
32
29
  # is simply the string. If it's `BASE64`, the string should be Base64 decoded to
33
30
  # obtain the attachment.
34
-
31
+ ##
35
32
  attr_reader :body
36
33
 
37
34
  ##
@@ -44,13 +41,13 @@ module Cucumber
44
41
  # - string: IDENTITY
45
42
  # - byte array: BASE64
46
43
  # - stream: BASE64
47
-
44
+ ##
48
45
  attr_reader :content_encoding
49
46
 
50
47
  ##
51
48
  # *
52
49
  # Suggested file name of the attachment. (Provided by the user as an argument to `attach`)
53
-
50
+ ##
54
51
  attr_reader :file_name
55
52
 
56
53
  ##
@@ -59,7 +56,7 @@ module Cucumber
59
56
  # [IANA Media Type](https://www.iana.org/assignments/media-types/media-types.xhtml)
60
57
  # as well as Cucumber-specific media types such as `text/x.cucumber.gherkin+plain`
61
58
  # and `text/x.cucumber.stacktrace+plain`
62
-
59
+ ##
63
60
  attr_reader :media_type
64
61
 
65
62
  attr_reader :source
@@ -81,7 +78,7 @@ module Cucumber
81
78
  # This will result in a smaller message stream, which can improve performance and
82
79
  # reduce bandwidth of message consumers. It also makes it easier to process and download attachments
83
80
  # separately from reports.
84
-
81
+ ##
85
82
  attr_reader :url
86
83
 
87
84
  def initialize(
@@ -105,16 +102,13 @@ module Cucumber
105
102
  end
106
103
  end
107
104
 
108
-
109
105
  ##
110
106
  # Represents the Duration message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
111
107
  #
112
108
  # The structure is pretty close of the Timestamp one. For clarity, a second type
113
109
  # of message is used.
114
- #
115
-
110
+ ##
116
111
  class Duration < ::Cucumber::Messages::Message
117
-
118
112
  attr_reader :seconds
119
113
 
120
114
  ##
@@ -122,7 +116,7 @@ module Cucumber
122
116
  # second values with fractions must still have non-negative nanos values
123
117
  # that count forward in time. Must be from 0 to 999,999,999
124
118
  # inclusive.
125
-
119
+ ##
126
120
  attr_reader :nanos
127
121
 
128
122
  def initialize(
@@ -134,7 +128,6 @@ module Cucumber
134
128
  end
135
129
  end
136
130
 
137
-
138
131
  ##
139
132
  # Represents the Envelope message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
140
133
  #
@@ -145,10 +138,8 @@ module Cucumber
145
138
  # *
146
139
  # All the messages that are passed between different components/processes are Envelope
147
140
  # messages.
148
- #
149
-
141
+ ##
150
142
  class Envelope < ::Cucumber::Messages::Message
151
-
152
143
  attr_reader :attachment
153
144
 
154
145
  attr_reader :gherkin_document
@@ -222,35 +213,38 @@ module Cucumber
222
213
  end
223
214
  end
224
215
 
225
-
226
216
  ##
227
217
  # Represents the Exception message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
228
218
  #
229
219
  # A simplified representation of an exception
230
- #
231
-
220
+ ##
232
221
  class Exception < ::Cucumber::Messages::Message
233
-
234
222
  ##
235
223
  # The type of the exception that caused this result. E.g. "Error" or "org.opentest4j.AssertionFailedError"
236
-
224
+ ##
237
225
  attr_reader :type
238
226
 
239
227
  ##
240
228
  # The message of exception that caused this result. E.g. expected: "a" but was: "b"
241
-
229
+ ##
242
230
  attr_reader :message
243
231
 
232
+ ##
233
+ # The stringified stack trace of the exception that caused this result
234
+ ##
235
+ attr_reader :stack_trace
236
+
244
237
  def initialize(
245
238
  type: '',
246
- message: nil
239
+ message: nil,
240
+ stack_trace: nil
247
241
  )
248
242
  @type = type
249
243
  @message = message
244
+ @stack_trace = stack_trace
250
245
  end
251
246
  end
252
247
 
253
-
254
248
  ##
255
249
  # Represents the GherkinDocument message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
256
250
  #
@@ -261,22 +255,20 @@ module Cucumber
261
255
  #
262
256
  # The only consumers of `GherkinDocument` should only be formatters that produce
263
257
  # "rich" output, resembling the original Gherkin document.
264
- #
265
-
258
+ ##
266
259
  class GherkinDocument < ::Cucumber::Messages::Message
267
-
268
260
  ##
269
261
  # *
270
262
  # The [URI](https://en.wikipedia.org/wiki/Uniform_Resource_Identifier)
271
263
  # of the source, typically a file path relative to the root directory
272
-
264
+ ##
273
265
  attr_reader :uri
274
266
 
275
267
  attr_reader :feature
276
268
 
277
269
  ##
278
270
  # All the comments in the Gherkin document
279
-
271
+ ##
280
272
  attr_reader :comments
281
273
 
282
274
  def initialize(
@@ -290,18 +282,13 @@ module Cucumber
290
282
  end
291
283
  end
292
284
 
293
-
294
285
  ##
295
286
  # Represents the Background message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
296
- #
297
-
298
- #
299
-
287
+ ##
300
288
  class Background < ::Cucumber::Messages::Message
301
-
302
289
  ##
303
290
  # The location of the `Background` keyword
304
-
291
+ ##
305
292
  attr_reader :location
306
293
 
307
294
  attr_reader :keyword
@@ -331,24 +318,21 @@ module Cucumber
331
318
  end
332
319
  end
333
320
 
334
-
335
321
  ##
336
322
  # Represents the Comment message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
337
323
  #
338
324
  # *
339
325
  # A comment in a Gherkin document
340
- #
341
-
326
+ ##
342
327
  class Comment < ::Cucumber::Messages::Message
343
-
344
328
  ##
345
329
  # The location of the comment
346
-
330
+ ##
347
331
  attr_reader :location
348
332
 
349
333
  ##
350
334
  # The text of the comment
351
-
335
+ ##
352
336
  attr_reader :text
353
337
 
354
338
  def initialize(
@@ -360,15 +344,10 @@ module Cucumber
360
344
  end
361
345
  end
362
346
 
363
-
364
347
  ##
365
348
  # Represents the DataTable message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
366
- #
367
-
368
- #
369
-
349
+ ##
370
350
  class DataTable < ::Cucumber::Messages::Message
371
-
372
351
  attr_reader :location
373
352
 
374
353
  attr_reader :rows
@@ -382,15 +361,10 @@ module Cucumber
382
361
  end
383
362
  end
384
363
 
385
-
386
364
  ##
387
365
  # Represents the DocString message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
388
- #
389
-
390
- #
391
-
366
+ ##
392
367
  class DocString < ::Cucumber::Messages::Message
393
-
394
368
  attr_reader :location
395
369
 
396
370
  attr_reader :media_type
@@ -412,18 +386,13 @@ module Cucumber
412
386
  end
413
387
  end
414
388
 
415
-
416
389
  ##
417
390
  # Represents the Examples message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
418
- #
419
-
420
- #
421
-
391
+ ##
422
392
  class Examples < ::Cucumber::Messages::Message
423
-
424
393
  ##
425
394
  # The location of the `Examples` keyword
426
-
395
+ ##
427
396
  attr_reader :location
428
397
 
429
398
  attr_reader :tags
@@ -461,48 +430,43 @@ module Cucumber
461
430
  end
462
431
  end
463
432
 
464
-
465
433
  ##
466
434
  # Represents the Feature message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
467
- #
468
-
469
- #
470
-
435
+ ##
471
436
  class Feature < ::Cucumber::Messages::Message
472
-
473
437
  ##
474
438
  # The location of the `Feature` keyword
475
-
439
+ ##
476
440
  attr_reader :location
477
441
 
478
442
  ##
479
443
  # All the tags placed above the `Feature` keyword
480
-
444
+ ##
481
445
  attr_reader :tags
482
446
 
483
447
  ##
484
448
  # The [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1) language code of the Gherkin document
485
-
449
+ ##
486
450
  attr_reader :language
487
451
 
488
452
  ##
489
453
  # The text of the `Feature` keyword (in the language specified by `language`)
490
-
454
+ ##
491
455
  attr_reader :keyword
492
456
 
493
457
  ##
494
458
  # The name of the feature (the text following the `keyword`)
495
-
459
+ ##
496
460
  attr_reader :name
497
461
 
498
462
  ##
499
463
  # The line(s) underneath the line with the `keyword` that are used as description
500
-
464
+ ##
501
465
  attr_reader :description
502
466
 
503
467
  ##
504
468
  # Zero or more children
505
-
469
+ ##
506
470
  attr_reader :children
507
471
 
508
472
  def initialize(
@@ -524,16 +488,13 @@ module Cucumber
524
488
  end
525
489
  end
526
490
 
527
-
528
491
  ##
529
492
  # Represents the FeatureChild message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
530
493
  #
531
494
  # *
532
495
  # A child node of a `Feature` node
533
- #
534
-
496
+ ##
535
497
  class FeatureChild < ::Cucumber::Messages::Message
536
-
537
498
  attr_reader :rule
538
499
 
539
500
  attr_reader :background
@@ -551,23 +512,18 @@ module Cucumber
551
512
  end
552
513
  end
553
514
 
554
-
555
515
  ##
556
516
  # Represents the Rule message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
557
- #
558
-
559
- #
560
-
517
+ ##
561
518
  class Rule < ::Cucumber::Messages::Message
562
-
563
519
  ##
564
520
  # The location of the `Rule` keyword
565
-
521
+ ##
566
522
  attr_reader :location
567
523
 
568
524
  ##
569
525
  # All the tags placed above the `Rule` keyword
570
-
526
+ ##
571
527
  attr_reader :tags
572
528
 
573
529
  attr_reader :keyword
@@ -599,16 +555,13 @@ module Cucumber
599
555
  end
600
556
  end
601
557
 
602
-
603
558
  ##
604
559
  # Represents the RuleChild message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
605
560
  #
606
561
  # *
607
562
  # A child node of a `Rule` node
608
- #
609
-
563
+ ##
610
564
  class RuleChild < ::Cucumber::Messages::Message
611
-
612
565
  attr_reader :background
613
566
 
614
567
  attr_reader :scenario
@@ -622,18 +575,13 @@ module Cucumber
622
575
  end
623
576
  end
624
577
 
625
-
626
578
  ##
627
579
  # Represents the Scenario message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
628
- #
629
-
630
- #
631
-
580
+ ##
632
581
  class Scenario < ::Cucumber::Messages::Message
633
-
634
582
  ##
635
583
  # The location of the `Scenario` keyword
636
-
584
+ ##
637
585
  attr_reader :location
638
586
 
639
587
  attr_reader :tags
@@ -671,28 +619,25 @@ module Cucumber
671
619
  end
672
620
  end
673
621
 
674
-
675
622
  ##
676
623
  # Represents the Step message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
677
624
  #
678
625
  # A step
679
- #
680
-
626
+ ##
681
627
  class Step < ::Cucumber::Messages::Message
682
-
683
628
  ##
684
629
  # The location of the steps' `keyword`
685
-
630
+ ##
686
631
  attr_reader :location
687
632
 
688
633
  ##
689
634
  # The actual keyword as it appeared in the source.
690
-
635
+ ##
691
636
  attr_reader :keyword
692
637
 
693
638
  ##
694
639
  # The test phase signalled by the keyword: Context definition (Given), Action performance (When), Outcome assertion (Then). Other keywords signal Continuation (And and But) from a prior keyword. Please note that all translations which a dialect maps to multiple keywords (`*` is in this category for all dialects), map to 'Unknown'.
695
-
640
+ ##
696
641
  attr_reader :keyword_type
697
642
 
698
643
  attr_reader :text
@@ -703,7 +648,7 @@ module Cucumber
703
648
 
704
649
  ##
705
650
  # Unique ID to be able to reference the Step from PickleStep
706
-
651
+ ##
707
652
  attr_reader :id
708
653
 
709
654
  def initialize(
@@ -725,23 +670,20 @@ module Cucumber
725
670
  end
726
671
  end
727
672
 
728
-
729
673
  ##
730
674
  # Represents the TableCell message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
731
675
  #
732
676
  # A cell in a `TableRow`
733
- #
734
-
677
+ ##
735
678
  class TableCell < ::Cucumber::Messages::Message
736
-
737
679
  ##
738
680
  # The location of the cell
739
-
681
+ ##
740
682
  attr_reader :location
741
683
 
742
684
  ##
743
685
  # The value of the cell
744
-
686
+ ##
745
687
  attr_reader :value
746
688
 
747
689
  def initialize(
@@ -753,23 +695,20 @@ module Cucumber
753
695
  end
754
696
  end
755
697
 
756
-
757
698
  ##
758
699
  # Represents the TableRow message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
759
700
  #
760
701
  # A row in a table
761
- #
762
-
702
+ ##
763
703
  class TableRow < ::Cucumber::Messages::Message
764
-
765
704
  ##
766
705
  # The location of the first cell in the row
767
-
706
+ ##
768
707
  attr_reader :location
769
708
 
770
709
  ##
771
710
  # Cells in the row
772
-
711
+ ##
773
712
  attr_reader :cells
774
713
 
775
714
  attr_reader :id
@@ -785,29 +724,26 @@ module Cucumber
785
724
  end
786
725
  end
787
726
 
788
-
789
727
  ##
790
728
  # Represents the Tag message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
791
729
  #
792
730
  # *
793
731
  # A tag
794
- #
795
-
732
+ ##
796
733
  class Tag < ::Cucumber::Messages::Message
797
-
798
734
  ##
799
735
  # Location of the tag
800
-
736
+ ##
801
737
  attr_reader :location
802
738
 
803
739
  ##
804
740
  # The name of the tag (including the leading `@`)
805
-
741
+ ##
806
742
  attr_reader :name
807
743
 
808
744
  ##
809
745
  # Unique ID to be able to reference the Tag from PickleTag
810
-
746
+ ##
811
747
  attr_reader :id
812
748
 
813
749
  def initialize(
@@ -821,15 +757,10 @@ module Cucumber
821
757
  end
822
758
  end
823
759
 
824
-
825
760
  ##
826
761
  # Represents the Hook message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
827
- #
828
-
829
- #
830
-
762
+ ##
831
763
  class Hook < ::Cucumber::Messages::Message
832
-
833
764
  attr_reader :id
834
765
 
835
766
  attr_reader :name
@@ -851,16 +782,13 @@ module Cucumber
851
782
  end
852
783
  end
853
784
 
854
-
855
785
  ##
856
786
  # Represents the Location message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
857
787
  #
858
788
  # *
859
789
  # Points to a line and a column in a text file
860
- #
861
-
790
+ ##
862
791
  class Location < ::Cucumber::Messages::Message
863
-
864
792
  attr_reader :line
865
793
 
866
794
  attr_reader :column
@@ -874,41 +802,38 @@ module Cucumber
874
802
  end
875
803
  end
876
804
 
877
-
878
805
  ##
879
806
  # Represents the Meta message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
880
807
  #
881
808
  # *
882
809
  # This message contains meta information about the environment. Consumers can use
883
810
  # this for various purposes.
884
- #
885
-
811
+ ##
886
812
  class Meta < ::Cucumber::Messages::Message
887
-
888
813
  ##
889
814
  # *
890
815
  # The [SEMVER](https://semver.org/) version number of the protocol
891
-
816
+ ##
892
817
  attr_reader :protocol_version
893
818
 
894
819
  ##
895
820
  # SpecFlow, Cucumber-JVM, Cucumber.js, Cucumber-Ruby, Behat etc.
896
-
821
+ ##
897
822
  attr_reader :implementation
898
823
 
899
824
  ##
900
825
  # Java, Ruby, Node.js etc
901
-
826
+ ##
902
827
  attr_reader :runtime
903
828
 
904
829
  ##
905
830
  # Windows, Linux, MacOS etc
906
-
831
+ ##
907
832
  attr_reader :os
908
833
 
909
834
  ##
910
835
  # 386, arm, amd64 etc
911
-
836
+ ##
912
837
  attr_reader :cpu
913
838
 
914
839
  attr_reader :ci
@@ -930,28 +855,25 @@ module Cucumber
930
855
  end
931
856
  end
932
857
 
933
-
934
858
  ##
935
859
  # Represents the Ci message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
936
860
  #
937
861
  # CI environment
938
- #
939
-
862
+ ##
940
863
  class Ci < ::Cucumber::Messages::Message
941
-
942
864
  ##
943
865
  # Name of the CI product, e.g. "Jenkins", "CircleCI" etc.
944
-
866
+ ##
945
867
  attr_reader :name
946
868
 
947
869
  ##
948
870
  # Link to the build
949
-
871
+ ##
950
872
  attr_reader :url
951
873
 
952
874
  ##
953
875
  # The build number. Some CI servers use non-numeric build numbers, which is why this is a string
954
-
876
+ ##
955
877
  attr_reader :build_number
956
878
 
957
879
  attr_reader :git
@@ -969,16 +891,13 @@ module Cucumber
969
891
  end
970
892
  end
971
893
 
972
-
973
894
  ##
974
895
  # Represents the Git message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
975
896
  #
976
897
  # Information about Git, provided by the Build/CI server as environment
977
898
  # variables.
978
- #
979
-
899
+ ##
980
900
  class Git < ::Cucumber::Messages::Message
981
-
982
901
  attr_reader :remote
983
902
 
984
903
  attr_reader :revision
@@ -1000,23 +919,20 @@ module Cucumber
1000
919
  end
1001
920
  end
1002
921
 
1003
-
1004
922
  ##
1005
923
  # Represents the Product message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1006
924
  #
1007
925
  # Used to describe various properties of Meta
1008
- #
1009
-
926
+ ##
1010
927
  class Product < ::Cucumber::Messages::Message
1011
-
1012
928
  ##
1013
929
  # The product name
1014
-
930
+ ##
1015
931
  attr_reader :name
1016
932
 
1017
933
  ##
1018
934
  # The product version
1019
-
935
+ ##
1020
936
  attr_reader :version
1021
937
 
1022
938
  def initialize(
@@ -1028,18 +944,13 @@ module Cucumber
1028
944
  end
1029
945
  end
1030
946
 
1031
-
1032
947
  ##
1033
948
  # Represents the ParameterType message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1034
- #
1035
-
1036
- #
1037
-
949
+ ##
1038
950
  class ParameterType < ::Cucumber::Messages::Message
1039
-
1040
951
  ##
1041
952
  # The name is unique, so we don't need an id.
1042
-
953
+ ##
1043
954
  attr_reader :name
1044
955
 
1045
956
  attr_reader :regular_expressions
@@ -1069,15 +980,10 @@ module Cucumber
1069
980
  end
1070
981
  end
1071
982
 
1072
-
1073
983
  ##
1074
984
  # Represents the ParseError message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1075
- #
1076
-
1077
- #
1078
-
985
+ ##
1079
986
  class ParseError < ::Cucumber::Messages::Message
1080
-
1081
987
  attr_reader :source
1082
988
 
1083
989
  attr_reader :message
@@ -1091,7 +997,6 @@ module Cucumber
1091
997
  end
1092
998
  end
1093
999
 
1094
-
1095
1000
  ##
1096
1001
  # Represents the Pickle message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1097
1002
  #
@@ -1108,41 +1013,39 @@ module Cucumber
1108
1013
  # with the complex structure of a [GherkinDocument](#io.cucumber.messages.GherkinDocument).
1109
1014
  #
1110
1015
  # Each `PickleStep` of a `Pickle` is matched with a `StepDefinition` to create a `TestCase`
1111
- #
1112
-
1016
+ ##
1113
1017
  class Pickle < ::Cucumber::Messages::Message
1114
-
1115
1018
  ##
1116
1019
  # *
1117
1020
  # A unique id for the pickle
1118
-
1021
+ ##
1119
1022
  attr_reader :id
1120
1023
 
1121
1024
  ##
1122
1025
  # The uri of the source file
1123
-
1026
+ ##
1124
1027
  attr_reader :uri
1125
1028
 
1126
1029
  ##
1127
1030
  # The name of the pickle
1128
-
1031
+ ##
1129
1032
  attr_reader :name
1130
1033
 
1131
1034
  ##
1132
1035
  # The language of the pickle
1133
-
1036
+ ##
1134
1037
  attr_reader :language
1135
1038
 
1136
1039
  ##
1137
1040
  # One or more steps
1138
-
1041
+ ##
1139
1042
  attr_reader :steps
1140
1043
 
1141
1044
  ##
1142
1045
  # *
1143
1046
  # One or more tags. If this pickle is constructed from a Gherkin document,
1144
1047
  # It includes inherited tags from the `Feature` as well.
1145
-
1048
+ ##
1146
1049
  attr_reader :tags
1147
1050
 
1148
1051
  ##
@@ -1150,7 +1053,7 @@ module Cucumber
1150
1053
  # Points to the AST node locations of the pickle. The last one represents the unique
1151
1054
  # id of the pickle. A pickle constructed from `Examples` will have the first
1152
1055
  # id originating from the `Scenario` AST node, and the second from the `TableRow` AST node.
1153
-
1056
+ ##
1154
1057
  attr_reader :ast_node_ids
1155
1058
 
1156
1059
  def initialize(
@@ -1172,15 +1075,10 @@ module Cucumber
1172
1075
  end
1173
1076
  end
1174
1077
 
1175
-
1176
1078
  ##
1177
1079
  # Represents the PickleDocString message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1178
- #
1179
-
1180
- #
1181
-
1080
+ ##
1182
1081
  class PickleDocString < ::Cucumber::Messages::Message
1183
-
1184
1082
  attr_reader :media_type
1185
1083
 
1186
1084
  attr_reader :content
@@ -1194,34 +1092,31 @@ module Cucumber
1194
1092
  end
1195
1093
  end
1196
1094
 
1197
-
1198
1095
  ##
1199
1096
  # Represents the PickleStep message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1200
1097
  #
1201
1098
  # *
1202
1099
  # An executable step
1203
- #
1204
-
1100
+ ##
1205
1101
  class PickleStep < ::Cucumber::Messages::Message
1206
-
1207
1102
  attr_reader :argument
1208
1103
 
1209
1104
  ##
1210
1105
  # References the IDs of the source of the step. For Gherkin, this can be
1211
1106
  # the ID of a Step, and possibly also the ID of a TableRow
1212
-
1107
+ ##
1213
1108
  attr_reader :ast_node_ids
1214
1109
 
1215
1110
  ##
1216
1111
  # A unique ID for the PickleStep
1217
-
1112
+ ##
1218
1113
  attr_reader :id
1219
1114
 
1220
1115
  ##
1221
1116
  # The context in which the step was specified: context (Given), action (When) or outcome (Then).
1222
1117
  #
1223
1118
  # Note that the keywords `But` and `And` inherit their meaning from prior steps and the `*` 'keyword' doesn't have specific meaning (hence Unknown)
1224
-
1119
+ ##
1225
1120
  attr_reader :type
1226
1121
 
1227
1122
  attr_reader :text
@@ -1241,15 +1136,12 @@ module Cucumber
1241
1136
  end
1242
1137
  end
1243
1138
 
1244
-
1245
1139
  ##
1246
1140
  # Represents the PickleStepArgument message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1247
1141
  #
1248
1142
  # An optional argument
1249
- #
1250
-
1143
+ ##
1251
1144
  class PickleStepArgument < ::Cucumber::Messages::Message
1252
-
1253
1145
  attr_reader :doc_string
1254
1146
 
1255
1147
  attr_reader :data_table
@@ -1263,15 +1155,10 @@ module Cucumber
1263
1155
  end
1264
1156
  end
1265
1157
 
1266
-
1267
1158
  ##
1268
1159
  # Represents the PickleTable message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1269
- #
1270
-
1271
- #
1272
-
1160
+ ##
1273
1161
  class PickleTable < ::Cucumber::Messages::Message
1274
-
1275
1162
  attr_reader :rows
1276
1163
 
1277
1164
  def initialize(
@@ -1281,15 +1168,10 @@ module Cucumber
1281
1168
  end
1282
1169
  end
1283
1170
 
1284
-
1285
1171
  ##
1286
1172
  # Represents the PickleTableCell message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1287
- #
1288
-
1289
- #
1290
-
1173
+ ##
1291
1174
  class PickleTableCell < ::Cucumber::Messages::Message
1292
-
1293
1175
  attr_reader :value
1294
1176
 
1295
1177
  def initialize(
@@ -1299,15 +1181,10 @@ module Cucumber
1299
1181
  end
1300
1182
  end
1301
1183
 
1302
-
1303
1184
  ##
1304
1185
  # Represents the PickleTableRow message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1305
- #
1306
-
1307
- #
1308
-
1186
+ ##
1309
1187
  class PickleTableRow < ::Cucumber::Messages::Message
1310
-
1311
1188
  attr_reader :cells
1312
1189
 
1313
1190
  def initialize(
@@ -1317,21 +1194,18 @@ module Cucumber
1317
1194
  end
1318
1195
  end
1319
1196
 
1320
-
1321
1197
  ##
1322
1198
  # Represents the PickleTag message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1323
1199
  #
1324
1200
  # *
1325
1201
  # A tag
1326
- #
1327
-
1202
+ ##
1328
1203
  class PickleTag < ::Cucumber::Messages::Message
1329
-
1330
1204
  attr_reader :name
1331
1205
 
1332
1206
  ##
1333
1207
  # Points to the AST node this was created from
1334
-
1208
+ ##
1335
1209
  attr_reader :ast_node_id
1336
1210
 
1337
1211
  def initialize(
@@ -1343,7 +1217,6 @@ module Cucumber
1343
1217
  end
1344
1218
  end
1345
1219
 
1346
-
1347
1220
  ##
1348
1221
  # Represents the Source message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1349
1222
  #
@@ -1351,26 +1224,24 @@ module Cucumber
1351
1224
  #
1352
1225
  # *
1353
1226
  # A source file, typically a Gherkin document or Java/Ruby/JavaScript source code
1354
- #
1355
-
1227
+ ##
1356
1228
  class Source < ::Cucumber::Messages::Message
1357
-
1358
1229
  ##
1359
1230
  # *
1360
1231
  # The [URI](https://en.wikipedia.org/wiki/Uniform_Resource_Identifier)
1361
1232
  # of the source, typically a file path relative to the root directory
1362
-
1233
+ ##
1363
1234
  attr_reader :uri
1364
1235
 
1365
1236
  ##
1366
1237
  # The contents of the file
1367
-
1238
+ ##
1368
1239
  attr_reader :data
1369
1240
 
1370
1241
  ##
1371
1242
  # The media type of the file. Can be used to specify custom types, such as
1372
1243
  # text/x.cucumber.gherkin+plain
1373
-
1244
+ ##
1374
1245
  attr_reader :media_type
1375
1246
 
1376
1247
  def initialize(
@@ -1384,17 +1255,14 @@ module Cucumber
1384
1255
  end
1385
1256
  end
1386
1257
 
1387
-
1388
1258
  ##
1389
1259
  # Represents the SourceReference message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1390
1260
  #
1391
1261
  # *
1392
1262
  # Points to a [Source](#io.cucumber.messages.Source) identified by `uri` and a
1393
1263
  # [Location](#io.cucumber.messages.Location) within that file.
1394
- #
1395
-
1264
+ ##
1396
1265
  class SourceReference < ::Cucumber::Messages::Message
1397
-
1398
1266
  attr_reader :uri
1399
1267
 
1400
1268
  attr_reader :java_method
@@ -1416,15 +1284,10 @@ module Cucumber
1416
1284
  end
1417
1285
  end
1418
1286
 
1419
-
1420
1287
  ##
1421
1288
  # Represents the JavaMethod message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1422
- #
1423
-
1424
- #
1425
-
1289
+ ##
1426
1290
  class JavaMethod < ::Cucumber::Messages::Message
1427
-
1428
1291
  attr_reader :class_name
1429
1292
 
1430
1293
  attr_reader :method_name
@@ -1442,15 +1305,10 @@ module Cucumber
1442
1305
  end
1443
1306
  end
1444
1307
 
1445
-
1446
1308
  ##
1447
1309
  # Represents the JavaStackTraceElement message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1448
- #
1449
-
1450
- #
1451
-
1310
+ ##
1452
1311
  class JavaStackTraceElement < ::Cucumber::Messages::Message
1453
-
1454
1312
  attr_reader :class_name
1455
1313
 
1456
1314
  attr_reader :file_name
@@ -1468,15 +1326,10 @@ module Cucumber
1468
1326
  end
1469
1327
  end
1470
1328
 
1471
-
1472
1329
  ##
1473
1330
  # Represents the StepDefinition message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1474
- #
1475
-
1476
- #
1477
-
1331
+ ##
1478
1332
  class StepDefinition < ::Cucumber::Messages::Message
1479
-
1480
1333
  attr_reader :id
1481
1334
 
1482
1335
  attr_reader :pattern
@@ -1494,15 +1347,10 @@ module Cucumber
1494
1347
  end
1495
1348
  end
1496
1349
 
1497
-
1498
1350
  ##
1499
1351
  # Represents the StepDefinitionPattern message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1500
- #
1501
-
1502
- #
1503
-
1352
+ ##
1504
1353
  class StepDefinitionPattern < ::Cucumber::Messages::Message
1505
-
1506
1354
  attr_reader :source
1507
1355
 
1508
1356
  attr_reader :type
@@ -1516,7 +1364,6 @@ module Cucumber
1516
1364
  end
1517
1365
  end
1518
1366
 
1519
-
1520
1367
  ##
1521
1368
  # Represents the TestCase message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1522
1369
  #
@@ -1524,15 +1371,13 @@ module Cucumber
1524
1371
  #
1525
1372
  # *
1526
1373
  # A `TestCase` contains a sequence of `TestStep`s.
1527
- #
1528
-
1374
+ ##
1529
1375
  class TestCase < ::Cucumber::Messages::Message
1530
-
1531
1376
  attr_reader :id
1532
1377
 
1533
1378
  ##
1534
1379
  # The ID of the `Pickle` this `TestCase` is derived from.
1535
-
1380
+ ##
1536
1381
  attr_reader :pickle_id
1537
1382
 
1538
1383
  attr_reader :test_steps
@@ -1548,15 +1393,10 @@ module Cucumber
1548
1393
  end
1549
1394
  end
1550
1395
 
1551
-
1552
1396
  ##
1553
1397
  # Represents the Group message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1554
- #
1555
-
1556
- #
1557
-
1398
+ ##
1558
1399
  class Group < ::Cucumber::Messages::Message
1559
-
1560
1400
  attr_reader :children
1561
1401
 
1562
1402
  attr_reader :start
@@ -1574,7 +1414,6 @@ module Cucumber
1574
1414
  end
1575
1415
  end
1576
1416
 
1577
-
1578
1417
  ##
1579
1418
  # Represents the StepMatchArgument message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1580
1419
  #
@@ -1585,15 +1424,13 @@ module Cucumber
1585
1424
  # - Highlight the matched parameter in rich formatters such as the HTML formatter
1586
1425
  #
1587
1426
  # This message closely matches the `Argument` class in the `cucumber-expressions` library.
1588
- #
1589
-
1427
+ ##
1590
1428
  class StepMatchArgument < ::Cucumber::Messages::Message
1591
-
1592
1429
  ##
1593
1430
  # *
1594
1431
  # Represents the outermost capture group of an argument. This message closely matches the
1595
1432
  # `Group` class in the `cucumber-expressions` library.
1596
-
1433
+ ##
1597
1434
  attr_reader :group
1598
1435
 
1599
1436
  attr_reader :parameter_type_name
@@ -1607,15 +1444,10 @@ module Cucumber
1607
1444
  end
1608
1445
  end
1609
1446
 
1610
-
1611
1447
  ##
1612
1448
  # Represents the StepMatchArgumentsList message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1613
- #
1614
-
1615
- #
1616
-
1449
+ ##
1617
1450
  class StepMatchArgumentsList < ::Cucumber::Messages::Message
1618
-
1619
1451
  attr_reader :step_match_arguments
1620
1452
 
1621
1453
  def initialize(
@@ -1625,39 +1457,36 @@ module Cucumber
1625
1457
  end
1626
1458
  end
1627
1459
 
1628
-
1629
1460
  ##
1630
1461
  # Represents the TestStep message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1631
1462
  #
1632
1463
  # *
1633
1464
  # A `TestStep` is derived from either a `PickleStep`
1634
1465
  # combined with a `StepDefinition`, or from a `Hook`.
1635
- #
1636
-
1466
+ ##
1637
1467
  class TestStep < ::Cucumber::Messages::Message
1638
-
1639
1468
  ##
1640
1469
  # Pointer to the `Hook` (if derived from a Hook)
1641
-
1470
+ ##
1642
1471
  attr_reader :hook_id
1643
1472
 
1644
1473
  attr_reader :id
1645
1474
 
1646
1475
  ##
1647
1476
  # Pointer to the `PickleStep` (if derived from a `PickleStep`)
1648
-
1477
+ ##
1649
1478
  attr_reader :pickle_step_id
1650
1479
 
1651
1480
  ##
1652
1481
  # Pointer to all the matching `StepDefinition`s (if derived from a `PickleStep`)
1653
-
1482
+ ##
1654
1483
  attr_reader :step_definition_ids
1655
1484
 
1656
1485
  ##
1657
1486
  # A list of list of StepMatchArgument (if derived from a `PickleStep`).
1658
1487
  # Each element represents a matching step definition. A size of 0 means `UNDEFINED`,
1659
1488
  # and a size of 2+ means `AMBIGUOUS`
1660
-
1489
+ ##
1661
1490
  attr_reader :step_match_arguments_lists
1662
1491
 
1663
1492
  def initialize(
@@ -1675,15 +1504,10 @@ module Cucumber
1675
1504
  end
1676
1505
  end
1677
1506
 
1678
-
1679
1507
  ##
1680
1508
  # Represents the TestCaseFinished message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1681
- #
1682
-
1683
- #
1684
-
1509
+ ##
1685
1510
  class TestCaseFinished < ::Cucumber::Messages::Message
1686
-
1687
1511
  attr_reader :test_case_started_id
1688
1512
 
1689
1513
  attr_reader :timestamp
@@ -1701,34 +1525,29 @@ module Cucumber
1701
1525
  end
1702
1526
  end
1703
1527
 
1704
-
1705
1528
  ##
1706
1529
  # Represents the TestCaseStarted message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1707
- #
1708
-
1709
- #
1710
-
1530
+ ##
1711
1531
  class TestCaseStarted < ::Cucumber::Messages::Message
1712
-
1713
1532
  ##
1714
1533
  # *
1715
1534
  # The first attempt should have value 0, and for each retry the value
1716
1535
  # should increase by 1.
1717
-
1536
+ ##
1718
1537
  attr_reader :attempt
1719
1538
 
1720
1539
  ##
1721
1540
  # *
1722
1541
  # Because a `TestCase` can be run multiple times (in case of a retry),
1723
1542
  # we use this field to group messages relating to the same attempt.
1724
-
1543
+ ##
1725
1544
  attr_reader :id
1726
1545
 
1727
1546
  attr_reader :test_case_id
1728
1547
 
1729
1548
  ##
1730
1549
  # An identifier for the worker process running this test case, if test cases are being run in parallel. The identifier will be unique per worker, but no particular format is defined - it could be an index, uuid, machine name etc - and as such should be assumed that it's not human readable.
1731
-
1550
+ ##
1732
1551
  attr_reader :worker_id
1733
1552
 
1734
1553
  attr_reader :timestamp
@@ -1748,33 +1567,28 @@ module Cucumber
1748
1567
  end
1749
1568
  end
1750
1569
 
1751
-
1752
1570
  ##
1753
1571
  # Represents the TestRunFinished message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1754
- #
1755
-
1756
- #
1757
-
1572
+ ##
1758
1573
  class TestRunFinished < ::Cucumber::Messages::Message
1759
-
1760
1574
  ##
1761
1575
  # An informative message about the test run. Typically additional information about failure, but not necessarily.
1762
-
1576
+ ##
1763
1577
  attr_reader :message
1764
1578
 
1765
1579
  ##
1766
1580
  # A test run is successful if all steps are either passed or skipped, all before/after hooks passed and no other exceptions where thrown.
1767
-
1581
+ ##
1768
1582
  attr_reader :success
1769
1583
 
1770
1584
  ##
1771
1585
  # Timestamp when the TestRun is finished
1772
-
1586
+ ##
1773
1587
  attr_reader :timestamp
1774
1588
 
1775
1589
  ##
1776
1590
  # Any exception thrown during the test run, if any. Does not include exceptions thrown while executing steps.
1777
-
1591
+ ##
1778
1592
  attr_reader :exception
1779
1593
 
1780
1594
  def initialize(
@@ -1790,15 +1604,10 @@ module Cucumber
1790
1604
  end
1791
1605
  end
1792
1606
 
1793
-
1794
1607
  ##
1795
1608
  # Represents the TestRunStarted message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1796
- #
1797
-
1798
- #
1799
-
1609
+ ##
1800
1610
  class TestRunStarted < ::Cucumber::Messages::Message
1801
-
1802
1611
  attr_reader :timestamp
1803
1612
 
1804
1613
  def initialize(
@@ -1808,15 +1617,10 @@ module Cucumber
1808
1617
  end
1809
1618
  end
1810
1619
 
1811
-
1812
1620
  ##
1813
1621
  # Represents the TestStepFinished message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1814
- #
1815
-
1816
- #
1817
-
1622
+ ##
1818
1623
  class TestStepFinished < ::Cucumber::Messages::Message
1819
-
1820
1624
  attr_reader :test_case_started_id
1821
1625
 
1822
1626
  attr_reader :test_step_id
@@ -1838,27 +1642,22 @@ module Cucumber
1838
1642
  end
1839
1643
  end
1840
1644
 
1841
-
1842
1645
  ##
1843
1646
  # Represents the TestStepResult message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1844
- #
1845
-
1846
- #
1847
-
1647
+ ##
1848
1648
  class TestStepResult < ::Cucumber::Messages::Message
1849
-
1850
1649
  attr_reader :duration
1851
1650
 
1852
1651
  ##
1853
1652
  # An arbitrary bit of information that explains this result. This can be a stack trace of anything else.
1854
-
1653
+ ##
1855
1654
  attr_reader :message
1856
1655
 
1857
1656
  attr_reader :status
1858
1657
 
1859
1658
  ##
1860
1659
  # Exception thrown while executing this step, if any.
1861
-
1660
+ ##
1862
1661
  attr_reader :exception
1863
1662
 
1864
1663
  def initialize(
@@ -1874,15 +1673,10 @@ module Cucumber
1874
1673
  end
1875
1674
  end
1876
1675
 
1877
-
1878
1676
  ##
1879
1677
  # Represents the TestStepStarted message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1880
- #
1881
-
1882
- #
1883
-
1678
+ ##
1884
1679
  class TestStepStarted < ::Cucumber::Messages::Message
1885
-
1886
1680
  attr_reader :test_case_started_id
1887
1681
 
1888
1682
  attr_reader :test_step_id
@@ -1900,20 +1694,15 @@ module Cucumber
1900
1694
  end
1901
1695
  end
1902
1696
 
1903
-
1904
1697
  ##
1905
1698
  # Represents the Timestamp message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1906
- #
1907
-
1908
- #
1909
-
1699
+ ##
1910
1700
  class Timestamp < ::Cucumber::Messages::Message
1911
-
1912
1701
  ##
1913
1702
  # Represents seconds of UTC time since Unix epoch
1914
1703
  # 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
1915
1704
  # 9999-12-31T23:59:59Z inclusive.
1916
-
1705
+ ##
1917
1706
  attr_reader :seconds
1918
1707
 
1919
1708
  ##
@@ -1921,7 +1710,7 @@ module Cucumber
1921
1710
  # second values with fractions must still have non-negative nanos values
1922
1711
  # that count forward in time. Must be from 0 to 999,999,999
1923
1712
  # inclusive.
1924
-
1713
+ ##
1925
1714
  attr_reader :nanos
1926
1715
 
1927
1716
  def initialize(
@@ -1933,15 +1722,10 @@ module Cucumber
1933
1722
  end
1934
1723
  end
1935
1724
 
1936
-
1937
1725
  ##
1938
1726
  # Represents the UndefinedParameterType message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1939
- #
1940
-
1941
- #
1942
-
1727
+ ##
1943
1728
  class UndefinedParameterType < ::Cucumber::Messages::Message
1944
-
1945
1729
  attr_reader :expression
1946
1730
 
1947
1731
  attr_reader :name
@@ -1954,7 +1738,6 @@ module Cucumber
1954
1738
  @name = name
1955
1739
  end
1956
1740
  end
1957
-
1958
1741
  end
1959
1742
  end
1960
1743
 
@@ -1997,4 +1780,3 @@ class Cucumber::Messages::TestStepResultStatus
1997
1780
  AMBIGUOUS = 'AMBIGUOUS'
1998
1781
  FAILED = 'FAILED'
1999
1782
  end
2000
-