77 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			77 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|   | <?php declare(strict_types=1); | ||
|  | 
 | ||
|  | namespace PhpParser; | ||
|  | 
 | ||
|  | use PHPUnit\Framework\TestCase; | ||
|  | 
 | ||
|  | class CommentTest extends TestCase | ||
|  | { | ||
|  |     public function testGetSet() { | ||
|  |         $comment = new Comment('/* Some comment */', 1, 10, 2); | ||
|  | 
 | ||
|  |         $this->assertSame('/* Some comment */', $comment->getText()); | ||
|  |         $this->assertSame('/* Some comment */', (string) $comment); | ||
|  |         $this->assertSame(1, $comment->getLine()); | ||
|  |         $this->assertSame(10, $comment->getFilePos()); | ||
|  |         $this->assertSame(2, $comment->getTokenPos()); | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @dataProvider provideTestReformatting | ||
|  |      */ | ||
|  |     public function testReformatting($commentText, $reformattedText) { | ||
|  |         $comment = new Comment($commentText); | ||
|  |         $this->assertSame($reformattedText, $comment->getReformattedText()); | ||
|  |     } | ||
|  | 
 | ||
|  |     public function provideTestReformatting() { | ||
|  |         return [ | ||
|  |             ['// Some text' . "\n", '// Some text'], | ||
|  |             ['/* Some text */', '/* Some text */'], | ||
|  |             [ | ||
|  |                 '/** | ||
|  |      * Some text. | ||
|  |      * Some more text. | ||
|  |      */', | ||
|  |                 '/** | ||
|  |  * Some text. | ||
|  |  * Some more text. | ||
|  |  */' | ||
|  |             ], | ||
|  |             [ | ||
|  |                 '/* | ||
|  |         Some text. | ||
|  |         Some more text. | ||
|  |     */', | ||
|  |                 '/* | ||
|  |     Some text. | ||
|  |     Some more text. | ||
|  | */' | ||
|  |             ], | ||
|  |             [ | ||
|  |                 '/* Some text. | ||
|  |        More text. | ||
|  |        Even more text. */', | ||
|  |                 '/* Some text. | ||
|  |    More text. | ||
|  |    Even more text. */' | ||
|  |             ], | ||
|  |             [ | ||
|  |                 '/* Some text. | ||
|  |        More text. | ||
|  |          Indented text. */', | ||
|  |                 '/* Some text. | ||
|  |    More text. | ||
|  |      Indented text. */', | ||
|  |             ], | ||
|  |             // invalid comment -> no reformatting
 | ||
|  |             [ | ||
|  |                 'hallo | ||
|  |     world', | ||
|  |                 'hallo | ||
|  |     world', | ||
|  |             ], | ||
|  |         ]; | ||
|  |     } | ||
|  | } |