public function testParser()
 {
     $schema = CSVSchema::create();
     $parser = $schema->parser();
     $this->assertInstanceOf(CSVParser::class, $parser);
     $this->assertAttributeEquals($schema, "schema", $parser);
 }
 public function testArrayAccessUnset()
 {
     $schema = CSVSchema::create()->withHeader("header1", "intval");
     $record = CSVRecord::create($schema);
     $record->setValue(0, "666");
     $this->assertEquals(666, $record->getValue("header1"));
     unset($record["header1"]);
     $this->assertEquals(0, $record->getValue("header1"));
 }
示例#3
0
 public function testExcelSchema()
 {
     $schema = CSVSchema::create()->withDelimiter(',')->withEnclosure('"')->withEscape("\\")->withSeparator("\r\n");
     $excel = CSV::excelSchema();
     $this->assertEquals($schema, $excel);
 }
 public function testParseLines()
 {
     $schema = CSVSchema::create()->withHeaderLine()->withHeader("name")->withHeader("email")->withHeader("gender")->withHeader("salary", function ($salary) {
         return round(floatval(substr($salary, 1)), 2);
     });
     $parser = CSVParser::create($schema);
     $lines = "";
     $lines .= "name,email,gender,salary";
     $lines .= "\r\n" . '"Helen ""Rivera""",hrivera0@nifty.com,Female,$1263.92';
     $lines .= "\r\n" . '"Helen ""Rivera""",hrivera0@nifty.com,Female,$1263.92';
     $lines .= "\r\n" . '"Helen ""Rivera""",hrivera0@nifty.com,Female,$1263.92';
     foreach ($parser->parseLines($lines) as $index => $record) {
         $this->assertInstanceOf(CSVRecord::class, $record);
         $this->assertEquals($index, $record->getIndex());
         $this->assertTrue($record->hasValue("name"));
         $this->assertTrue($record->hasValue("email"));
         $this->assertTrue($record->hasValue("gender"));
         $this->assertTrue($record->hasValue("salary"));
         $this->assertEquals('Helen "Rivera"', $record->getValue("name"));
         $this->assertEquals('*****@*****.**', $record->getValue("email"));
         $this->assertEquals('Female', $record->getValue("gender"));
         $this->assertEquals(1263.92, $record->getValue("salary"));
     }
 }