Mercurial > hg > isophonics-drupal-site
view vendor/psy/psysh/test/Reflection/ReflectionLanguageConstructTest.php @ 16:c2387f117808
Routine composer update
author | Chris Cannam |
---|---|
date | Tue, 10 Jul 2018 15:07:59 +0100 |
parents | |
children |
line wrap: on
line source
<?php /* * This file is part of Psy Shell. * * (c) 2012-2018 Justin Hileman * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Psy\Test\Reflection; use Psy\Reflection\ReflectionLanguageConstruct; class ReflectionLanguageConstructTest extends \PHPUnit\Framework\TestCase { /** * @dataProvider languageConstructs */ public function testConstruction($keyword) { $refl = new ReflectionLanguageConstruct($keyword); $this->assertEquals($keyword, $refl->getName()); $this->assertEquals($keyword, (string) $refl); } /** * @dataProvider languageConstructs */ public function testKnownLanguageConstructs($keyword) { $this->assertTrue(ReflectionLanguageConstruct::isLanguageConstruct($keyword)); } /** * @dataProvider languageConstructs */ public function testFileName($keyword) { $refl = new ReflectionLanguageConstruct($keyword); $this->assertFalse($refl->getFileName()); } /** * @dataProvider languageConstructs */ public function testReturnsReference($keyword) { $refl = new ReflectionLanguageConstruct($keyword); $this->assertFalse($refl->returnsReference()); } /** * @dataProvider languageConstructs */ public function testGetParameters($keyword) { $refl = new ReflectionLanguageConstruct($keyword); $this->assertNotEmpty($refl->getParameters()); } /** * @dataProvider languageConstructs * @expectedException \RuntimeException */ public function testExportThrows($keyword) { ReflectionLanguageConstruct::export($keyword); } public function languageConstructs() { return [ ['isset'], ['unset'], ['empty'], ['echo'], ['print'], ['die'], ['exit'], ]; } /** * @dataProvider unknownLanguageConstructs * @expectedException \InvalidArgumentException */ public function testUnknownLanguageConstructsThrowExceptions($keyword) { new ReflectionLanguageConstruct($keyword); } public function unknownLanguageConstructs() { return [ ['async'], ['await'], ['comefrom'], ]; } }