Skip to content

Commit 02c895c

Browse files
committed
Only dump FQCN with leading \ when there is a namespace
When there is no namespace defined, using the leading \ is redundant.
1 parent 06976aa commit 02c895c

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

src/CodeGenerator.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,8 @@ public function dumpClassReference(FullyQualified | string $fqcn, bool $import =
289289
match (true) {
290290
$import && $byParent => $this->importByParent($fqcn),
291291
$import => $this->import($fqcn),
292-
default => '\\' . $fqcn,
292+
$this->namespace !== null => '\\' . $fqcn,
293+
default => $fqcn,
293294
},
294295
);
295296
}

tests/CodeGeneratorTest.php

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -452,13 +452,23 @@ public function testDumpClassReferenceByParent() : void
452452
public function testDumpClassReferenceWithoutImport() : void
453453
{
454454
self::assertSame(
455-
'\\App\\Models\\User::class',
455+
'App\\Models\\User::class',
456456
$this->generator->dumpClassReference('App\\Models\\User', false),
457457
);
458458
self::assertSame(
459-
'\\App\\Models\\User::class',
459+
'App\\Models\\User::class',
460460
$this->generator->dumpClassReference('\\App\\Models\\User', false),
461461
);
462+
463+
$generator = new CodeGenerator('App');
464+
self::assertSame(
465+
'\\App\\Models\\User::class',
466+
$generator->dumpClassReference('App\\Models\\User', false),
467+
);
468+
self::assertSame(
469+
'\\App\\Models\\User::class',
470+
$generator->dumpClassReference('\\App\\Models\\User', false),
471+
);
462472
}
463473

464474
public function testMaybeNowDocWithSingleLine() : void

0 commit comments

Comments
 (0)