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',
 | |
|             ],
 | |
|         ];
 | |
|     }
 | |
| }
 | 
