packages/bison-parser/tests/Unit/Ast/Declaration/Symbols/AliasTest.php
1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Ast\Declaration\Symbols;
6
7use BisonParser\Ast\Declaration\Symbols\Alias;
8use BisonParser\Ast\Location;
9use PHPUnit\Framework\Attributes\CoversClass;
10use PHPUnit\Framework\Attributes\Small;
11use PHPUnit\Framework\Attributes\UsesClass;
12use PHPUnit\Framework\TestCase;
13
14#[CoversClass(Alias::class)]
15#[UsesClass(Location::class)]
16#[Small]
17final class AliasTest extends TestCase
18{
19 public function testTranslatable(): void
20 {
21 $alias = new Alias('number', true, new Location(2, 14));
22
23 self::assertSame('number', $alias->text);
24 self::assertTrue($alias->translatable);
25 self::assertSame('2:14', (string) $alias->location);
26 self::assertNull($alias->spelling);
27 self::assertSame('_("number")', (new Alias('number', true, new Location(2, 14), '_("number")'))->spelling);
28 }
29}
30