@@ -103,12 +103,27 @@ def test_class_tokenize_hash_symbol
103
103
tokens = RDoc ::RubyLex . tokenize '{ class:"foo" }' , nil
104
104
105
105
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" ) ,
112
127
@TK ::TkNL . new ( 15 , 1 , 15 , "\n " ) ,
113
128
]
114
129
@@ -444,8 +459,7 @@ def test_class_tokenize_symbol
444
459
expected = [
445
460
@TK ::TkIDENTIFIER . new ( 0 , 1 , 0 , 'scope' ) ,
446
461
@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:' ) ,
449
463
@TK ::TkSPACE . new ( 13 , 1 , 13 , ' ' ) ,
450
464
@TK ::TkSYMBOL . new ( 14 , 1 , 14 , ':v1' ) ,
451
465
@TK ::TkNL . new ( 17 , 1 , 17 , "\n " ) ,
0 commit comments