getSkinFactory(); foreach ( $skinFactory->getInstalledSkins() as $skin => $_ ) { yield $skin => [ $skinFactory, $skin ]; } } /** * @dataProvider provideSkinConstructor * * @param string $skinFactory * @param string $skinName */ public function testConstructor( SkinFactory $skinFactory, string $skinName ) { $skin = $skinFactory->makeSkin( $skinName ); $options = $skin->getOptions(); $messages = $options['messages'] ?? []; $this->assertSame( $options['name'], $skinName ); $missingMessages = []; foreach ( $messages as $message ) { $msg = new Message( $message ); if ( !$msg->exists() ) { $missingMessages[] = $message; } } $this->assertEquals( [], $missingMessages, 'Skin references messages that does not exists' ); } }