@@ -480,6 +480,22 @@ describe "Ruby grammar", ->
480480 expect ( tokens [ 6 ] ) . toEqual value : ' ' , scopes : [ 'source.ruby' ]
481481 expect ( tokens [ 7 ] ) . toEqual value : '1' , scopes : [ 'source.ruby' , 'constant.numeric.ruby' ]
482482
483+ it "tokenizes multiline regular expressions" , ->
484+ tokens = grammar . tokenizeLines '' '
485+ regexp = /
486+ foo|
487+ bar
488+ /ix
489+ ' ''
490+
491+ expect ( tokens [ 0 ] [ 0 ] ) . toEqual value : 'regexp ' , scopes : [ 'source.ruby' ]
492+ expect ( tokens [ 0 ] [ 1 ] ) . toEqual value : '=' , scopes : [ 'source.ruby' , 'keyword.operator.assignment.ruby' ]
493+ expect ( tokens [ 0 ] [ 2 ] ) . toEqual value : ' ' , scopes : [ 'source.ruby' ]
494+ expect ( tokens [ 0 ] [ 3 ] ) . toEqual value : '/' , scopes : [ 'source.ruby' , 'string.regexp.interpolated.ruby' , 'punctuation.section.regexp.ruby' ]
495+ expect ( tokens [ 1 ] [ 0 ] ) . toEqual value : ' foo|' , scopes : [ 'source.ruby' , 'string.regexp.interpolated.ruby' ]
496+ expect ( tokens [ 2 ] [ 0 ] ) . toEqual value : ' bar' , scopes : [ 'source.ruby' , 'string.regexp.interpolated.ruby' ]
497+ expect ( tokens [ 3 ] [ 0 ] ) . toEqual value : '/ix' , scopes : [ 'source.ruby' , 'string.regexp.interpolated.ruby' , 'punctuation.section.regexp.ruby' ]
498+
483499 it "tokenizes the / arithmetic operator" , ->
484500 { tokens } = grammar . tokenizeLine ( 'call/me/maybe' )
485501 expect ( tokens [ 0 ] ) . toEqual value : 'call' , scopes : [ 'source.ruby' ]
0 commit comments