cucumber-messages 21.0.1 → 23.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,23 +213,20 @@ 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
 
244
232
  def initialize(
@@ -250,7 +238,6 @@ module Cucumber
250
238
  end
251
239
  end
252
240
 
253
-
254
241
  ##
255
242
  # Represents the GherkinDocument message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
256
243
  #
@@ -261,22 +248,20 @@ module Cucumber
261
248
  #
262
249
  # The only consumers of `GherkinDocument` should only be formatters that produce
263
250
  # "rich" output, resembling the original Gherkin document.
264
- #
265
-
251
+ ##
266
252
  class GherkinDocument < ::Cucumber::Messages::Message
267
-
268
253
  ##
269
254
  # *
270
255
  # The [URI](https://en.wikipedia.org/wiki/Uniform_Resource_Identifier)
271
256
  # of the source, typically a file path relative to the root directory
272
-
257
+ ##
273
258
  attr_reader :uri
274
259
 
275
260
  attr_reader :feature
276
261
 
277
262
  ##
278
263
  # All the comments in the Gherkin document
279
-
264
+ ##
280
265
  attr_reader :comments
281
266
 
282
267
  def initialize(
@@ -290,18 +275,13 @@ module Cucumber
290
275
  end
291
276
  end
292
277
 
293
-
294
278
  ##
295
279
  # Represents the Background message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
296
- #
297
-
298
- #
299
-
280
+ ##
300
281
  class Background < ::Cucumber::Messages::Message
301
-
302
282
  ##
303
283
  # The location of the `Background` keyword
304
-
284
+ ##
305
285
  attr_reader :location
306
286
 
307
287
  attr_reader :keyword
@@ -331,24 +311,21 @@ module Cucumber
331
311
  end
332
312
  end
333
313
 
334
-
335
314
  ##
336
315
  # Represents the Comment message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
337
316
  #
338
317
  # *
339
318
  # A comment in a Gherkin document
340
- #
341
-
319
+ ##
342
320
  class Comment < ::Cucumber::Messages::Message
343
-
344
321
  ##
345
322
  # The location of the comment
346
-
323
+ ##
347
324
  attr_reader :location
348
325
 
349
326
  ##
350
327
  # The text of the comment
351
-
328
+ ##
352
329
  attr_reader :text
353
330
 
354
331
  def initialize(
@@ -360,15 +337,10 @@ module Cucumber
360
337
  end
361
338
  end
362
339
 
363
-
364
340
  ##
365
341
  # Represents the DataTable message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
366
- #
367
-
368
- #
369
-
342
+ ##
370
343
  class DataTable < ::Cucumber::Messages::Message
371
-
372
344
  attr_reader :location
373
345
 
374
346
  attr_reader :rows
@@ -382,15 +354,10 @@ module Cucumber
382
354
  end
383
355
  end
384
356
 
385
-
386
357
  ##
387
358
  # Represents the DocString message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
388
- #
389
-
390
- #
391
-
359
+ ##
392
360
  class DocString < ::Cucumber::Messages::Message
393
-
394
361
  attr_reader :location
395
362
 
396
363
  attr_reader :media_type
@@ -412,18 +379,13 @@ module Cucumber
412
379
  end
413
380
  end
414
381
 
415
-
416
382
  ##
417
383
  # Represents the Examples message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
418
- #
419
-
420
- #
421
-
384
+ ##
422
385
  class Examples < ::Cucumber::Messages::Message
423
-
424
386
  ##
425
387
  # The location of the `Examples` keyword
426
-
388
+ ##
427
389
  attr_reader :location
428
390
 
429
391
  attr_reader :tags
@@ -461,48 +423,43 @@ module Cucumber
461
423
  end
462
424
  end
463
425
 
464
-
465
426
  ##
466
427
  # Represents the Feature message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
467
- #
468
-
469
- #
470
-
428
+ ##
471
429
  class Feature < ::Cucumber::Messages::Message
472
-
473
430
  ##
474
431
  # The location of the `Feature` keyword
475
-
432
+ ##
476
433
  attr_reader :location
477
434
 
478
435
  ##
479
436
  # All the tags placed above the `Feature` keyword
480
-
437
+ ##
481
438
  attr_reader :tags
482
439
 
483
440
  ##
484
441
  # The [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1) language code of the Gherkin document
485
-
442
+ ##
486
443
  attr_reader :language
487
444
 
488
445
  ##
489
446
  # The text of the `Feature` keyword (in the language specified by `language`)
490
-
447
+ ##
491
448
  attr_reader :keyword
492
449
 
493
450
  ##
494
451
  # The name of the feature (the text following the `keyword`)
495
-
452
+ ##
496
453
  attr_reader :name
497
454
 
498
455
  ##
499
456
  # The line(s) underneath the line with the `keyword` that are used as description
500
-
457
+ ##
501
458
  attr_reader :description
502
459
 
503
460
  ##
504
461
  # Zero or more children
505
-
462
+ ##
506
463
  attr_reader :children
507
464
 
508
465
  def initialize(
@@ -524,16 +481,13 @@ module Cucumber
524
481
  end
525
482
  end
526
483
 
527
-
528
484
  ##
529
485
  # Represents the FeatureChild message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
530
486
  #
531
487
  # *
532
488
  # A child node of a `Feature` node
533
- #
534
-
489
+ ##
535
490
  class FeatureChild < ::Cucumber::Messages::Message
536
-
537
491
  attr_reader :rule
538
492
 
539
493
  attr_reader :background
@@ -551,23 +505,18 @@ module Cucumber
551
505
  end
552
506
  end
553
507
 
554
-
555
508
  ##
556
509
  # Represents the Rule message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
557
- #
558
-
559
- #
560
-
510
+ ##
561
511
  class Rule < ::Cucumber::Messages::Message
562
-
563
512
  ##
564
513
  # The location of the `Rule` keyword
565
-
514
+ ##
566
515
  attr_reader :location
567
516
 
568
517
  ##
569
518
  # All the tags placed above the `Rule` keyword
570
-
519
+ ##
571
520
  attr_reader :tags
572
521
 
573
522
  attr_reader :keyword
@@ -599,16 +548,13 @@ module Cucumber
599
548
  end
600
549
  end
601
550
 
602
-
603
551
  ##
604
552
  # Represents the RuleChild message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
605
553
  #
606
554
  # *
607
555
  # A child node of a `Rule` node
608
- #
609
-
556
+ ##
610
557
  class RuleChild < ::Cucumber::Messages::Message
611
-
612
558
  attr_reader :background
613
559
 
614
560
  attr_reader :scenario
@@ -622,18 +568,13 @@ module Cucumber
622
568
  end
623
569
  end
624
570
 
625
-
626
571
  ##
627
572
  # Represents the Scenario message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
628
- #
629
-
630
- #
631
-
573
+ ##
632
574
  class Scenario < ::Cucumber::Messages::Message
633
-
634
575
  ##
635
576
  # The location of the `Scenario` keyword
636
-
577
+ ##
637
578
  attr_reader :location
638
579
 
639
580
  attr_reader :tags
@@ -671,28 +612,25 @@ module Cucumber
671
612
  end
672
613
  end
673
614
 
674
-
675
615
  ##
676
616
  # Represents the Step message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
677
617
  #
678
618
  # A step
679
- #
680
-
619
+ ##
681
620
  class Step < ::Cucumber::Messages::Message
682
-
683
621
  ##
684
622
  # The location of the steps' `keyword`
685
-
623
+ ##
686
624
  attr_reader :location
687
625
 
688
626
  ##
689
627
  # The actual keyword as it appeared in the source.
690
-
628
+ ##
691
629
  attr_reader :keyword
692
630
 
693
631
  ##
694
632
  # 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
-
633
+ ##
696
634
  attr_reader :keyword_type
697
635
 
698
636
  attr_reader :text
@@ -703,7 +641,7 @@ module Cucumber
703
641
 
704
642
  ##
705
643
  # Unique ID to be able to reference the Step from PickleStep
706
-
644
+ ##
707
645
  attr_reader :id
708
646
 
709
647
  def initialize(
@@ -725,23 +663,20 @@ module Cucumber
725
663
  end
726
664
  end
727
665
 
728
-
729
666
  ##
730
667
  # Represents the TableCell message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
731
668
  #
732
669
  # A cell in a `TableRow`
733
- #
734
-
670
+ ##
735
671
  class TableCell < ::Cucumber::Messages::Message
736
-
737
672
  ##
738
673
  # The location of the cell
739
-
674
+ ##
740
675
  attr_reader :location
741
676
 
742
677
  ##
743
678
  # The value of the cell
744
-
679
+ ##
745
680
  attr_reader :value
746
681
 
747
682
  def initialize(
@@ -753,23 +688,20 @@ module Cucumber
753
688
  end
754
689
  end
755
690
 
756
-
757
691
  ##
758
692
  # Represents the TableRow message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
759
693
  #
760
694
  # A row in a table
761
- #
762
-
695
+ ##
763
696
  class TableRow < ::Cucumber::Messages::Message
764
-
765
697
  ##
766
698
  # The location of the first cell in the row
767
-
699
+ ##
768
700
  attr_reader :location
769
701
 
770
702
  ##
771
703
  # Cells in the row
772
-
704
+ ##
773
705
  attr_reader :cells
774
706
 
775
707
  attr_reader :id
@@ -785,29 +717,26 @@ module Cucumber
785
717
  end
786
718
  end
787
719
 
788
-
789
720
  ##
790
721
  # Represents the Tag message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
791
722
  #
792
723
  # *
793
724
  # A tag
794
- #
795
-
725
+ ##
796
726
  class Tag < ::Cucumber::Messages::Message
797
-
798
727
  ##
799
728
  # Location of the tag
800
-
729
+ ##
801
730
  attr_reader :location
802
731
 
803
732
  ##
804
733
  # The name of the tag (including the leading `@`)
805
-
734
+ ##
806
735
  attr_reader :name
807
736
 
808
737
  ##
809
738
  # Unique ID to be able to reference the Tag from PickleTag
810
-
739
+ ##
811
740
  attr_reader :id
812
741
 
813
742
  def initialize(
@@ -821,15 +750,10 @@ module Cucumber
821
750
  end
822
751
  end
823
752
 
824
-
825
753
  ##
826
754
  # Represents the Hook message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
827
- #
828
-
829
- #
830
-
755
+ ##
831
756
  class Hook < ::Cucumber::Messages::Message
832
-
833
757
  attr_reader :id
834
758
 
835
759
  attr_reader :name
@@ -851,16 +775,13 @@ module Cucumber
851
775
  end
852
776
  end
853
777
 
854
-
855
778
  ##
856
779
  # Represents the Location message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
857
780
  #
858
781
  # *
859
782
  # Points to a line and a column in a text file
860
- #
861
-
783
+ ##
862
784
  class Location < ::Cucumber::Messages::Message
863
-
864
785
  attr_reader :line
865
786
 
866
787
  attr_reader :column
@@ -874,41 +795,38 @@ module Cucumber
874
795
  end
875
796
  end
876
797
 
877
-
878
798
  ##
879
799
  # Represents the Meta message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
880
800
  #
881
801
  # *
882
802
  # This message contains meta information about the environment. Consumers can use
883
803
  # this for various purposes.
884
- #
885
-
804
+ ##
886
805
  class Meta < ::Cucumber::Messages::Message
887
-
888
806
  ##
889
807
  # *
890
808
  # The [SEMVER](https://semver.org/) version number of the protocol
891
-
809
+ ##
892
810
  attr_reader :protocol_version
893
811
 
894
812
  ##
895
813
  # SpecFlow, Cucumber-JVM, Cucumber.js, Cucumber-Ruby, Behat etc.
896
-
814
+ ##
897
815
  attr_reader :implementation
898
816
 
899
817
  ##
900
818
  # Java, Ruby, Node.js etc
901
-
819
+ ##
902
820
  attr_reader :runtime
903
821
 
904
822
  ##
905
823
  # Windows, Linux, MacOS etc
906
-
824
+ ##
907
825
  attr_reader :os
908
826
 
909
827
  ##
910
828
  # 386, arm, amd64 etc
911
-
829
+ ##
912
830
  attr_reader :cpu
913
831
 
914
832
  attr_reader :ci
@@ -930,28 +848,25 @@ module Cucumber
930
848
  end
931
849
  end
932
850
 
933
-
934
851
  ##
935
852
  # Represents the Ci message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
936
853
  #
937
854
  # CI environment
938
- #
939
-
855
+ ##
940
856
  class Ci < ::Cucumber::Messages::Message
941
-
942
857
  ##
943
858
  # Name of the CI product, e.g. "Jenkins", "CircleCI" etc.
944
-
859
+ ##
945
860
  attr_reader :name
946
861
 
947
862
  ##
948
863
  # Link to the build
949
-
864
+ ##
950
865
  attr_reader :url
951
866
 
952
867
  ##
953
868
  # The build number. Some CI servers use non-numeric build numbers, which is why this is a string
954
-
869
+ ##
955
870
  attr_reader :build_number
956
871
 
957
872
  attr_reader :git
@@ -969,16 +884,13 @@ module Cucumber
969
884
  end
970
885
  end
971
886
 
972
-
973
887
  ##
974
888
  # Represents the Git message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
975
889
  #
976
890
  # Information about Git, provided by the Build/CI server as environment
977
891
  # variables.
978
- #
979
-
892
+ ##
980
893
  class Git < ::Cucumber::Messages::Message
981
-
982
894
  attr_reader :remote
983
895
 
984
896
  attr_reader :revision
@@ -1000,23 +912,20 @@ module Cucumber
1000
912
  end
1001
913
  end
1002
914
 
1003
-
1004
915
  ##
1005
916
  # Represents the Product message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1006
917
  #
1007
918
  # Used to describe various properties of Meta
1008
- #
1009
-
919
+ ##
1010
920
  class Product < ::Cucumber::Messages::Message
1011
-
1012
921
  ##
1013
922
  # The product name
1014
-
923
+ ##
1015
924
  attr_reader :name
1016
925
 
1017
926
  ##
1018
927
  # The product version
1019
-
928
+ ##
1020
929
  attr_reader :version
1021
930
 
1022
931
  def initialize(
@@ -1028,18 +937,13 @@ module Cucumber
1028
937
  end
1029
938
  end
1030
939
 
1031
-
1032
940
  ##
1033
941
  # Represents the ParameterType message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1034
- #
1035
-
1036
- #
1037
-
942
+ ##
1038
943
  class ParameterType < ::Cucumber::Messages::Message
1039
-
1040
944
  ##
1041
945
  # The name is unique, so we don't need an id.
1042
-
946
+ ##
1043
947
  attr_reader :name
1044
948
 
1045
949
  attr_reader :regular_expressions
@@ -1050,30 +954,29 @@ module Cucumber
1050
954
 
1051
955
  attr_reader :id
1052
956
 
957
+ attr_reader :source_reference
958
+
1053
959
  def initialize(
1054
960
  name: '',
1055
961
  regular_expressions: [],
1056
962
  prefer_for_regular_expression_match: false,
1057
963
  use_for_snippets: false,
1058
- id: ''
964
+ id: '',
965
+ source_reference: nil
1059
966
  )
1060
967
  @name = name
1061
968
  @regular_expressions = regular_expressions
1062
969
  @prefer_for_regular_expression_match = prefer_for_regular_expression_match
1063
970
  @use_for_snippets = use_for_snippets
1064
971
  @id = id
972
+ @source_reference = source_reference
1065
973
  end
1066
974
  end
1067
975
 
1068
-
1069
976
  ##
1070
977
  # Represents the ParseError message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1071
- #
1072
-
1073
- #
1074
-
978
+ ##
1075
979
  class ParseError < ::Cucumber::Messages::Message
1076
-
1077
980
  attr_reader :source
1078
981
 
1079
982
  attr_reader :message
@@ -1087,7 +990,6 @@ module Cucumber
1087
990
  end
1088
991
  end
1089
992
 
1090
-
1091
993
  ##
1092
994
  # Represents the Pickle message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1093
995
  #
@@ -1104,41 +1006,39 @@ module Cucumber
1104
1006
  # with the complex structure of a [GherkinDocument](#io.cucumber.messages.GherkinDocument).
1105
1007
  #
1106
1008
  # Each `PickleStep` of a `Pickle` is matched with a `StepDefinition` to create a `TestCase`
1107
- #
1108
-
1009
+ ##
1109
1010
  class Pickle < ::Cucumber::Messages::Message
1110
-
1111
1011
  ##
1112
1012
  # *
1113
1013
  # A unique id for the pickle
1114
-
1014
+ ##
1115
1015
  attr_reader :id
1116
1016
 
1117
1017
  ##
1118
1018
  # The uri of the source file
1119
-
1019
+ ##
1120
1020
  attr_reader :uri
1121
1021
 
1122
1022
  ##
1123
1023
  # The name of the pickle
1124
-
1024
+ ##
1125
1025
  attr_reader :name
1126
1026
 
1127
1027
  ##
1128
1028
  # The language of the pickle
1129
-
1029
+ ##
1130
1030
  attr_reader :language
1131
1031
 
1132
1032
  ##
1133
1033
  # One or more steps
1134
-
1034
+ ##
1135
1035
  attr_reader :steps
1136
1036
 
1137
1037
  ##
1138
1038
  # *
1139
1039
  # One or more tags. If this pickle is constructed from a Gherkin document,
1140
1040
  # It includes inherited tags from the `Feature` as well.
1141
-
1041
+ ##
1142
1042
  attr_reader :tags
1143
1043
 
1144
1044
  ##
@@ -1146,7 +1046,7 @@ module Cucumber
1146
1046
  # Points to the AST node locations of the pickle. The last one represents the unique
1147
1047
  # id of the pickle. A pickle constructed from `Examples` will have the first
1148
1048
  # id originating from the `Scenario` AST node, and the second from the `TableRow` AST node.
1149
-
1049
+ ##
1150
1050
  attr_reader :ast_node_ids
1151
1051
 
1152
1052
  def initialize(
@@ -1168,15 +1068,10 @@ module Cucumber
1168
1068
  end
1169
1069
  end
1170
1070
 
1171
-
1172
1071
  ##
1173
1072
  # Represents the PickleDocString message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1174
- #
1175
-
1176
- #
1177
-
1073
+ ##
1178
1074
  class PickleDocString < ::Cucumber::Messages::Message
1179
-
1180
1075
  attr_reader :media_type
1181
1076
 
1182
1077
  attr_reader :content
@@ -1190,34 +1085,31 @@ module Cucumber
1190
1085
  end
1191
1086
  end
1192
1087
 
1193
-
1194
1088
  ##
1195
1089
  # Represents the PickleStep message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1196
1090
  #
1197
1091
  # *
1198
1092
  # An executable step
1199
- #
1200
-
1093
+ ##
1201
1094
  class PickleStep < ::Cucumber::Messages::Message
1202
-
1203
1095
  attr_reader :argument
1204
1096
 
1205
1097
  ##
1206
1098
  # References the IDs of the source of the step. For Gherkin, this can be
1207
1099
  # the ID of a Step, and possibly also the ID of a TableRow
1208
-
1100
+ ##
1209
1101
  attr_reader :ast_node_ids
1210
1102
 
1211
1103
  ##
1212
1104
  # A unique ID for the PickleStep
1213
-
1105
+ ##
1214
1106
  attr_reader :id
1215
1107
 
1216
1108
  ##
1217
1109
  # The context in which the step was specified: context (Given), action (When) or outcome (Then).
1218
1110
  #
1219
1111
  # Note that the keywords `But` and `And` inherit their meaning from prior steps and the `*` 'keyword' doesn't have specific meaning (hence Unknown)
1220
-
1112
+ ##
1221
1113
  attr_reader :type
1222
1114
 
1223
1115
  attr_reader :text
@@ -1237,15 +1129,12 @@ module Cucumber
1237
1129
  end
1238
1130
  end
1239
1131
 
1240
-
1241
1132
  ##
1242
1133
  # Represents the PickleStepArgument message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1243
1134
  #
1244
1135
  # An optional argument
1245
- #
1246
-
1136
+ ##
1247
1137
  class PickleStepArgument < ::Cucumber::Messages::Message
1248
-
1249
1138
  attr_reader :doc_string
1250
1139
 
1251
1140
  attr_reader :data_table
@@ -1259,15 +1148,10 @@ module Cucumber
1259
1148
  end
1260
1149
  end
1261
1150
 
1262
-
1263
1151
  ##
1264
1152
  # Represents the PickleTable message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1265
- #
1266
-
1267
- #
1268
-
1153
+ ##
1269
1154
  class PickleTable < ::Cucumber::Messages::Message
1270
-
1271
1155
  attr_reader :rows
1272
1156
 
1273
1157
  def initialize(
@@ -1277,15 +1161,10 @@ module Cucumber
1277
1161
  end
1278
1162
  end
1279
1163
 
1280
-
1281
1164
  ##
1282
1165
  # Represents the PickleTableCell message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1283
- #
1284
-
1285
- #
1286
-
1166
+ ##
1287
1167
  class PickleTableCell < ::Cucumber::Messages::Message
1288
-
1289
1168
  attr_reader :value
1290
1169
 
1291
1170
  def initialize(
@@ -1295,15 +1174,10 @@ module Cucumber
1295
1174
  end
1296
1175
  end
1297
1176
 
1298
-
1299
1177
  ##
1300
1178
  # Represents the PickleTableRow message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1301
- #
1302
-
1303
- #
1304
-
1179
+ ##
1305
1180
  class PickleTableRow < ::Cucumber::Messages::Message
1306
-
1307
1181
  attr_reader :cells
1308
1182
 
1309
1183
  def initialize(
@@ -1313,21 +1187,18 @@ module Cucumber
1313
1187
  end
1314
1188
  end
1315
1189
 
1316
-
1317
1190
  ##
1318
1191
  # Represents the PickleTag message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1319
1192
  #
1320
1193
  # *
1321
1194
  # A tag
1322
- #
1323
-
1195
+ ##
1324
1196
  class PickleTag < ::Cucumber::Messages::Message
1325
-
1326
1197
  attr_reader :name
1327
1198
 
1328
1199
  ##
1329
1200
  # Points to the AST node this was created from
1330
-
1201
+ ##
1331
1202
  attr_reader :ast_node_id
1332
1203
 
1333
1204
  def initialize(
@@ -1339,7 +1210,6 @@ module Cucumber
1339
1210
  end
1340
1211
  end
1341
1212
 
1342
-
1343
1213
  ##
1344
1214
  # Represents the Source message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1345
1215
  #
@@ -1347,26 +1217,24 @@ module Cucumber
1347
1217
  #
1348
1218
  # *
1349
1219
  # A source file, typically a Gherkin document or Java/Ruby/JavaScript source code
1350
- #
1351
-
1220
+ ##
1352
1221
  class Source < ::Cucumber::Messages::Message
1353
-
1354
1222
  ##
1355
1223
  # *
1356
1224
  # The [URI](https://en.wikipedia.org/wiki/Uniform_Resource_Identifier)
1357
1225
  # of the source, typically a file path relative to the root directory
1358
-
1226
+ ##
1359
1227
  attr_reader :uri
1360
1228
 
1361
1229
  ##
1362
1230
  # The contents of the file
1363
-
1231
+ ##
1364
1232
  attr_reader :data
1365
1233
 
1366
1234
  ##
1367
1235
  # The media type of the file. Can be used to specify custom types, such as
1368
1236
  # text/x.cucumber.gherkin+plain
1369
-
1237
+ ##
1370
1238
  attr_reader :media_type
1371
1239
 
1372
1240
  def initialize(
@@ -1380,17 +1248,14 @@ module Cucumber
1380
1248
  end
1381
1249
  end
1382
1250
 
1383
-
1384
1251
  ##
1385
1252
  # Represents the SourceReference message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1386
1253
  #
1387
1254
  # *
1388
1255
  # Points to a [Source](#io.cucumber.messages.Source) identified by `uri` and a
1389
1256
  # [Location](#io.cucumber.messages.Location) within that file.
1390
- #
1391
-
1257
+ ##
1392
1258
  class SourceReference < ::Cucumber::Messages::Message
1393
-
1394
1259
  attr_reader :uri
1395
1260
 
1396
1261
  attr_reader :java_method
@@ -1412,15 +1277,10 @@ module Cucumber
1412
1277
  end
1413
1278
  end
1414
1279
 
1415
-
1416
1280
  ##
1417
1281
  # Represents the JavaMethod message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1418
- #
1419
-
1420
- #
1421
-
1282
+ ##
1422
1283
  class JavaMethod < ::Cucumber::Messages::Message
1423
-
1424
1284
  attr_reader :class_name
1425
1285
 
1426
1286
  attr_reader :method_name
@@ -1438,15 +1298,10 @@ module Cucumber
1438
1298
  end
1439
1299
  end
1440
1300
 
1441
-
1442
1301
  ##
1443
1302
  # Represents the JavaStackTraceElement message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1444
- #
1445
-
1446
- #
1447
-
1303
+ ##
1448
1304
  class JavaStackTraceElement < ::Cucumber::Messages::Message
1449
-
1450
1305
  attr_reader :class_name
1451
1306
 
1452
1307
  attr_reader :file_name
@@ -1464,15 +1319,10 @@ module Cucumber
1464
1319
  end
1465
1320
  end
1466
1321
 
1467
-
1468
1322
  ##
1469
1323
  # Represents the StepDefinition message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1470
- #
1471
-
1472
- #
1473
-
1324
+ ##
1474
1325
  class StepDefinition < ::Cucumber::Messages::Message
1475
-
1476
1326
  attr_reader :id
1477
1327
 
1478
1328
  attr_reader :pattern
@@ -1490,15 +1340,10 @@ module Cucumber
1490
1340
  end
1491
1341
  end
1492
1342
 
1493
-
1494
1343
  ##
1495
1344
  # Represents the StepDefinitionPattern message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1496
- #
1497
-
1498
- #
1499
-
1345
+ ##
1500
1346
  class StepDefinitionPattern < ::Cucumber::Messages::Message
1501
-
1502
1347
  attr_reader :source
1503
1348
 
1504
1349
  attr_reader :type
@@ -1512,7 +1357,6 @@ module Cucumber
1512
1357
  end
1513
1358
  end
1514
1359
 
1515
-
1516
1360
  ##
1517
1361
  # Represents the TestCase message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1518
1362
  #
@@ -1520,15 +1364,13 @@ module Cucumber
1520
1364
  #
1521
1365
  # *
1522
1366
  # A `TestCase` contains a sequence of `TestStep`s.
1523
- #
1524
-
1367
+ ##
1525
1368
  class TestCase < ::Cucumber::Messages::Message
1526
-
1527
1369
  attr_reader :id
1528
1370
 
1529
1371
  ##
1530
1372
  # The ID of the `Pickle` this `TestCase` is derived from.
1531
-
1373
+ ##
1532
1374
  attr_reader :pickle_id
1533
1375
 
1534
1376
  attr_reader :test_steps
@@ -1544,15 +1386,10 @@ module Cucumber
1544
1386
  end
1545
1387
  end
1546
1388
 
1547
-
1548
1389
  ##
1549
1390
  # Represents the Group message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1550
- #
1551
-
1552
- #
1553
-
1391
+ ##
1554
1392
  class Group < ::Cucumber::Messages::Message
1555
-
1556
1393
  attr_reader :children
1557
1394
 
1558
1395
  attr_reader :start
@@ -1570,7 +1407,6 @@ module Cucumber
1570
1407
  end
1571
1408
  end
1572
1409
 
1573
-
1574
1410
  ##
1575
1411
  # Represents the StepMatchArgument message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1576
1412
  #
@@ -1581,15 +1417,13 @@ module Cucumber
1581
1417
  # - Highlight the matched parameter in rich formatters such as the HTML formatter
1582
1418
  #
1583
1419
  # This message closely matches the `Argument` class in the `cucumber-expressions` library.
1584
- #
1585
-
1420
+ ##
1586
1421
  class StepMatchArgument < ::Cucumber::Messages::Message
1587
-
1588
1422
  ##
1589
1423
  # *
1590
1424
  # Represents the outermost capture group of an argument. This message closely matches the
1591
1425
  # `Group` class in the `cucumber-expressions` library.
1592
-
1426
+ ##
1593
1427
  attr_reader :group
1594
1428
 
1595
1429
  attr_reader :parameter_type_name
@@ -1603,15 +1437,10 @@ module Cucumber
1603
1437
  end
1604
1438
  end
1605
1439
 
1606
-
1607
1440
  ##
1608
1441
  # Represents the StepMatchArgumentsList message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1609
- #
1610
-
1611
- #
1612
-
1442
+ ##
1613
1443
  class StepMatchArgumentsList < ::Cucumber::Messages::Message
1614
-
1615
1444
  attr_reader :step_match_arguments
1616
1445
 
1617
1446
  def initialize(
@@ -1621,39 +1450,36 @@ module Cucumber
1621
1450
  end
1622
1451
  end
1623
1452
 
1624
-
1625
1453
  ##
1626
1454
  # Represents the TestStep message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1627
1455
  #
1628
1456
  # *
1629
1457
  # A `TestStep` is derived from either a `PickleStep`
1630
1458
  # combined with a `StepDefinition`, or from a `Hook`.
1631
- #
1632
-
1459
+ ##
1633
1460
  class TestStep < ::Cucumber::Messages::Message
1634
-
1635
1461
  ##
1636
1462
  # Pointer to the `Hook` (if derived from a Hook)
1637
-
1463
+ ##
1638
1464
  attr_reader :hook_id
1639
1465
 
1640
1466
  attr_reader :id
1641
1467
 
1642
1468
  ##
1643
1469
  # Pointer to the `PickleStep` (if derived from a `PickleStep`)
1644
-
1470
+ ##
1645
1471
  attr_reader :pickle_step_id
1646
1472
 
1647
1473
  ##
1648
1474
  # Pointer to all the matching `StepDefinition`s (if derived from a `PickleStep`)
1649
-
1475
+ ##
1650
1476
  attr_reader :step_definition_ids
1651
1477
 
1652
1478
  ##
1653
1479
  # A list of list of StepMatchArgument (if derived from a `PickleStep`).
1654
1480
  # Each element represents a matching step definition. A size of 0 means `UNDEFINED`,
1655
1481
  # and a size of 2+ means `AMBIGUOUS`
1656
-
1482
+ ##
1657
1483
  attr_reader :step_match_arguments_lists
1658
1484
 
1659
1485
  def initialize(
@@ -1671,15 +1497,10 @@ module Cucumber
1671
1497
  end
1672
1498
  end
1673
1499
 
1674
-
1675
1500
  ##
1676
1501
  # Represents the TestCaseFinished message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1677
- #
1678
-
1679
- #
1680
-
1502
+ ##
1681
1503
  class TestCaseFinished < ::Cucumber::Messages::Message
1682
-
1683
1504
  attr_reader :test_case_started_id
1684
1505
 
1685
1506
  attr_reader :timestamp
@@ -1697,34 +1518,29 @@ module Cucumber
1697
1518
  end
1698
1519
  end
1699
1520
 
1700
-
1701
1521
  ##
1702
1522
  # Represents the TestCaseStarted message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1703
- #
1704
-
1705
- #
1706
-
1523
+ ##
1707
1524
  class TestCaseStarted < ::Cucumber::Messages::Message
1708
-
1709
1525
  ##
1710
1526
  # *
1711
1527
  # The first attempt should have value 0, and for each retry the value
1712
1528
  # should increase by 1.
1713
-
1529
+ ##
1714
1530
  attr_reader :attempt
1715
1531
 
1716
1532
  ##
1717
1533
  # *
1718
1534
  # Because a `TestCase` can be run multiple times (in case of a retry),
1719
1535
  # we use this field to group messages relating to the same attempt.
1720
-
1536
+ ##
1721
1537
  attr_reader :id
1722
1538
 
1723
1539
  attr_reader :test_case_id
1724
1540
 
1725
1541
  ##
1726
1542
  # 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.
1727
-
1543
+ ##
1728
1544
  attr_reader :worker_id
1729
1545
 
1730
1546
  attr_reader :timestamp
@@ -1744,33 +1560,28 @@ module Cucumber
1744
1560
  end
1745
1561
  end
1746
1562
 
1747
-
1748
1563
  ##
1749
1564
  # Represents the TestRunFinished message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1750
- #
1751
-
1752
- #
1753
-
1565
+ ##
1754
1566
  class TestRunFinished < ::Cucumber::Messages::Message
1755
-
1756
1567
  ##
1757
1568
  # An informative message about the test run. Typically additional information about failure, but not necessarily.
1758
-
1569
+ ##
1759
1570
  attr_reader :message
1760
1571
 
1761
1572
  ##
1762
1573
  # A test run is successful if all steps are either passed or skipped, all before/after hooks passed and no other exceptions where thrown.
1763
-
1574
+ ##
1764
1575
  attr_reader :success
1765
1576
 
1766
1577
  ##
1767
1578
  # Timestamp when the TestRun is finished
1768
-
1579
+ ##
1769
1580
  attr_reader :timestamp
1770
1581
 
1771
1582
  ##
1772
1583
  # Any exception thrown during the test run, if any. Does not include exceptions thrown while executing steps.
1773
-
1584
+ ##
1774
1585
  attr_reader :exception
1775
1586
 
1776
1587
  def initialize(
@@ -1786,15 +1597,10 @@ module Cucumber
1786
1597
  end
1787
1598
  end
1788
1599
 
1789
-
1790
1600
  ##
1791
1601
  # Represents the TestRunStarted message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1792
- #
1793
-
1794
- #
1795
-
1602
+ ##
1796
1603
  class TestRunStarted < ::Cucumber::Messages::Message
1797
-
1798
1604
  attr_reader :timestamp
1799
1605
 
1800
1606
  def initialize(
@@ -1804,15 +1610,10 @@ module Cucumber
1804
1610
  end
1805
1611
  end
1806
1612
 
1807
-
1808
1613
  ##
1809
1614
  # Represents the TestStepFinished message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1810
- #
1811
-
1812
- #
1813
-
1615
+ ##
1814
1616
  class TestStepFinished < ::Cucumber::Messages::Message
1815
-
1816
1617
  attr_reader :test_case_started_id
1817
1618
 
1818
1619
  attr_reader :test_step_id
@@ -1834,27 +1635,22 @@ module Cucumber
1834
1635
  end
1835
1636
  end
1836
1637
 
1837
-
1838
1638
  ##
1839
1639
  # Represents the TestStepResult message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1840
- #
1841
-
1842
- #
1843
-
1640
+ ##
1844
1641
  class TestStepResult < ::Cucumber::Messages::Message
1845
-
1846
1642
  attr_reader :duration
1847
1643
 
1848
1644
  ##
1849
1645
  # An arbitrary bit of information that explains this result. This can be a stack trace of anything else.
1850
-
1646
+ ##
1851
1647
  attr_reader :message
1852
1648
 
1853
1649
  attr_reader :status
1854
1650
 
1855
1651
  ##
1856
1652
  # Exception thrown while executing this step, if any.
1857
-
1653
+ ##
1858
1654
  attr_reader :exception
1859
1655
 
1860
1656
  def initialize(
@@ -1870,15 +1666,10 @@ module Cucumber
1870
1666
  end
1871
1667
  end
1872
1668
 
1873
-
1874
1669
  ##
1875
1670
  # Represents the TestStepStarted message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1876
- #
1877
-
1878
- #
1879
-
1671
+ ##
1880
1672
  class TestStepStarted < ::Cucumber::Messages::Message
1881
-
1882
1673
  attr_reader :test_case_started_id
1883
1674
 
1884
1675
  attr_reader :test_step_id
@@ -1896,20 +1687,15 @@ module Cucumber
1896
1687
  end
1897
1688
  end
1898
1689
 
1899
-
1900
1690
  ##
1901
1691
  # Represents the Timestamp message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1902
- #
1903
-
1904
- #
1905
-
1692
+ ##
1906
1693
  class Timestamp < ::Cucumber::Messages::Message
1907
-
1908
1694
  ##
1909
1695
  # Represents seconds of UTC time since Unix epoch
1910
1696
  # 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
1911
1697
  # 9999-12-31T23:59:59Z inclusive.
1912
-
1698
+ ##
1913
1699
  attr_reader :seconds
1914
1700
 
1915
1701
  ##
@@ -1917,7 +1703,7 @@ module Cucumber
1917
1703
  # second values with fractions must still have non-negative nanos values
1918
1704
  # that count forward in time. Must be from 0 to 999,999,999
1919
1705
  # inclusive.
1920
-
1706
+ ##
1921
1707
  attr_reader :nanos
1922
1708
 
1923
1709
  def initialize(
@@ -1929,15 +1715,10 @@ module Cucumber
1929
1715
  end
1930
1716
  end
1931
1717
 
1932
-
1933
1718
  ##
1934
1719
  # Represents the UndefinedParameterType message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
1935
- #
1936
-
1937
- #
1938
-
1720
+ ##
1939
1721
  class UndefinedParameterType < ::Cucumber::Messages::Message
1940
-
1941
1722
  attr_reader :expression
1942
1723
 
1943
1724
  attr_reader :name
@@ -1950,7 +1731,6 @@ module Cucumber
1950
1731
  @name = name
1951
1732
  end
1952
1733
  end
1953
-
1954
1734
  end
1955
1735
  end
1956
1736
 
@@ -1993,4 +1773,3 @@ class Cucumber::Messages::TestStepResultStatus
1993
1773
  AMBIGUOUS = 'AMBIGUOUS'
1994
1774
  FAILED = 'FAILED'
1995
1775
  end
1996
-