public function testCreatingConfiguration() { $config = new Statement\Configuration(); $config->addStatement(new Statement\Comment('Sample file')); $config->addStatement(new Statement\Comment('Global settings', '#')); $config->addStatement(new Statement\Property('foo', 'bar')); $config->addStatement(new Statement\Property('gazonk', 'fnord')); $config->addStatement(new Statement\EmptyLine()); $config->addStatement(new Statement\Section('omega')); $config->addStatement(new Statement\Property('alpha', 'beta')); $config->addStatement(new Statement\Property('kappa', 'gamma', ':')); $writer = new Ini\Writer(); $file = fopen('php://memory', 'w+'); $writer->write($config, $file); rewind($file); $expected = <<<EOT ; Sample file # Global settings foo = bar gazonk = fnord [omega] alpha = beta kappa : gamma EOT; $this->assertSame($expected, stream_get_contents($file)); fclose($file); }
public function testReadingAndWritingConfiguration() { $parser = new Ini\Parser(); $in = fopen($this->resource('sample.ini'), 'r'); $config = $parser->parse($in); $writer = new Ini\Writer(); $out = fopen('php://memory', 'w+'); $writer->write($config, $out); rewind($in); rewind($out); $this->assertSame(stream_get_contents($in), stream_get_contents($out)); fclose($in); fclose($out); }