Exception: Cucumber::CucumberExpressions::CucumberExpressionError

Inherits:
StandardError
  • Object
show all
Defined in:
lib/cucumber/cucumber_expressions/errors.rb

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