1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
<?php
namespace League\Csv\Test\Plugin;
use League\Csv\Plugin\SkipNullValuesFormatter;
use League\Csv\Test\AbstractTestCase;
use League\Csv\Writer;
use LimitIterator;
use SplFileObject;
use SplTempFileObject;
/**
* @group formatter
*/
class SkipNullValuesFormatterTest extends AbstractTestCase
{
private $csv;
public function setUp()
{
$this->csv = Writer::createFromFileObject(new SplTempFileObject());
}
public function tearDown()
{
$csv = new SplFileObject(dirname(__DIR__).'/data/foo.csv', 'w');
$csv->setCsvControl();
$csv->fputcsv(['john', 'doe', 'john.doe@example.com'], ',', '"');
$this->csv = null;
}
public function testInsertNullToSkipCell()
{
$expected = [
['john', 'doe', 'john.doe@example.com'],
'john,doe,john.doe@example.com',
['john', null, 'john.doe@example.com'],
];
$formatter = new SkipNullValuesFormatter();
$this->csv->addFormatter($formatter);
foreach ($expected as $row) {
$this->csv->insertOne($row);
}
$iterator = new LimitIterator($this->csv->getIterator(), 2, 1);
$iterator->rewind();
$res = $iterator->getInnerIterator()->current();
$this->assertSame(['john', 'john.doe@example.com'], $res);
}
}
|