89
89
@TK ::TkIDENTIFIER . new ( 4 , 1 , 4 , 'x' ) ,
90
90
@TK ::TkNL . new ( 5 , 1 , 5 , "\n " ) ,
91
91
@TK ::TkSPACE . new ( 6 , 2 , 0 , ' ' ) ,
92
- @TK ::TkHEREDOC . new ( 8 , 2 , 2 ,
93
- %Q{<<E\n Line 1\n Line 2\n E} ) ,
94
- @TK ::TkNL . new ( 27 , 5 , 28 , "\n " ) ,
92
+
93
+ @TK ::TkHEREDOCBEG . new ( 8 , 2 , 2 , '<<E' ) ,
94
+ @TK ::TkNL . new ( 11 , 2 , 6 , "\n " ) ,
95
+ @TK ::TkHEREDOC . new ( 11 , 2 , 6 , "Line 1\n Line 2\n " ) ,
96
+ @TK ::TkHEREDOCEND . new ( 27 , 5 , 26 , "E\n " ) ,
95
97
@TK ::TkEND . new ( 28 , 6 , 0 , 'end' ) ,
96
98
@TK ::TkNL . new ( 31 , 6 , 28 , "\n " ) ,
97
99
]
@@ -147,10 +149,12 @@ def test_class_tokenize_heredoc_CR_NL
147
149
@TK ::TkSPACE . new ( 6 , 1 , 6 , ' ' ) ,
148
150
@TK ::TkASSIGN . new ( 7 , 1 , 7 , '=' ) ,
149
151
@TK ::TkSPACE . new ( 8 , 1 , 8 , ' ' ) ,
150
- @TK ::TkHEREDOC . new ( 9 , 1 , 9 ,
151
- %Q{<<-STRING\n Line 1\n Line 2\n STRING} ) ,
152
- @TK ::TkSPACE . new ( 44 , 4 , 45 , "\r " ) ,
153
- @TK ::TkNL . new ( 45 , 4 , 46 , "\n " ) ,
152
+ @TK ::TkHEREDOCBEG . new ( 9 , 1 , 9 , '<<-STRING' ) ,
153
+ @TK ::TkSPACE . new ( 18 , 1 , 18 , "\r " ) ,
154
+ @TK ::TkNL . new ( 19 , 1 , 19 , "\n " ) ,
155
+ @TK ::TkHEREDOC . new ( 19 , 1 , 19 ,
156
+ %Q{Line 1\n Line 2\n } ) ,
157
+ @TK ::TkHEREDOCEND . new ( 45 , 4 , 36 , " STRING\n " ) ,
154
158
]
155
159
156
160
assert_equal expected , tokens
@@ -169,10 +173,12 @@ def test_class_tokenize_heredoc_call
169
173
@TK ::TkSPACE . new ( 6 , 1 , 6 , ' ' ) ,
170
174
@TK ::TkASSIGN . new ( 7 , 1 , 7 , '=' ) ,
171
175
@TK ::TkSPACE . new ( 8 , 1 , 8 , ' ' ) ,
172
- @TK ::TkSTRING . new ( 9 , 1 , 9 , %Q{"Line 1\n Line 2\n "} ) ,
173
- @TK ::TkDOT . new ( 41 , 4 , 42 , '.' ) ,
174
- @TK ::TkIDENTIFIER . new ( 42 , 4 , 43 , 'chomp' ) ,
175
- @TK ::TkNL . new ( 47 , 4 , 48 , "\n " ) ,
176
+ @TK ::TkHEREDOCBEG . new ( 9 , 1 , 9 , '<<-STRING' ) ,
177
+ @TK ::TkDOT . new ( 18 , 1 , 18 , '.' ) ,
178
+ @TK ::TkIDENTIFIER . new ( 19 , 1 , 19 , 'chomp' ) ,
179
+ @TK ::TkNL . new ( 24 , 1 , 24 , "\n " ) ,
180
+ @TK ::TkHEREDOC . new ( 24 , 1 , 24 , "Line 1\n Line 2\n " ) ,
181
+ @TK ::TkHEREDOCEND . new ( 47 , 4 , 39 , " STRING\n " ) ,
176
182
]
177
183
178
184
assert_equal expected , tokens
@@ -191,9 +197,12 @@ def test_class_tokenize_heredoc_indent
191
197
@TK ::TkSPACE . new ( 6 , 1 , 6 , ' ' ) ,
192
198
@TK ::TkASSIGN . new ( 7 , 1 , 7 , '=' ) ,
193
199
@TK ::TkSPACE . new ( 8 , 1 , 8 , ' ' ) ,
194
- @TK ::TkHEREDOC . new ( 9 , 1 , 9 ,
195
- %Q{<<-STRING\n Line 1\n Line 2\n STRING} ) ,
196
- @TK ::TkNL . new ( 41 , 4 , 42 , "\n " ) ,
200
+
201
+
202
+ @TK ::TkHEREDOCBEG . new ( 9 , 1 , 9 , '<<-STRING' ) ,
203
+ @TK ::TkNL . new ( 18 , 1 , 18 , "\n " ) ,
204
+ @TK ::TkHEREDOC . new ( 18 , 1 , 18 , "Line 1\n Line 2\n " ) ,
205
+ @TK ::TkHEREDOCEND . new ( 41 , 4 , 33 , " STRING\n " )
197
206
]
198
207
199
208
assert_equal expected , tokens
@@ -223,8 +232,10 @@ def test_class_tokenize_heredoc_percent_N
223
232
@TK ::TkSPACE . new ( 1 , 1 , 1 , ' ' ) ,
224
233
@TK ::TkIDENTIFIER . new ( 2 , 1 , 2 , 'b' ) ,
225
234
@TK ::TkSPACE . new ( 3 , 1 , 3 , ' ' ) ,
226
- @TK ::TkHEREDOC . new ( 4 , 1 , 4 , %Q{<<-U\n %N\n U} ) ,
227
- @TK ::TkNL . new ( 13 , 3 , 14 , "\n " ) ,
235
+ @TK ::TkHEREDOCBEG . new ( 4 , 1 , 4 , '<<-U' ) ,
236
+ @TK ::TkNL . new ( 8 , 1 , 8 , "\n " ) ,
237
+ @TK ::TkHEREDOC . new ( 8 , 1 , 8 , "%N\n " ) ,
238
+ @TK ::TkHEREDOCEND . new ( 13 , 3 , 12 , "U\n " )
228
239
]
229
240
230
241
assert_equal expected , tokens
0 commit comments