PHPUnit_Extensions_Database_DataSet_CsvDataSet::addTable PHP Method

addTable() public method

The table will be given the passed name. $csvFile should be a path to a valid csv file (based on the arguments passed to the constructor.)
public addTable ( string $tableName, string $csvFile )
$tableName string
$csvFile string
    public function addTable($tableName, $csvFile)
    {
        if (!is_file($csvFile)) {
            throw new InvalidArgumentException("Could not find csv file: {$csvFile}");
        }
        if (!is_readable($csvFile)) {
            throw new InvalidArgumentException("Could not read csv file: {$csvFile}");
        }
        $fh = fopen($csvFile, 'r');
        $columns = $this->getCsvRow($fh);
        if ($columns === FALSE) {
            throw new InvalidArgumentException("Could not determine the headers from the given file {$csvFile}");
        }
        $metaData = new PHPUnit_Extensions_Database_DataSet_DefaultTableMetaData($tableName, $columns);
        $table = new PHPUnit_Extensions_Database_DataSet_DefaultTable($metaData);
        while (($row = $this->getCsvRow($fh)) !== FALSE) {
            $table->addRow(array_combine($columns, $row));
        }
        $this->tables[$tableName] = $table;
    }

Usage Example

Beispiel #1
0
 /**
  * Gets the data set to be loaded into the database during setup
  *
  * @return  PHPUnit_Extensions_Database_DataSet_CsvDataSet
  *
  * @since   3.1
  */
 protected function getDataSet()
 {
     $dataSet = new PHPUnit_Extensions_Database_DataSet_CsvDataSet(',', "'", '\\');
     $dataSet->addTable('jos_menu', JPATH_TEST_DATABASE . '/jos_menu.csv');
     $dataSet->addTable('jos_menu_types', JPATH_TEST_DATABASE . '/jos_menu_types.csv');
     return $dataSet;
 }
All Usage Examples Of PHPUnit_Extensions_Database_DataSet_CsvDataSet::addTable
PHPUnit_Extensions_Database_DataSet_CsvDataSet