From f119cbd6be467b3832a4543045980dd0f1936275 Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Fri, 20 Nov 2015 20:39:43 -0500 Subject: Make CSV export compatible with PHP 5.3 --- tests/units/Core/CsvTest.php | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'tests/units/Core/CsvTest.php') diff --git a/tests/units/Core/CsvTest.php b/tests/units/Core/CsvTest.php index 71542c20..d34ccf76 100644 --- a/tests/units/Core/CsvTest.php +++ b/tests/units/Core/CsvTest.php @@ -19,4 +19,34 @@ class CsvTest extends Base $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"'.PHP_EOL.'"value a","value b"'.PHP_EOL, $csv->output($rows)); + } + + public function readRow(array $row, $line) + { + $this->assertEquals(array('value a', 'value b', ''), $row); + $this->assertEquals(1, $line); + } } -- cgit v1.3.1 From 4594325726b45b8b538364100cea1d4e72a90bcb Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sat, 21 Nov 2015 17:12:27 -0500 Subject: Make test case pass under Windows --- tests/units/Core/CsvTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests/units/Core/CsvTest.php') diff --git a/tests/units/Core/CsvTest.php b/tests/units/Core/CsvTest.php index d34ccf76..7276de7f 100644 --- a/tests/units/Core/CsvTest.php +++ b/tests/units/Core/CsvTest.php @@ -41,7 +41,7 @@ class CsvTest extends Base unlink($filename); - $this->expectOutputString('"Column A","Column B"'.PHP_EOL.'"value a","value b"'.PHP_EOL, $csv->output($rows)); + $this->expectOutputString('"Column A","Column B"'."\n".'"value a","value b"'."\n", $csv->output($rows)); } public function readRow(array $row, $line) -- cgit v1.3.1 From ff26cce361f123de7fa9f1bc9989bad88f19b7f3 Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sun, 13 Dec 2015 11:12:03 -0500 Subject: Add new boolean value for CSV import --- app/Core/Csv.php | 2 +- tests/units/Core/CsvTest.php | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'tests/units/Core/CsvTest.php') diff --git a/app/Core/Csv.php b/app/Core/Csv.php index 28c1997b..e45af24c 100644 --- a/app/Core/Csv.php +++ b/app/Core/Csv.php @@ -93,7 +93,7 @@ class Csv { if (! empty($value)) { $value = trim(strtolower($value)); - return $value === '1' || $value{0} === 't' ? 1 : 0; + return $value === '1' || $value{0} === 't' || $value{0} === 'y' ? 1 : 0; } return 0; diff --git a/tests/units/Core/CsvTest.php b/tests/units/Core/CsvTest.php index 7276de7f..da0be4a3 100644 --- a/tests/units/Core/CsvTest.php +++ b/tests/units/Core/CsvTest.php @@ -14,6 +14,10 @@ class CsvTest extends Base $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')); -- cgit v1.3.1