Class: Cucumber::Formatter::MessageBuilder
- Inherits:
-
Object
- Object
- Cucumber::Formatter::MessageBuilder
- Includes:
- Messages::TimeConversion
- Defined in:
- lib/cucumber/formatter/message_builder.rb
Instance Method Summary collapse
- #attach(src, media_type, filename) ⇒ Object
-
#initialize(config) ⇒ MessageBuilder
constructor
A new instance of MessageBuilder.
- #output_message ⇒ Object
Constructor Details
#initialize(config) ⇒ MessageBuilder
Returns a new instance of MessageBuilder.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/cucumber/formatter/message_builder.rb', line 16 def initialize(config) @config = config @hook_by_test_step = Query::HookByTestStep.new(config) @pickle_by_test = Query::PickleByTest.new(config) @pickle_step_by_test_step = Query::PickleStepByTestStep.new(config) @step_definitions_by_test_step = Query::StepDefinitionsByTestStep.new(config) @test_case_started_by_test_case = Query::TestCaseStartedByTestCase.new(config) config.on_event :envelope, &method(:on_envelope) config.on_event :gherkin_source_read, &method(:on_gherkin_source_read) config.on_event :test_case_ready, &method(:on_test_case_ready) config.on_event :test_run_started, &method(:on_test_run_started) config.on_event :test_case_started, &method(:on_test_case_started) config.on_event :test_step_started, &method(:on_test_step_started) config.on_event :test_step_finished, &method(:on_test_step_finished) config.on_event :test_case_finished, &method(:on_test_case_finished) config.on_event :test_run_finished, &method(:on_test_run_finished) config.on_event :undefined_parameter_type, &method(:on_undefined_parameter_type) @test_case_by_step_id = {} @current_test_case_started_id = nil @current_test_step_id = nil end |
Instance Method Details
#attach(src, media_type, filename) ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/cucumber/formatter/message_builder.rb', line 45 def attach(src, media_type, filename) = { test_step_id: @current_test_step_id, test_case_started_id: @current_test_case_started_id, media_type: media_type, file_name: filename } if media_type.start_with?('text/') [:content_encoding] = Cucumber::Messages::AttachmentContentEncoding::IDENTITY [:body] = src else body = src.respond_to?(:read) ? src.read : src [:content_encoding] = Cucumber::Messages::AttachmentContentEncoding::BASE64 [:body] = Base64.strict_encode64(body) end = Cucumber::Messages::Envelope.new( attachment: Cucumber::Messages::Attachment.new(**) ) output_envelope() end |
#output_message ⇒ Object
41 42 43 |
# File 'lib/cucumber/formatter/message_builder.rb', line 41 def raise 'To be implemented' end |