Class: RSpock::AST::TestMethodDstrTransformation
- Inherits:
-
ASTTransform::AbstractTransformation
- Object
- ASTTransform::AbstractTransformation
- RSpock::AST::TestMethodDstrTransformation
- Defined in:
- lib/rspock/ast/test_method_dstr_transformation.rb
Overview
dstr counterpart of TestMethodDefTransformation: appends the row index and source line interpolations to an already-interpolated test name.
Constant Summary collapse
- ROW_INDEX_AST =
s(:begin, s(:lvar, :__rspock_row_index__))
- ROW_LINE_AST =
s(:begin, s(:lvar, :__rspock_row_line__))
- SPACE_STR_AST =
s(:str, " ")
- LINE_NUMBER_STR_AST =
s(:str, " line ")
Instance Method Summary collapse
Instance Method Details
#on_dstr(node) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/rspock/ast/test_method_dstr_transformation.rb', line 15 def on_dstr(node) children = process_all(node).dup last = children.last if last&.type == :str children[-1] = s(:str, "#{last.children[0]} ") else children << SPACE_STR_AST end children.push(ROW_INDEX_AST, LINE_NUMBER_STR_AST, ROW_LINE_AST) node.updated(nil, children) end |