| <?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); |
| } |
| } |
|
|