protected function handleFile(File $file, Response $response) { if (isset($this->filesContents[$file->getPath()])) { return $this->filesContents[$file->getPath()]; } $file->getContents()->then(function ($contents) use($file) { $this->filesContents[$file->getPath()] = $contents; return $file->close()->then(function () use($contents) { return $contents; }); })->then(function ($fileContents) use($response) { $response->writeHead(200); $response->end($fileContents); }); }
public function testCreateNameNParentFromFilename() { $node = new File('/foo/bar/baz/rabbit/kitten/index.php', Filesystem::createFromAdapter($this->getMock('React\\Filesystem\\Eio\\Adapter', [], [$this->getMock('React\\EventLoop\\StreamSelectLoop')]))); foreach ([['index.php', '/foo/bar/baz/rabbit/kitten/index.php'], ['kitten', '/foo/bar/baz/rabbit/kitten/'], ['rabbit', '/foo/bar/baz/rabbit/'], ['baz', '/foo/bar/baz/'], ['bar', '/foo/bar/'], ['foo', '/foo/'], ['', '/']] as $names) { $this->assertSame($names[0], $node->getName()); $this->assertSame($names[1], $node->getPath()); $node = $node->getParent(); } }