<?php require_once __DIR__.'/../Base.php'; use Kanboard\Core\Csv; class CsvTest extends Base { public function testGetBooleanValue() { $this->assertEquals(1, Csv::getBooleanValue('1')); $this->assertEquals(1, Csv::getBooleanValue('True')); $this->assertEquals(1, Csv::getBooleanValue('t')); $this->assertEquals(1, Csv::getBooleanValue('TRUE')); $this->assertEquals(1, Csv::getBooleanValue('true')); $this->assertEquals(1, Csv::getBooleanValue('T')); $this->assertEquals(1, Csv::getBooleanValue('Y')); $this->assertEquals(1, Csv::getBooleanValue('y')); $this->assertEquals(1, Csv::getBooleanValue('yes')); $this->assertEquals(1, Csv::getBooleanValue('Yes')); $this->assertEquals(0, Csv::getBooleanValue('0')); $this->assertEquals(0, Csv::getBooleanValue('123')); $this->assertEquals(0, Csv::getBooleanValue('anything')); } public function testGetEnclosures() { $this->assertCount(3, Csv::getEnclosures()); $this->assertCount(4, Csv::getDelimiters()); } public function testReadWrite() { $filename = tempnam(sys_get_temp_dir(), 'UT'); $rows = array( array('Column A', 'Column B'), array('value a', 'value b'), ); $csv = new Csv; $csv->write($filename, $rows); $csv->setColumnMapping(array('A', 'B', 'C')); $csv->read($filename, array($this, 'readRow')); unlink($filename); $this->expectOutputString('"Column A","Column B"'."\n".'"value a","value b"'."\n", $csv->output($rows)); } public function readRow(array $row, $line) { $this->assertEquals(array('value a', 'value b', ''), $row); $this->assertEquals(1, $line); } }