write('test'); // The written data should be echo'd (StreamWriter) $this->assertEquals('test', ob_get_contents()); // Cleanup ob_end_clean(); } public function testBufferWriter() { // Create a BufferWriter $w = new BufferWriter(); // Write something to the Proxy $w->write('test'); // Flush its contents $res = $w->flush(); // The written data should be returned $this->assertEquals('test', $res); } public function testProxyWriter() { // Start object buffering to catch any output ob_start(); // Create a ProxyWriter which proxies for a StreamWriter $w = new ProxyWriter(new StreamWriter('php://output')); // Write something to the Proxy $w->write('test'); // Flush its contents $res = $w->flush(); // The written data should be echo'd (StreamWriter) $this->assertEquals('test', ob_get_contents()); // The written data should be returned too (ProxyWriter) $this->assertEquals('test', $res); // Cleanup ob_end_clean(); } }