Skip to content

Commit 7ae59bf

Browse files
committed
Helpers::isNamespaceIdentifier() added $allowLeadingSlash
1 parent cf5fbdf commit 7ae59bf

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

src/PhpGenerator/Helpers.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -244,9 +244,10 @@ public static function isIdentifier($value)
244244
/**
245245
* @return bool
246246
*/
247-
public static function isNamespaceIdentifier($value)
247+
public static function isNamespaceIdentifier($value, $allowLeadingSlash = FALSE)
248248
{
249-
return is_string($value) && preg_match('#^' . Helpers::PHP_IDENT . '(\\\\' . Helpers::PHP_IDENT . ')*\z#', $value);
249+
$re = '#^' . ($allowLeadingSlash ? '\\\\?' : '') . Helpers::PHP_IDENT . '(\\\\' . Helpers::PHP_IDENT . ')*\z#';
250+
return is_string($value) && preg_match($re, $value);
250251
}
251252

252253

tests/PhpGenerator/Helpers.isNamespaceIdentifier.phpt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,6 @@ Assert::true(Helpers::isNamespaceIdentifier('Item\Item'));
1515
Assert::false(Helpers::isNamespaceIdentifier('Item\\\\Item'));
1616
Assert::false(Helpers::isNamespaceIdentifier('\\Item'));
1717
Assert::false(Helpers::isNamespaceIdentifier('Item\\'));
18+
19+
Assert::true(Helpers::isNamespaceIdentifier('\\Item', TRUE));
20+
Assert::false(Helpers::isNamespaceIdentifier('Item\\', TRUE));

0 commit comments

Comments
 (0)