52 lines
1.2 KiB
PHP
52 lines
1.2 KiB
PHP
<?php
|
|
|
|
class ArrTest extends PHPUnit_Framework_TestCase {
|
|
|
|
|
|
/**
|
|
* @dataProvider getArray
|
|
*/
|
|
public function testGetMethodReturnsItemsFromArray($array)
|
|
{
|
|
$this->assertEquals(Arr::get($array, 'email'), $array['email']);
|
|
$this->assertEquals(Arr::get($array, 'names.uncle'), $array['names']['uncle']);
|
|
}
|
|
|
|
/**
|
|
* @dataProvider getArray
|
|
*/
|
|
public function testGetMethodReturnsDefaultWhenItemDoesntExist($array)
|
|
{
|
|
$this->assertNull(Arr::get($array, 'names.aunt'));
|
|
$this->assertEquals(Arr::get($array, 'names.aunt', 'Tammy'), 'Tammy');
|
|
$this->assertEquals(Arr::get($array, 'names.aunt', function() {return 'Tammy';}), 'Tammy');
|
|
}
|
|
|
|
/**
|
|
* @dataProvider getArray
|
|
*/
|
|
public function testSetMethodSetsItemsInArray($array)
|
|
{
|
|
Arr::set($array, 'name', 'Taylor');
|
|
Arr::set($array, 'names.aunt', 'Tammy');
|
|
Arr::set($array, 'names.friends.best', 'Abigail');
|
|
|
|
$this->assertEquals($array['name'], 'Taylor');
|
|
$this->assertEquals($array['names']['aunt'], 'Tammy');
|
|
$this->assertEquals($array['names']['friends']['best'], 'Abigail');
|
|
|
|
}
|
|
|
|
public function getArray()
|
|
{
|
|
return array(array(
|
|
array(
|
|
'email' => 'taylorotwell@gmail.com',
|
|
'names' => array(
|
|
'uncle' => 'Mike',
|
|
),
|
|
)
|
|
));
|
|
}
|
|
|
|
} |