Skip to content

Commit ff01f24

Browse files
committed
added Helpers::isNamespace
1 parent 2ae5659 commit ff01f24

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

src/PhpGenerator/Helpers.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,15 @@ public static function isIdentifier($value)
243243
}
244244

245245

246+
/**
247+
* @return bool
248+
*/
249+
public static function isNamespace($value)
250+
{
251+
return is_string($value) && preg_match('#^' . Helpers::PHP_IDENT . '(\\\\' . Helpers::PHP_IDENT . ')*\z#', $value);
252+
}
253+
254+
246255
/**
247256
* @param string
248257
* @return object
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?php
2+
3+
use Nette\PhpGenerator\Helpers;
4+
use Tester\Assert;
5+
6+
7+
require __DIR__ . '/../bootstrap.php';
8+
9+
10+
Assert::true(Helpers::isNamespace('Item'));
11+
Assert::true(Helpers::isNamespace("\x7F"));
12+
Assert::true(Helpers::isNamespace("\x7F\\\x7F"));
13+
Assert::false(Helpers::isNamespace('0Item'));
14+
Assert::true(Helpers::isNamespace('Item\Item'));
15+
Assert::false(Helpers::isNamespace('Item\\\\Item'));
16+
Assert::false(Helpers::isNamespace('\\Item'));
17+
Assert::false(Helpers::isNamespace('Item\\'));

0 commit comments

Comments
 (0)