init introduce namespaces

This commit is contained in:
Susann Sgorzaly
2018-02-17 23:41:03 +01:00
parent 0e5afb209e
commit a7a0bc34a4
7 changed files with 44 additions and 38 deletions

View File

@@ -12,11 +12,12 @@
"email": "will.knauss@gmail.com" "email": "will.knauss@gmail.com"
} }
], ],
"autoload": { "autoload":{
"classmap": [ "psr-4":{
".", "CSV\\": "src",
"./extensions" "CSV\\extensions\\": "src\\extensions",
] "CSV\\tests\\": "tests"
}
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "4.1.*" "phpunit/phpunit": "4.1.*"

View File

@@ -1,6 +1,9 @@
<?php <?php
namespace CSV;
class parseCSV { use CSV\extensions\DatatypeTrait;
class Csv {
/* /*
Class: parseCSV v0.4.3 beta Class: parseCSV v0.4.3 beta

View File

@@ -1,4 +1,5 @@
<?php <?php
namespace CSV\extensions;
trait DatatypeTrait { trait DatatypeTrait {

View File

@@ -1,22 +1,8 @@
<?php <?php
require './vendor/autoload.php';
$dir = realpath(__DIR__);
defined('BASE') OR define('BASE', dirname($dir) . '/');
recursivelyIncludeFiles(BASE . 'extensions');
require_once BASE . 'parsecsv.lib.php';
if (!class_exists('PHPUnit\Framework\TestCase')) { if (!class_exists('PHPUnit\Framework\TestCase')) {
// we run on an older PHPUnit version without namespaces. // we run on an older PHPUnit version without namespaces.
require_once __DIR__ . '/PHPUnit_Framework_TestCase.inc.php'; require_once __DIR__ . '/PHPUnit_Framework_TestCase.inc.php';
} }
function recursivelyIncludeFiles($pathName){
$dirIterator = new RecursiveDirectoryIterator($pathName);
foreach ($dirIterator as $dir) {
if ($dir->isFile() && $dir->getExtension() === 'php') {
require_once $dir->getPathname();
}
}
}

View File

@@ -1,13 +1,18 @@
<?php <?php
namespace CSV\tests\methods;
class ConstructTest extends PHPUnit\Framework\TestCase { use CSV\Csv;
use PHPUnit\Framework\TestCase;
class ConstructTest extends TestCase
{
/** /**
* CSV * CSV
* The parseCSV object * The Csv object
* *
* @access protected * @access protected
* @var [parseCSV] * @var [Csv]
*/ */
protected $csv = null; protected $csv = null;
@@ -19,7 +24,7 @@ class ConstructTest extends PHPUnit\Framework\TestCase {
*/ */
public function setUp() { public function setUp() {
//setup parse CSV //setup parse CSV
#$this->csv = new parseCSV(); #$this->csv = new Csv();
} }
/** /**
@@ -34,35 +39,35 @@ class ConstructTest extends PHPUnit\Framework\TestCase {
public function test_offset_param() { public function test_offset_param() {
$offset = 10; $offset = 10;
$this->csv = new parseCSV(null, $offset); $this->csv = new Csv(null, $offset);
$this->assertTrue(is_numeric($this->csv->offset)); $this->assertTrue(is_numeric($this->csv->offset));
$this->assertEquals($offset, $this->csv->offset); $this->assertEquals($offset, $this->csv->offset);
} }
public function test_limit_param() { public function test_limit_param() {
$limit = 10; $limit = 10;
$this->csv = new parseCSV(null, null, $limit); $this->csv = new Csv(null, null, $limit);
$this->assertTrue(is_numeric($this->csv->limit)); $this->assertTrue(is_numeric($this->csv->limit));
$this->assertEquals($limit, $this->csv->limit); $this->assertEquals($limit, $this->csv->limit);
} }
public function test_conditions_param() { public function test_conditions_param() {
$conditions = 'some column NOT value'; $conditions = 'some column NOT value';
$this->csv = new parseCSV(null, null, null, $conditions); $this->csv = new Csv(null, null, null, $conditions);
$this->assertTrue(is_string($this->csv->conditions)); $this->assertTrue(is_string($this->csv->conditions));
$this->assertEquals($conditions, $this->csv->conditions); $this->assertEquals($conditions, $this->csv->conditions);
} }
public function test_keep_file_data_param() { public function test_keep_file_data_param() {
$keep = true; $keep = true;
$this->csv = new parseCSV(null, null, null, null, $keep); $this->csv = new Csv(null, null, null, null, $keep);
$this->assertTrue(is_bool($this->csv->keep_file_data)); $this->assertTrue(is_bool($this->csv->keep_file_data));
$this->assertEquals($keep, $this->csv->keep_file_data); $this->assertEquals($keep, $this->csv->keep_file_data);
} }
public function test_input_param() { public function test_input_param() {
$csv = "col1,col2,col3\r\nval1,val2,val3\r\nval1A,val2A,val3A\r\n"; $csv = "col1,col2,col3\r\nval1,val2,val3\r\nval1A,val2A,val3A\r\n";
$this->csv = new parseCSV($csv, null, null, null, true); $this->csv = new Csv($csv, null, null, null, true);
$this->assertTrue(is_string($this->csv->file_data)); $this->assertTrue(is_string($this->csv->file_data));
$this->assertEquals($csv, $this->csv->file_data); $this->assertEquals($csv, $this->csv->file_data);
} }

View File

@@ -1,13 +1,18 @@
<?php <?php
namespace CSV\tests\methods;
class ParseTest extends PHPUnit\Framework\TestCase { use CSV\Csv;
use PHPUnit_Framework_TestCase as TestCase;
class ParseTest extends TestCase
{
/** /**
* CSV * CSV
* The parseCSV object * The CSV object
* *
* @access protected * @access protected
* @var parseCSV * @var Csv
*/ */
protected $csv; protected $csv;
@@ -18,7 +23,7 @@ class ParseTest extends PHPUnit\Framework\TestCase {
* @access public * @access public
*/ */
public function setUp() { public function setUp() {
$this->csv = new parseCSV(); $this->csv = new Csv();
} }
public function test_parse() { public function test_parse() {
@@ -182,7 +187,7 @@ class ParseTest extends PHPUnit\Framework\TestCase {
* @param string $enclosure * @param string $enclosure
*/ */
public function testAutoQuotes($file, $enclosure) { public function testAutoQuotes($file, $enclosure) {
$csv = new parseCSV(); $csv = new Csv();
$csv->auto($file, true, null, null, $enclosure); $csv->auto($file, true, null, null, $enclosure);
$this->assertArrayHasKey('column1', $csv->data[0], 'Data parsed incorrectly with enclosure ' . $enclosure); $this->assertArrayHasKey('column1', $csv->data[0], 'Data parsed incorrectly with enclosure ' . $enclosure);
$this->assertEquals('value1', $csv->data[0]['column1'], 'Data parsed incorrectly with enclosure ' . $enclosure); $this->assertEquals('value1', $csv->data[0]['column1'], 'Data parsed incorrectly with enclosure ' . $enclosure);

View File

@@ -1,8 +1,13 @@
<?php <?php
namespace CSV\tests\methods;
class SaveTest extends PHPUnit\Framework\TestCase { use CSV\Csv;
use PHPUnit_Framework_TestCase as TestCase;
/** @var parseCSV */ class SaveTest extends TestCase
{
/** @var Csv */
private $csv; private $csv;
private $temp_filename; private $temp_filename;
@@ -11,7 +16,7 @@ class SaveTest extends PHPUnit\Framework\TestCase {
* Setup our test environment objects; will be called before each test. * Setup our test environment objects; will be called before each test.
*/ */
public function setUp() { public function setUp() {
$this->csv = new parseCSV(); $this->csv = new Csv();
$this->csv->auto(__DIR__ . '/../example_files/single_column.csv'); $this->csv->auto(__DIR__ . '/../example_files/single_column.csv');
// Remove last 2 lines to simplify comparison // Remove last 2 lines to simplify comparison