Exception: Cucumber::CucumberExpressions::CucumberExpressionError
- Inherits:
-
StandardError
- Object
- StandardError
- Cucumber::CucumberExpressions::CucumberExpressionError
show all
- Defined in:
- lib/cucumber/cucumber_expressions/errors.rb
Direct Known Subclasses
AlternationNotAllowedInOptional, AlternativeMayNotBeEmpty, AlternativeMayNotExclusivelyContainOptionals, AmbiguousParameterTypeError, CantEscape, InvalidParameterTypeName, InvalidParameterTypeNameInNode, MissingEndToken, OptionalIsNotAllowedInOptional, OptionalMayNotBeEmpty, ParameterIsNotAllowedInOptional, TheEndOfLineCannotBeEscaped, UndefinedParameterTypeError
Instance Method Summary
collapse
Instance Method Details
#build_message(index, expression, pointer, problem, solution) ⇒ Object
8
9
10
11
12
13
14
15
16
17
18
|
# File 'lib/cucumber/cucumber_expressions/errors.rb', line 8
def build_message(index, expression, pointer, problem, solution)
m = <<~ERROR
This Cucumber Expression has a problem at column #{index + 1}:
#{expression}
#{pointer}
#{problem}.
#{solution}
ERROR
m.strip
end
|
#point_at(index) ⇒ Object
20
21
22
|
# File 'lib/cucumber/cucumber_expressions/errors.rb', line 20
def point_at(index)
' ' * index + '^'
end
|
#point_at_located(node) ⇒ Object
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/cucumber/cucumber_expressions/errors.rb', line 24
def point_at_located(node)
pointer = [point_at(node.start)]
if node.start + 1 < node.end
for _ in node.start + 1...node.end - 1
pointer.push('-')
end
pointer.push('^')
end
pointer.join('')
end
|