Class: Cucumber::Core::Test::DocString

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/cucumber-core-11.0.0/lib/cucumber/core/test/doc_string.rb

Overview

Represents an inline argument in a step. Example:

Given the message
  """
  I like
  Cucumber sandwich
  """

The text between the pair of """ is stored inside a DocString, which is yielded to the StepDefinition block as the last argument.

The StepDefinition can then access the String via the #to_s method. In the example above, that would return: "I like\nCucumber sandwich"

Note how the indentation from the source is stripped away.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(content, content_type) ⇒ DocString

Returns a new instance of DocString.



25
26
27
28
29
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/cucumber-core-11.0.0/lib/cucumber/core/test/doc_string.rb', line 25

def initialize(content, content_type)
  @content = content
  @content_type = content_type
  super @content
end

Instance Attribute Details

#contentObject (readonly)

Returns the value of attribute content.



23
24
25
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/cucumber-core-11.0.0/lib/cucumber/core/test/doc_string.rb', line 23

def content
  @content
end

#content_typeObject (readonly)

Returns the value of attribute content_type.



23
24
25
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/cucumber-core-11.0.0/lib/cucumber/core/test/doc_string.rb', line 23

def content_type
  @content_type
end

Instance Method Details

#==(other) ⇒ Object



53
54
55
56
57
58
59
60
61
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/cucumber-core-11.0.0/lib/cucumber/core/test/doc_string.rb', line 53

def ==(other)
  if other.respond_to?(:content_type)
    return false unless content_type == other.content_type
  end
  if other.respond_to?(:to_str)
    return content == other.to_str
  end
  false
end

#data_table?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/cucumber-core-11.0.0/lib/cucumber/core/test/doc_string.rb', line 35

def data_table?
  false
end

#describe_to(visitor, *args) ⇒ Object



31
32
33
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/cucumber-core-11.0.0/lib/cucumber/core/test/doc_string.rb', line 31

def describe_to(visitor, *args)
  visitor.doc_string(self, *args)
end

#doc_string?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/cucumber-core-11.0.0/lib/cucumber/core/test/doc_string.rb', line 39

def doc_string?
  true
end

#inspectObject



63
64
65
66
67
68
69
70
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/cucumber-core-11.0.0/lib/cucumber/core/test/doc_string.rb', line 63

def inspect
  [
    %{#<#{self.class}},
    %{  """#{content_type}},
    %{  #{@content}},
    %{  """>}
  ].join("\n")
end

#mapObject

Raises:

  • (ArgumentError)


43
44
45
46
47
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/cucumber-core-11.0.0/lib/cucumber/core/test/doc_string.rb', line 43

def map
  raise ArgumentError, "No block given" unless block_given?
  new_content = yield content
  self.class.new(new_content, content_type)
end

#to_step_definition_argObject



49
50
51
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/cucumber-core-11.0.0/lib/cucumber/core/test/doc_string.rb', line 49

def to_step_definition_arg
  self
end