Chris@16: assertEquals($keyword, $refl->getName()); Chris@16: $this->assertEquals($keyword, (string) $refl); Chris@16: } Chris@16: Chris@16: /** Chris@16: * @dataProvider languageConstructs Chris@16: */ Chris@16: public function testKnownLanguageConstructs($keyword) Chris@16: { Chris@16: $this->assertTrue(ReflectionLanguageConstruct::isLanguageConstruct($keyword)); Chris@16: } Chris@16: Chris@16: /** Chris@16: * @dataProvider languageConstructs Chris@16: */ Chris@16: public function testFileName($keyword) Chris@16: { Chris@16: $refl = new ReflectionLanguageConstruct($keyword); Chris@16: $this->assertFalse($refl->getFileName()); Chris@16: } Chris@16: Chris@16: /** Chris@16: * @dataProvider languageConstructs Chris@16: */ Chris@16: public function testReturnsReference($keyword) Chris@16: { Chris@16: $refl = new ReflectionLanguageConstruct($keyword); Chris@16: $this->assertFalse($refl->returnsReference()); Chris@16: } Chris@16: Chris@16: /** Chris@16: * @dataProvider languageConstructs Chris@16: */ Chris@16: public function testGetParameters($keyword) Chris@16: { Chris@16: $refl = new ReflectionLanguageConstruct($keyword); Chris@16: $this->assertNotEmpty($refl->getParameters()); Chris@16: } Chris@16: Chris@16: /** Chris@16: * @dataProvider languageConstructs Chris@16: * @expectedException \RuntimeException Chris@16: */ Chris@16: public function testExportThrows($keyword) Chris@16: { Chris@16: ReflectionLanguageConstruct::export($keyword); Chris@16: } Chris@16: Chris@16: public function languageConstructs() Chris@16: { Chris@16: return [ Chris@16: ['isset'], Chris@16: ['unset'], Chris@16: ['empty'], Chris@16: ['echo'], Chris@16: ['print'], Chris@16: ['die'], Chris@16: ['exit'], Chris@16: ]; Chris@16: } Chris@16: Chris@16: /** Chris@16: * @dataProvider unknownLanguageConstructs Chris@16: * @expectedException \InvalidArgumentException Chris@16: */ Chris@16: public function testUnknownLanguageConstructsThrowExceptions($keyword) Chris@16: { Chris@16: new ReflectionLanguageConstruct($keyword); Chris@16: } Chris@16: Chris@16: public function unknownLanguageConstructs() Chris@16: { Chris@16: return [ Chris@16: ['async'], Chris@16: ['await'], Chris@16: ['comefrom'], Chris@16: ]; Chris@16: } Chris@16: }