Skip to content

Commit f820ad9

Browse files
committed
Add test_class_tokenize_opassign
1 parent 2755e5b commit f820ad9

File tree

1 file changed

+94
-0
lines changed

1 file changed

+94
-0
lines changed

test/test_rdoc_ruby_lex.rb

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,100 @@ def test_class_tokenize_heredoc_CR_NL
175175
assert_equal expected, tokens
176176
end
177177

178+
def test_class_tokenize_opassign
179+
tokens = RDoc::RubyLex.tokenize <<'RUBY', nil
180+
a %= b
181+
a /= b
182+
a -= b
183+
a += b
184+
a |= b
185+
a &= b
186+
a >>= b
187+
a <<= b
188+
a *= b
189+
a &&= b
190+
a ||= b
191+
a **= b
192+
RUBY
193+
194+
expected = [
195+
@TK::TkIDENTIFIER.new( 0, 1, 0, "a"),
196+
@TK::TkSPACE .new( 1, 1, 1, " "),
197+
@TK::TkOPASGN .new( 2, 1, 2, "%"),
198+
@TK::TkSPACE .new( 4, 1, 4, " "),
199+
@TK::TkIDENTIFIER.new( 5, 1, 5, "b"),
200+
@TK::TkNL .new( 6, 1, 6, "\n"),
201+
@TK::TkIDENTIFIER.new( 7, 2, 0, "a"),
202+
@TK::TkSPACE .new( 8, 2, 1, " "),
203+
@TK::TkOPASGN .new( 9, 2, 2, "/"),
204+
@TK::TkSPACE .new( 11, 2, 4, " "),
205+
@TK::TkIDENTIFIER.new( 12, 2, 5, "b"),
206+
@TK::TkNL .new( 13, 2, 7, "\n"),
207+
@TK::TkIDENTIFIER.new( 14, 3, 0, "a"),
208+
@TK::TkSPACE .new( 15, 3, 1, " "),
209+
@TK::TkOPASGN .new( 16, 3, 2, "-"),
210+
@TK::TkSPACE .new( 18, 3, 4, " "),
211+
@TK::TkIDENTIFIER.new( 19, 3, 5, "b"),
212+
@TK::TkNL .new( 20, 3, 14, "\n"),
213+
@TK::TkIDENTIFIER.new( 21, 4, 0, "a"),
214+
@TK::TkSPACE .new( 22, 4, 1, " "),
215+
@TK::TkOPASGN .new( 23, 4, 2, "+"),
216+
@TK::TkSPACE .new( 25, 4, 4, " "),
217+
@TK::TkIDENTIFIER.new( 26, 4, 5, "b"),
218+
@TK::TkNL .new( 27, 4, 21, "\n"),
219+
@TK::TkIDENTIFIER.new( 28, 5, 0, "a"),
220+
@TK::TkSPACE .new( 29, 5, 1, " "),
221+
@TK::TkOPASGN .new( 30, 5, 2, "|"),
222+
@TK::TkSPACE .new( 32, 5, 4, " "),
223+
@TK::TkIDENTIFIER.new( 33, 5, 5, "b"),
224+
@TK::TkNL .new( 34, 5, 28, "\n"),
225+
@TK::TkIDENTIFIER.new( 35, 6, 0, "a"),
226+
@TK::TkSPACE .new( 36, 6, 1, " "),
227+
@TK::TkOPASGN .new( 37, 6, 2, "&"),
228+
@TK::TkSPACE .new( 39, 6, 4, " "),
229+
@TK::TkIDENTIFIER.new( 40, 6, 5, "b"),
230+
@TK::TkNL .new( 41, 6, 35, "\n"),
231+
@TK::TkIDENTIFIER.new( 42, 7, 0, "a"),
232+
@TK::TkSPACE .new( 43, 7, 1, " "),
233+
@TK::TkOPASGN .new( 44, 7, 2, ">>"),
234+
@TK::TkSPACE .new( 47, 7, 5, " "),
235+
@TK::TkIDENTIFIER.new( 48, 7, 6, "b"),
236+
@TK::TkNL .new( 49, 7, 42, "\n"),
237+
@TK::TkIDENTIFIER.new( 50, 8, 0, "a"),
238+
@TK::TkSPACE .new( 51, 8, 1, " "),
239+
@TK::TkOPASGN .new( 52, 8, 2, "<<"),
240+
@TK::TkSPACE .new( 55, 8, 5, " "),
241+
@TK::TkIDENTIFIER.new( 56, 8, 6, "b"),
242+
@TK::TkNL .new( 57, 8, 50, "\n"),
243+
@TK::TkIDENTIFIER.new( 58, 9, 0, "a"),
244+
@TK::TkSPACE .new( 59, 9, 1, " "),
245+
@TK::TkOPASGN .new( 60, 9, 2, "*"),
246+
@TK::TkSPACE .new( 62, 9, 4, " "),
247+
@TK::TkIDENTIFIER.new( 63, 9, 5, "b"),
248+
@TK::TkNL .new( 64, 9, 58, "\n"),
249+
@TK::TkIDENTIFIER.new( 65, 10, 0, "a"),
250+
@TK::TkSPACE .new( 66, 10, 1, " "),
251+
@TK::TkOPASGN .new( 67, 10, 2, "&&"),
252+
@TK::TkSPACE .new( 70, 10, 5, " "),
253+
@TK::TkIDENTIFIER.new( 71, 10, 6, "b"),
254+
@TK::TkNL .new( 72, 10, 65, "\n"),
255+
@TK::TkIDENTIFIER.new( 73, 11, 0, "a"),
256+
@TK::TkSPACE .new( 74, 11, 1, " "),
257+
@TK::TkOPASGN .new( 75, 11, 2, "||"),
258+
@TK::TkSPACE .new( 78, 11, 5, " "),
259+
@TK::TkIDENTIFIER.new( 79, 11, 6, "b"),
260+
@TK::TkNL .new( 80, 11, 73, "\n"),
261+
@TK::TkIDENTIFIER.new( 81, 12, 0, "a"),
262+
@TK::TkSPACE .new( 82, 12, 1, " "),
263+
@TK::TkOPASGN .new( 83, 12, 2, "**"),
264+
@TK::TkSPACE .new( 86, 12, 5, " "),
265+
@TK::TkIDENTIFIER.new( 87, 12, 6, "b"),
266+
@TK::TkNL .new( 88, 12, 81, "\n"),
267+
]
268+
269+
assert_equal expected, tokens
270+
end
271+
178272
def test_class_tokenize_heredoc_call
179273
tokens = RDoc::RubyLex.tokenize <<-'RUBY', nil
180274
string = <<-STRING.chomp

0 commit comments

Comments
 (0)