aboutsummaryrefslogtreecommitdiffstats
path: root/test/prism
diff options
context:
space:
mode:
authorKevin Newton <kddnewton@gmail.com>2023-10-23 14:31:30 -0400
committergit <svn-admin@ruby-lang.org>2023-10-27 13:40:25 +0000
commita8af5d3808535b584b8c0a061f035f5468ba930c (patch)
tree795285a392166c96d7882bfed9a74becbe35c4cf /test/prism
parent9c5b084c0a7ff6e156b7f9d5789f80cd62a06af1 (diff)
downloadruby-a8af5d3808535b584b8c0a061f035f5468ba930c.tar.gz
[ruby/prism] Use MatchWriteNode on split InterpolatedREN
https://github.com/ruby/prism/commit/ee54244800
Diffstat (limited to 'test/prism')
-rw-r--r--test/prism/fixtures/spanning_heredoc.txt4
-rw-r--r--test/prism/snapshots/spanning_heredoc.txt129
2 files changed, 91 insertions, 42 deletions
diff --git a/test/prism/fixtures/spanning_heredoc.txt b/test/prism/fixtures/spanning_heredoc.txt
index d88e0e4be1..c1b9ec72f4 100644
--- a/test/prism/fixtures/spanning_heredoc.txt
+++ b/test/prism/fixtures/spanning_heredoc.txt
@@ -49,3 +49,7 @@ pp <<-A, %I[p\
o
A
p]
+
+<<A; /\
+A
+(?<a>)/ =~ ''
diff --git a/test/prism/snapshots/spanning_heredoc.txt b/test/prism/snapshots/spanning_heredoc.txt
index e568dc2572..f28aeb815a 100644
--- a/test/prism/snapshots/spanning_heredoc.txt
+++ b/test/prism/snapshots/spanning_heredoc.txt
@@ -1,8 +1,8 @@
-@ ProgramNode (location: (4,0)-(51,2))
-├── locals: []
+@ ProgramNode (location: (4,0)-(55,13))
+├── locals: [:a]
└── statements:
- @ StatementsNode (location: (4,0)-(51,2))
- └── body: (length: 8)
+ @ StatementsNode (location: (4,0)-(55,13))
+ └── body: (length: 10)
├── @ CallNode (location: (4,0)-(7,7))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
@@ -270,41 +270,86 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: :pp
- └── @ CallNode (location: (48,0)-(51,2))
- ├── receiver: ∅
- ├── call_operator_loc: ∅
- ├── message_loc: (48,0)-(48,2) = "pp"
- ├── opening_loc: ∅
- ├── arguments:
- │ @ ArgumentsNode (location: (48,3)-(51,2))
- │ ├── arguments: (length: 2)
- │ │ ├── @ StringNode (location: (48,3)-(48,7))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (48,3)-(48,7) = "<<-A"
- │ │ │ ├── content_loc: (49,0)-(50,0) = "o\n"
- │ │ │ ├── closing_loc: (50,0)-(51,0) = "A\n"
- │ │ │ └── unescaped: "o\n"
- │ │ └── @ ArrayNode (location: (48,9)-(51,2))
- │ │ ├── elements: (length: 1)
- │ │ │ └── @ InterpolatedSymbolNode (location: (48,12)-(48,14))
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── parts: (length: 2)
- │ │ │ │ ├── @ SymbolNode (location: (48,12)-(48,14))
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (48,12)-(48,14) = "p\\"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "p\n"
- │ │ │ │ └── @ StringNode (location: (48,12)-(48,14))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (48,12)-(48,14) = "p\\"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "p"
- │ │ │ └── closing_loc: ∅
- │ │ ├── opening_loc: (48,9)-(48,12) = "%I["
- │ │ └── closing_loc: (51,1)-(51,2) = "]"
- │ └── flags: ∅
- ├── closing_loc: ∅
- ├── block: ∅
- ├── flags: ∅
- └── name: :pp
+ ├── @ CallNode (location: (48,0)-(51,2))
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── message_loc: (48,0)-(48,2) = "pp"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (48,3)-(51,2))
+ │ │ ├── arguments: (length: 2)
+ │ │ │ ├── @ StringNode (location: (48,3)-(48,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: (48,3)-(48,7) = "<<-A"
+ │ │ │ │ ├── content_loc: (49,0)-(50,0) = "o\n"
+ │ │ │ │ ├── closing_loc: (50,0)-(51,0) = "A\n"
+ │ │ │ │ └── unescaped: "o\n"
+ │ │ │ └── @ ArrayNode (location: (48,9)-(51,2))
+ │ │ │ ├── elements: (length: 1)
+ │ │ │ │ └── @ InterpolatedSymbolNode (location: (48,12)-(48,14))
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── parts: (length: 2)
+ │ │ │ │ │ ├── @ SymbolNode (location: (48,12)-(48,14))
+ │ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ │ ├── value_loc: (48,12)-(48,14) = "p\\"
+ │ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ │ └── unescaped: "p\n"
+ │ │ │ │ │ └── @ StringNode (location: (48,12)-(48,14))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── content_loc: (48,12)-(48,14) = "p\\"
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── unescaped: "p"
+ │ │ │ │ └── closing_loc: ∅
+ │ │ │ ├── opening_loc: (48,9)-(48,12) = "%I["
+ │ │ │ └── closing_loc: (51,1)-(51,2) = "]"
+ │ │ └── flags: ∅
+ │ ├── closing_loc: ∅
+ │ ├── block: ∅
+ │ ├── flags: ∅
+ │ └── name: :pp
+ ├── @ StringNode (location: (53,0)-(53,3))
+ │ ├── flags: ∅
+ │ ├── opening_loc: (53,0)-(53,3) = "<<A"
+ │ ├── content_loc: (54,0)-(54,0) = ""
+ │ ├── closing_loc: (54,0)-(55,0) = "A\n"
+ │ └── unescaped: ""
+ └── @ MatchWriteNode (location: (53,5)-(55,13))
+ ├── call:
+ │ @ CallNode (location: (53,5)-(55,13))
+ │ ├── receiver:
+ │ │ @ InterpolatedRegularExpressionNode (location: (53,5)-(55,7))
+ │ │ ├── opening_loc: (53,5)-(53,6) = "/"
+ │ │ ├── parts: (length: 2)
+ │ │ │ ├── @ StringNode (location: (53,6)-(53,7))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (53,6)-(53,7) = "\\"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: ""
+ │ │ │ └── @ StringNode (location: (55,0)-(55,6))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (55,0)-(55,6) = "(?<a>)"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "(?<a>)"
+ │ │ ├── closing_loc: (55,6)-(55,7) = "/"
+ │ │ └── flags: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── message_loc: (55,8)-(55,10) = "=~"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (55,11)-(55,13))
+ │ │ ├── arguments: (length: 1)
+ │ │ │ └── @ StringNode (location: (55,11)-(55,13))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (55,11)-(55,12) = "'"
+ │ │ │ ├── content_loc: (55,12)-(55,12) = ""
+ │ │ │ ├── closing_loc: (55,12)-(55,13) = "'"
+ │ │ │ └── unescaped: ""
+ │ │ └── flags: ∅
+ │ ├── closing_loc: ∅
+ │ ├── block: ∅
+ │ ├── flags: ∅
+ │ └── name: :=~
+ └── locals: [:a]