| Server IP : 54.94.228.101 / Your IP : 172.28.20.13 Web Server : Apache System : Linux ip-172-28-29-189 6.5.0-1014-aws #14~22.04.1-Ubuntu SMP Thu Feb 15 15:27:06 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.2.34-43+ubuntu22.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/vinumday2_0/vendor/maatwebsite/excel/tests/Readers/ |
Upload File : |
<?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::class, $got);
$this->assertCount(5, $got);
}
public function testNumeric()
{
$got = $this->loadedFile->toArray();
$this->assertInternalType('string', $got[0][0]);
$this->assertEquals('00123', $got[0][0]);
}
public function testRealNull()
{
$got = $this->loadedFile->toArray();
$this->assertNull($got[1][0]);
$this->assertEquals('', $got[1][0]);
}
public function testStringNull()
{
$got = $this->loadedFile->toArray();
$this->assertInternalType('string', $got[2][0]);
$this->assertEquals('null', $got[2][0]);
}
public function testEquation()
{
$got = $this->loadedFile->toArray();
$this->assertInternalType('string', $got[3][0]);
$this->assertEquals('=1+2', $got[3][0]);
}
public function testBoolean()
{
$got = $this->loadedFile->toArray();
$this->assertInternalType('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;
}
}