getMockBuilder('React\EventLoop\LoopInterface')->getMock(); $factory = new FilesystemFactory($loop); $factory->parseEtcResolvConf($contents)->then(function ($config) use (&$capturedConfig) { $capturedConfig = $config; }); $this->assertNotNull($capturedConfig); $this->assertSame($expected, $capturedConfig->nameservers); } /** @test */ public function createShouldLoadStuffFromFilesystem() { $this->markTestIncomplete('Filesystem API is incomplete'); $expected = array('8.8.8.8'); $triggerListener = null; $capturedConfig = null; $loop = $this->getMockBuilder('React\EventLoop\LoopInterface')->getMock(); $loop ->expects($this->once()) ->method('addReadStream') ->will($this->returnCallback(function ($stream, $listener) use (&$triggerListener) { $triggerListener = function () use ($stream, $listener) { call_user_func($listener, $stream); }; })); $factory = new FilesystemFactory($loop); $factory->create(__DIR__.'/../Fixtures/etc/resolv.conf')->then(function ($config) use (&$capturedConfig) { $capturedConfig = $config; }); $triggerListener(); $this->assertNotNull($capturedConfig); $this->assertSame($expected, $capturedConfig->nameservers); } }