X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=vendor%2Fnikic%2Fphp-parser%2Ftest%2FPhpParser%2FNode%2FNameTest.php;fp=vendor%2Fnikic%2Fphp-parser%2Ftest%2FPhpParser%2FNode%2FNameTest.php;h=8fe9ed63e0c37f6cfe10984c03e6445bd82b1dac;hb=af6d1fb995500ae68849458ee10d66abbdcfb252;hp=76a89c3ece743b77dabc790b973a45f48520af85;hpb=680c79a86e3ed402f263faeac92e89fb6d9edcc0;p=yaffs-website diff --git a/vendor/nikic/php-parser/test/PhpParser/Node/NameTest.php b/vendor/nikic/php-parser/test/PhpParser/Node/NameTest.php index 76a89c3ec..8fe9ed63e 100644 --- a/vendor/nikic/php-parser/test/PhpParser/Node/NameTest.php +++ b/vendor/nikic/php-parser/test/PhpParser/Node/NameTest.php @@ -1,18 +1,20 @@ -assertSame(array('foo', 'bar'), $name->parts); + $name = new Name(['foo', 'bar']); + $this->assertSame(['foo', 'bar'], $name->parts); $name = new Name('foo\bar'); - $this->assertSame(array('foo', 'bar'), $name->parts); + $this->assertSame(['foo', 'bar'], $name->parts); $name = new Name($name); - $this->assertSame(array('foo', 'bar'), $name->parts); + $this->assertSame(['foo', 'bar'], $name->parts); } public function testGet() { @@ -26,10 +28,11 @@ class NameTest extends \PHPUnit_Framework_TestCase } public function testToString() { - $name = new Name('foo\bar'); + $name = new Name('Foo\Bar'); - $this->assertSame('foo\bar', (string) $name); - $this->assertSame('foo\bar', $name->toString()); + $this->assertSame('Foo\Bar', (string) $name); + $this->assertSame('Foo\Bar', $name->toString()); + $this->assertSame('foo\bar', $name->toLowerString()); } public function testSlice() { @@ -98,37 +101,73 @@ class NameTest extends \PHPUnit_Framework_TestCase $this->assertNull(Name::concat(null, null)); } - public function testIs() { + public function testNameTypes() { $name = new Name('foo'); - $this->assertTrue ($name->isUnqualified()); + $this->assertTrue($name->isUnqualified()); $this->assertFalse($name->isQualified()); $this->assertFalse($name->isFullyQualified()); $this->assertFalse($name->isRelative()); + $this->assertSame('foo', $name->toCodeString()); $name = new Name('foo\bar'); $this->assertFalse($name->isUnqualified()); - $this->assertTrue ($name->isQualified()); + $this->assertTrue($name->isQualified()); $this->assertFalse($name->isFullyQualified()); $this->assertFalse($name->isRelative()); + $this->assertSame('foo\bar', $name->toCodeString()); $name = new Name\FullyQualified('foo'); $this->assertFalse($name->isUnqualified()); $this->assertFalse($name->isQualified()); - $this->assertTrue ($name->isFullyQualified()); + $this->assertTrue($name->isFullyQualified()); $this->assertFalse($name->isRelative()); + $this->assertSame('\foo', $name->toCodeString()); $name = new Name\Relative('foo'); $this->assertFalse($name->isUnqualified()); $this->assertFalse($name->isQualified()); $this->assertFalse($name->isFullyQualified()); - $this->assertTrue ($name->isRelative()); + $this->assertTrue($name->isRelative()); + $this->assertSame('namespace\foo', $name->toCodeString()); } /** - * @expectedException \InvalidArgumentException + * @expectedException \InvalidArgumentException * @expectedExceptionMessage Expected string, array of parts or Name instance */ public function testInvalidArg() { Name::concat('foo', new \stdClass); } -} \ No newline at end of file + + /** + * @expectedException \InvalidArgumentException + * @expectedExceptionMessage Name cannot be empty + */ + public function testInvalidEmptyString() { + new Name(''); + } + + /** + * @expectedException \InvalidArgumentException + * @expectedExceptionMessage Name cannot be empty + */ + public function testInvalidEmptyArray() { + new Name([]); + } + + /** @dataProvider provideTestIsSpecialClassName */ + public function testIsSpecialClassName($name, $expected) { + $name = new Name($name); + $this->assertSame($expected, $name->isSpecialClassName()); + } + + public function provideTestIsSpecialClassName() { + return [ + ['self', true], + ['PARENT', true], + ['Static', true], + ['self\not', false], + ['not\self', false], + ]; + } +}