@@ -103,12 +103,27 @@ def test_class_tokenize_hash_symbol
103103 tokens = RDoc ::RubyLex . tokenize '{ class:"foo" }' , nil
104104
105105 expected = [
106- @TK ::TkLBRACE . new ( 0 , 1 , 0 , '{' ) ,
107- @TK ::TkSPACE . new ( 1 , 1 , 1 , ' ' ) ,
108- @TK ::TkIDENTIFIER . new ( 2 , 1 , 2 , 'class' ) ,
109- @TK ::TkSYMBOL . new ( 7 , 1 , 7 , ':"foo"' ) ,
110- @TK ::TkSPACE . new ( 13 , 1 , 13 , ' ' ) ,
111- @TK ::TkRBRACE . new ( 14 , 1 , 14 , '}' ) ,
106+ @TK ::TkLBRACE . new ( 0 , 1 , 0 , '{' ) ,
107+ @TK ::TkSPACE . new ( 1 , 1 , 1 , ' ' ) ,
108+ @TK ::TkSYMBOL . new ( 2 , 1 , 2 , 'class:' ) ,
109+ @TK ::TkSTRING . new ( 8 , 1 , 8 , '"foo"' ) ,
110+ @TK ::TkSPACE . new ( 13 , 1 , 13 , ' ' ) ,
111+ @TK ::TkRBRACE . new ( 14 , 1 , 14 , '}' ) ,
112+ @TK ::TkNL . new ( 15 , 1 , 15 , "\n " ) ,
113+ ]
114+
115+ assert_equal expected , tokens
116+ end
117+
118+ def test_class_tokenize_double_colon_is_not_hash_symbol
119+ tokens = RDoc ::RubyLex . tokenize 'self.class::Row' , nil
120+
121+ expected = [
122+ @TK ::TkSELF . new ( 0 , 1 , 0 , "self" ) ,
123+ @TK ::TkDOT . new ( 4 , 1 , 4 , "." ) ,
124+ @TK ::TkIDENTIFIER . new ( 5 , 1 , 5 , "class" ) ,
125+ @TK ::TkCOLON2 . new ( 10 , 1 , 10 , "::" ) ,
126+ @TK ::TkCONSTANT . new ( 12 , 1 , 12 , "Row" ) ,
112127 @TK ::TkNL . new ( 15 , 1 , 15 , "\n " ) ,
113128 ]
114129
@@ -444,8 +459,7 @@ def test_class_tokenize_symbol
444459 expected = [
445460 @TK ::TkIDENTIFIER . new ( 0 , 1 , 0 , 'scope' ) ,
446461 @TK ::TkSPACE . new ( 5 , 1 , 5 , ' ' ) ,
447- @TK ::TkIDENTIFIER . new ( 6 , 1 , 6 , 'module' ) ,
448- @TK ::TkCOLON . new ( 12 , 1 , 12 , ':' ) ,
462+ @TK ::TkSYMBOL . new ( 6 , 1 , 6 , 'module:' ) ,
449463 @TK ::TkSPACE . new ( 13 , 1 , 13 , ' ' ) ,
450464 @TK ::TkSYMBOL . new ( 14 , 1 , 14 , ':v1' ) ,
451465 @TK ::TkNL . new ( 17 , 1 , 17 , "\n " ) ,
0 commit comments