/** * @dataProvider \g105b\phpcsv\TestHelper::data_randomFilePath */ public function testUpdateRowWithMissingFields($filePath) { TestHelper::createCsv($filePath); $csv = new Csv($filePath); $csv->setIdField("rowNum"); $row = $csv->get(3); $newFirstName = "Updated-" . $row["firstName"]; $row["firstName"] = $newFirstName; $existingLastName = $row["lastName"]; unset($row["lastName"]); $updated = $csv->update($row); $this->assertTrue($updated); $row = $csv->get(3); $this->assertEquals($newFirstName, $row["firstName"]); $this->assertEquals($existingLastName, $row["lastName"]); }
/** * @dataProvider \g105b\phpcsv\TestHelper::data_randomFilePath */ public function testNewLine($filePath) { TestHelper::createCsv($filePath, 10); $csv = new Csv($filePath); $all = $csv->getAll(); $numberOfRows = count($all); $csv->setIdField("rowNum"); $headers = $csv->getHeaders(); $rowThatHasNewLine = rand(0, 9); $fieldThatHasQuotes = rand(0, count($headers) - 2); $headerName = $headers[$fieldThatHasQuotes]; $row = $csv->get($rowThatHasNewLine); $fieldValue = "New...\n...Line!"; $row[$headerName] = $fieldValue; $csv->updateRow($rowThatHasNewLine, $row); $all = $csv->getAll(true); $this->assertEquals($numberOfRows, count($all), 'Should have same number of rows after update'); $rowAfterUpdate = $csv->get($rowThatHasNewLine); $this->assertEquals($fieldValue, $rowAfterUpdate[$headerName]); }
/** * @dataProvider \g105b\phpcsv\TestHelper::data_randomFilePath */ public function testGetRowNumber($filePath) { TestHelper::createCsv($filePath); $csv = new Csv($filePath); $csv->setIdField("rowNum"); $rowNumber = $csv->getRowNumber(["rowNum" => 2]); $this->assertEquals($rowNumber, 2); }