@@ -80,7 +80,7 @@ public function testWhitespace()
8080 *
8181 * @return void
8282 */
83- public function testComments ()
83+ public function testComment ()
8484 {
8585 $ tokens = self ::$ phpcsFile ->getTokens ();
8686
@@ -98,7 +98,35 @@ public function testComments()
9898 $ this ->assertSame ($ tokens [$ closer ]['scope_opener ' ], ($ token + 8 ), 'Closer scope opener is not the arrow token ' );
9999 $ this ->assertSame ($ tokens [$ closer ]['scope_closer ' ], ($ token + 15 ), 'Closer scope closer is not the semicolon token ' );
100100
101- }//end testComments()
101+ }//end testComment()
102+
103+
104+ /**
105+ * Test heredocs inside arrow function definitions.
106+ *
107+ * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
108+ *
109+ * @return void
110+ */
111+ public function testHeredoc ()
112+ {
113+ $ tokens = self ::$ phpcsFile ->getTokens ();
114+
115+ $ token = $ this ->getTargetToken ('/* testHeredoc */ ' , T_FN );
116+ $ this ->backfillHelper ($ token );
117+
118+ $ this ->assertSame ($ tokens [$ token ]['scope_opener ' ], ($ token + 4 ), 'Scope opener is not the arrow token ' );
119+ $ this ->assertSame ($ tokens [$ token ]['scope_closer ' ], ($ token + 9 ), 'Scope closer is not the semicolon token ' );
120+
121+ $ opener = $ tokens [$ token ]['scope_opener ' ];
122+ $ this ->assertSame ($ tokens [$ opener ]['scope_opener ' ], ($ token + 4 ), 'Opener scope opener is not the arrow token ' );
123+ $ this ->assertSame ($ tokens [$ opener ]['scope_closer ' ], ($ token + 9 ), 'Opener scope closer is not the semicolon token ' );
124+
125+ $ closer = $ tokens [$ token ]['scope_opener ' ];
126+ $ this ->assertSame ($ tokens [$ closer ]['scope_opener ' ], ($ token + 4 ), 'Closer scope opener is not the arrow token ' );
127+ $ this ->assertSame ($ tokens [$ closer ]['scope_closer ' ], ($ token + 9 ), 'Closer scope closer is not the semicolon token ' );
128+
129+ }//end testHeredoc()
102130
103131
104132 /**
0 commit comments