Files
faveo/vendor/maatwebsite/excel/tests/Readers/CustomValueBinderTest.php
Manish Verma 76e85db070 update 1.0.8.0
Commits for version update
2016-10-17 12:02:27 +05:30

106 lines
2.5 KiB
PHP

<?php
class CustomValuBinderTest extends TestCase {
/**
* Setup
*/
public function setUp()
{
parent::setUp();
// Set excel class
$this->excel = App::make('phpexcel');
// Set writer class
$this->reader = App::make('excel.reader');
$this->reader->injectExcel($this->excel);
$this->reader->noHeading(true);
// Set value binder
$binder = new StubValueBinder();
$this->reader->setValueBinder($binder);
// Load csv file
$this->loadFile();
}
/**
* Tear down
*/
public function tearDown()
{
// Necessary to reset the value binder back to default so that future test classes are unaffected.
$this->reader->resetValueBinder();
}
public function testDefaultGet()
{
$got = $this->loadedFile->get();
$this->assertInstanceOf('Maatwebsite\Excel\Collections\RowCollection', $got);
$this->assertCount(5, $got);
}
public function testNumeric()
{
$got = $this->loadedFile->toArray();
$this->assertTrue(is_string($got[0][0]));
$this->assertEquals('00123', $got[0][0]);
}
public function testRealNull()
{
$got = $this->loadedFile->toArray();
$this->assertTrue(is_null($got[1][0]));
$this->assertEquals('', $got[1][0]);
}
public function testStringNull()
{
$got = $this->loadedFile->toArray();
$this->assertTrue(is_string($got[2][0]));
$this->assertEquals('null', $got[2][0]);
}
public function testEquation()
{
$got = $this->loadedFile->toArray();
$this->assertTrue(is_string($got[3][0]));
$this->assertEquals('=1+2', $got[3][0]);
}
public function testBoolean()
{
$got = $this->loadedFile->toArray();
$this->assertTrue(is_string($got[4][0]));
$this->assertEquals('true', $got[4][0]);
}
/**
* Load a csv file
* @return [type] [description]
*/
protected function loadFile()
{
// Set test csv file
$file = __DIR__ . '/files/' . 'customBinder.csv';
// Loaded csv
$this->loadedFile = $this->reader->load($file);
}
}
class StubValueBinder extends PHPExcel_Cell_DefaultValueBinder implements PHPExcel_Cell_IValueBinder
{
public function bindValue(PHPExcel_Cell $cell, $value = null)
{
$cell->setValueExplicit($value, PHPExcel_Cell_DataType::TYPE_STRING);
return true;
}
}