2017-11-02 18:56:01 +01:00
|
|
|
<?php declare(strict_types=1);
|
2012-05-11 16:18:14 +02:00
|
|
|
|
2014-02-06 14:44:16 +01:00
|
|
|
namespace PhpParser;
|
|
|
|
|
2019-01-19 11:18:00 +01:00
|
|
|
class CommentTest extends \PHPUnit\Framework\TestCase
|
2012-05-11 16:18:14 +02:00
|
|
|
{
|
2020-02-09 16:53:46 +01:00
|
|
|
public function testGetters() {
|
|
|
|
$comment = new Comment('/* Some comment */',
|
|
|
|
1, 10, 2, 1, 27, 2);
|
2012-05-11 16:18:14 +02:00
|
|
|
|
2014-09-30 20:38:09 +02:00
|
|
|
$this->assertSame('/* Some comment */', $comment->getText());
|
|
|
|
$this->assertSame('/* Some comment */', (string) $comment);
|
|
|
|
$this->assertSame(1, $comment->getLine());
|
2016-04-02 00:54:01 +02:00
|
|
|
$this->assertSame(10, $comment->getFilePos());
|
2017-11-04 17:45:14 +01:00
|
|
|
$this->assertSame(2, $comment->getTokenPos());
|
2020-02-09 16:53:46 +01:00
|
|
|
$this->assertSame(1, $comment->getStartLine());
|
|
|
|
$this->assertSame(10, $comment->getStartFilePos());
|
|
|
|
$this->assertSame(2, $comment->getStartTokenPos());
|
|
|
|
$this->assertSame(1, $comment->getEndLine());
|
|
|
|
$this->assertSame(27, $comment->getEndFilePos());
|
|
|
|
$this->assertSame(2, $comment->getEndTokenPos());
|
2012-05-11 16:18:14 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @dataProvider provideTestReformatting
|
|
|
|
*/
|
|
|
|
public function testReformatting($commentText, $reformattedText) {
|
2014-02-06 14:44:16 +01:00
|
|
|
$comment = new Comment($commentText);
|
2014-09-30 20:38:09 +02:00
|
|
|
$this->assertSame($reformattedText, $comment->getReformattedText());
|
2012-05-11 16:18:14 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
public function provideTestReformatting() {
|
2017-08-13 14:35:03 +02:00
|
|
|
return [
|
|
|
|
['// Some text' . "\n", '// Some text'],
|
|
|
|
['/* Some text */', '/* Some text */'],
|
|
|
|
[
|
2012-05-11 16:18:14 +02:00
|
|
|
'/**
|
|
|
|
* Some text.
|
|
|
|
* Some more text.
|
|
|
|
*/',
|
|
|
|
'/**
|
|
|
|
* Some text.
|
|
|
|
* Some more text.
|
|
|
|
*/'
|
2017-08-13 14:35:03 +02:00
|
|
|
],
|
|
|
|
[
|
2012-05-11 16:18:14 +02:00
|
|
|
'/*
|
|
|
|
Some text.
|
|
|
|
Some more text.
|
|
|
|
*/',
|
|
|
|
'/*
|
|
|
|
Some text.
|
|
|
|
Some more text.
|
|
|
|
*/'
|
2017-08-13 14:35:03 +02:00
|
|
|
],
|
|
|
|
[
|
2012-05-11 16:18:14 +02:00
|
|
|
'/* Some text.
|
|
|
|
More text.
|
|
|
|
Even more text. */',
|
|
|
|
'/* Some text.
|
|
|
|
More text.
|
|
|
|
Even more text. */'
|
2017-08-13 14:35:03 +02:00
|
|
|
],
|
|
|
|
[
|
2016-04-07 04:39:32 +02:00
|
|
|
'/* Some text.
|
|
|
|
More text.
|
|
|
|
Indented text. */',
|
|
|
|
'/* Some text.
|
|
|
|
More text.
|
|
|
|
Indented text. */',
|
2017-08-13 14:35:03 +02:00
|
|
|
],
|
2012-05-11 16:18:14 +02:00
|
|
|
// invalid comment -> no reformatting
|
2017-08-13 14:35:03 +02:00
|
|
|
[
|
2012-05-11 16:18:14 +02:00
|
|
|
'hallo
|
|
|
|
world',
|
|
|
|
'hallo
|
|
|
|
world',
|
2017-08-13 14:35:03 +02:00
|
|
|
],
|
|
|
|
];
|
2012-05-11 16:18:14 +02:00
|
|
|
}
|
2017-04-27 18:14:07 +02:00
|
|
|
}
|