summaryrefslogtreecommitdiff
path: root/vendor/ramsey/array_column/tests/ArrayColumnTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/ramsey/array_column/tests/ArrayColumnTest.php')
-rw-r--r--vendor/ramsey/array_column/tests/ArrayColumnTest.php422
1 files changed, 0 insertions, 422 deletions
diff --git a/vendor/ramsey/array_column/tests/ArrayColumnTest.php b/vendor/ramsey/array_column/tests/ArrayColumnTest.php
deleted file mode 100644
index 597b1dea..00000000
--- a/vendor/ramsey/array_column/tests/ArrayColumnTest.php
+++ /dev/null
@@ -1,422 +0,0 @@
-<?php
-class ArrayColumnTest extends \PHPUnit_Framework_TestCase
-{
- protected $recordSet;
- protected $multiDataTypes;
- protected $numericColumns;
- protected $mismatchedColumns;
-
- protected function setUp()
- {
- $this->recordSet = array(
- array(
- 'id' => 1,
- 'first_name' => 'John',
- 'last_name' => 'Doe'
- ),
- array(
- 'id' => 2,
- 'first_name' => 'Sally',
- 'last_name' => 'Smith'
- ),
- array(
- 'id' => 3,
- 'first_name' => 'Jane',
- 'last_name' => 'Jones'
- ),
- );
-
- $fh = fopen(__FILE__, 'r', true);
-
- $this->multiDataTypes = array(
- array(
- 'id' => 1,
- 'value' => new stdClass
- ),
- array(
- 'id' => 2,
- 'value' => 34.2345
- ),
- array(
- 'id' => 3,
- 'value' => true
- ),
- array(
- 'id' => 4,
- 'value' => false
- ),
- array(
- 'id' => 5,
- 'value' => null
- ),
- array(
- 'id' => 6,
- 'value' => 1234
- ),
- array(
- 'id' => 7,
- 'value' => 'Foo'
- ),
- array(
- 'id' => 8,
- 'value' => $fh
- ),
- );
-
- $this->numericColumns = array(
- array('aaa', '111'),
- array('bbb', '222'),
- array('ccc', '333', -1 => 'ddd'),
- );
-
- $this->mismatchedColumns = array(
- array('a' => 'foo', 'b' => 'bar', 'e' => 'bbb'),
- array('a' => 'baz', 'c' => 'qux', 'd' => 'aaa'),
- array('a' => 'eee', 'b' => 'fff', 'e' => 'ggg'),
- );
- }
-
- public function testFirstNameColumnFromRecordset()
- {
- $expected = array('John', 'Sally', 'Jane');
- $this->assertEquals($expected, array_column($this->recordSet, 'first_name'));
- }
-
- public function testIdColumnFromRecordset()
- {
- $expected = array(1, 2, 3);
- $this->assertEquals($expected, array_column($this->recordSet, 'id'));
- }
-
- public function testLastNameColumnKeyedByIdColumnFromRecordset()
- {
- $expected = array(1 => 'Doe', 2 => 'Smith', 3 => 'Jones');
- $this->assertEquals($expected, array_column($this->recordSet, 'last_name', 'id'));
- }
-
- public function testLastNameColumnKeyedByFirstNameColumnFromRecordset()
- {
- $expected = array('John' => 'Doe', 'Sally' => 'Smith', 'Jane' => 'Jones');
- $this->assertEquals($expected, array_column($this->recordSet, 'last_name', 'first_name'));
- }
-
- public function testValueColumnWithMultipleDataTypes()
- {
- $expected = array();
- foreach ($this->multiDataTypes as $row) {
- $expected[] = $row['value'];
- }
- $this->assertEquals($expected, array_column($this->multiDataTypes, 'value'));
- }
-
- public function testValueColumnKeyedByIdWithMultipleDataTypes()
- {
- $expected = array();
- foreach ($this->multiDataTypes as $row) {
- $expected[$row['id']] = $row['value'];
- }
- $this->assertEquals($expected, array_column($this->multiDataTypes, 'value', 'id'));
- }
-
- public function testNumericColumnKeys1()
- {
- $expected = array('111', '222', '333');
- $this->assertEquals($expected, array_column($this->numericColumns, 1));
- }
-
- public function testNumericColumnKeys2()
- {
- $expected = array('aaa' => '111', 'bbb' => '222', 'ccc' => '333');
- $this->assertEquals($expected, array_column($this->numericColumns, 1, 0));
- }
-
- public function testNumericColumnKeys3()
- {
- $expected = array('aaa' => '111', 'bbb' => '222', 'ccc' => '333');
- $this->assertEquals($expected, array_column($this->numericColumns, 1, 0.123));
- }
-
- public function testNumericColumnKeys4()
- {
- $expected = array(0 => '111', 1 => '222', 'ddd' => '333');
- $this->assertEquals($expected, array_column($this->numericColumns, 1, -1));
- }
-
- public function testFailureToFindColumn1()
- {
- $this->assertEquals(array(), array_column($this->numericColumns, 2));
- }
-
- public function testFailureToFindColumn2()
- {
- $this->assertEquals(array(), array_column($this->numericColumns, 'foo'));
- }
-
- public function testFailureToFindColumn3()
- {
- $expected = array('aaa', 'bbb', 'ccc');
- $this->assertEquals($expected, array_column($this->numericColumns, 0, 'foo'));
- }
-
- public function testFailureToFindColumn4()
- {
- $this->assertEquals(array(), array_column($this->numericColumns, 3.14));
- }
-
- public function testSingleDimensionalArray()
- {
- $singleDimension = array('foo', 'bar', 'baz');
- $this->assertEquals(array(), array_column($singleDimension, 1));
- }
-
- public function testMismatchedColumns1()
- {
- $expected = array('qux');
- $this->assertEquals($expected, array_column($this->mismatchedColumns, 'c'));
- }
-
- public function testMismatchedColumns2()
- {
- $expected = array('baz' => 'qux');
- $this->assertEquals($expected, array_column($this->mismatchedColumns, 'c', 'a'));
- }
-
- public function testMismatchedColumns3()
- {
- $expected = array('foo', 'aaa' => 'baz', 'eee');
- $this->assertEquals($expected, array_column($this->mismatchedColumns, 'a', 'd'));
- }
-
- public function testMismatchedColumns4()
- {
- $expected = array('bbb' => 'foo', 'baz', 'ggg' => 'eee');
- $this->assertEquals($expected, array_column($this->mismatchedColumns, 'a', 'e'));
- }
-
- public function testMismatchedColumns5()
- {
- $expected = array('bar', 'fff');
- $this->assertEquals($expected, array_column($this->mismatchedColumns, 'b'));
- }
-
- public function testMismatchedColumns6()
- {
- $expected = array('foo' => 'bar', 'eee' => 'fff');
- $this->assertEquals($expected, array_column($this->mismatchedColumns, 'b', 'a'));
- }
-
- public function testObjectConvertedToString()
- {
- $f = new Foo();
- $b = new Bar();
- $this->assertEquals(array('Doe', 'Smith', 'Jones'), array_column($this->recordSet, $f));
- $this->assertEquals(array('John' => 'Doe', 'Sally' => 'Smith', 'Jane' => 'Jones'), array_column($this->recordSet, $f, $b));
- }
-
- /**
- * @expectedException PHPUnit_Framework_Error_Warning
- * @expectedExceptionMessage array_column() expects at least 2 parameters, 0 given
- */
- public function testFunctionWithZeroArgs()
- {
- $foo = array_column();
- }
-
- public function testFunctionWithZeroArgsReturnValue()
- {
- $foo = @array_column();
- $this->assertNull($foo);
- }
-
- /**
- * @expectedException PHPUnit_Framework_Error_Warning
- * @expectedExceptionMessage array_column() expects at least 2 parameters, 1 given
- */
- public function testFunctionWithOneArg()
- {
- $foo = array_column(array());
- }
-
- public function testFunctionWithOneArgReturnValue()
- {
- $foo = @array_column(array());
- $this->assertNull($foo);
- }
-
- /**
- * @expectedException PHPUnit_Framework_Error_Warning
- * @expectedExceptionMessage array_column() expects parameter 1 to be array, string given
- */
- public function testFunctionWithStringAsFirstArg()
- {
- $foo = array_column('foo', 0);
- }
-
- public function testFunctionWithStringAsFirstArgReturnValue()
- {
- $foo = @array_column('foo', 0);
- $this->assertNull($foo);
- }
-
- /**
- * @expectedException PHPUnit_Framework_Error_Warning
- * @expectedExceptionMessage array_column() expects parameter 1 to be array, integer given
- */
- public function testFunctionWithIntAsFirstArg()
- {
- $foo = array_column(1, 'foo');
- }
-
- public function testFunctionWithIntAsFirstArgReturnValue()
- {
- $foo = @array_column(1, 'foo');
- $this->assertNull($foo);
- }
-
- /**
- * @expectedException PHPUnit_Framework_Error_Warning
- * @expectedExceptionMessage array_column(): The column key should be either a string or an integer
- */
- public function testFunctionWithColumnKeyAsBool()
- {
- $foo = array_column(array(), true);
- }
-
- public function testFunctionWithColumnKeyAsBoolReturnValue()
- {
- $foo = @array_column(array(), true);
- $this->assertFalse($foo);
- }
-
- /**
- * @expectedException PHPUnit_Framework_Error_Warning
- * @expectedExceptionMessage array_column(): The column key should be either a string or an integer
- */
- public function testFunctionWithColumnKeyAsArray()
- {
- $foo = array_column(array(), array());
- }
-
- public function testFunctionWithColumnKeyAsArrayReturnValue()
- {
- $foo = @array_column(array(), array());
- $this->assertFalse($foo);
- }
-
- /**
- * @expectedException PHPUnit_Framework_Error_Warning
- * @expectedExceptionMessage array_column(): The index key should be either a string or an integer
- */
- public function testFunctionWithIndexKeyAsBool()
- {
- $foo = array_column(array(), 'foo', true);
- }
-
- public function testFunctionWithIndexKeyAsBoolReturnValue()
- {
- $foo = @array_column(array(), 'foo', true);
- $this->assertFalse($foo);
- }
-
- /**
- * @expectedException PHPUnit_Framework_Error_Warning
- * @expectedExceptionMessage array_column(): The index key should be either a string or an integer
- */
- public function testFunctionWithIndexKeyAsArray()
- {
- $foo = array_column(array(), 'foo', array());
- }
-
- public function testFunctionWithIndexKeyAsArrayReturnValue()
- {
- $foo = @array_column(array(), 'foo', array());
- $this->assertFalse($foo);
- }
-
- /**
- * @link https://bugs.php.net/bug.php?id=64493
- */
- public function testBugRequest64493()
- {
- // Array from Bug Request #64493 test script
- $rows = array(
- 456 => array('id' => '3', 'title' => 'Foo', 'date' => '2013-03-25'),
- 457 => array('id' => '5', 'title' => 'Bar', 'date' => '2012-05-20'),
- );
-
- // pass null as second parameter to get back all columns indexed by third parameter
- $expected1 = array(
- 3 => array('id' => '3', 'title' => 'Foo', 'date' => '2013-03-25'),
- 5 => array('id' => '5', 'title' => 'Bar', 'date' => '2012-05-20'),
- );
- $this->assertEquals($expected1, array_column($rows, null, 'id'));
-
- // pass null as second parameter and bogus third param to get back zero-indexed array of all columns
- $expected2 = array(
- array('id' => '3', 'title' => 'Foo', 'date' => '2013-03-25'),
- array('id' => '5', 'title' => 'Bar', 'date' => '2012-05-20'),
- );
- $this->assertEquals($expected2, array_column($rows, null, 'foo'));
-
- // pass null as second parameter and no third param to get back array_values(input) (same as $expected2)
- $this->assertEquals($expected2, array_column($rows, null));
- }
-
- public function testObjectCast()
- {
- $columnKey = new ColumnKeyClass();
- $indexKey = new IndexKeyClass();
- $value = new ValueClass();
-
- $records = array(
- array(
- 'id' => $value,
- 'first_name' => 'John',
- 'last_name' => 'XXX'
- ),
- array(
- 'id' => 3245,
- 'first_name' => 'Sally',
- 'last_name' => 'Smith'
- ),
- );
-
- $expected = array(
- 2135 => 'John',
- 3245 => 'Sally',
- );
-
- $this->assertEquals($expected, array_column($records, $columnKey, $indexKey));
- }
-}
-
-class Foo
-{
- public function __toString()
- {
- return 'last_name';
- }
-}
-
-class Bar
-{
- public function __toString()
- {
- return 'first_name';
- }
-}
-
-class ColumnKeyClass
-{
- function __toString() { return 'first_name'; }
-}
-
-class IndexKeyClass
-{
- function __toString() { return 'id'; }
-}
-
-class ValueClass
-{
- function __toString() { return '2135'; }
-}