X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=tests%2Fphpunit%2FCRM%2FUtils%2FArrayTest.php;h=7403576c5fb6aab2a96ecfba5be490f597b8526b;hb=1e7139a8e944c688c9c97f4f1f45cf51af8622b5;hp=212b523ceb49d8b86bf5bf36bec942d785557805;hpb=c9bb7661d11c5c2b68b023350a8a8c0735e02c2a;p=civicrm-core.git diff --git a/tests/phpunit/CRM/Utils/ArrayTest.php b/tests/phpunit/CRM/Utils/ArrayTest.php index 212b523ceb..7403576c5f 100644 --- a/tests/phpunit/CRM/Utils/ArrayTest.php +++ b/tests/phpunit/CRM/Utils/ArrayTest.php @@ -7,41 +7,41 @@ class CRM_Utils_ArrayTest extends CiviUnitTestCase { public function testIndexArray() { - $inputs = array(); - $inputs[] = array( + $inputs = []; + $inputs[] = [ 'lang' => 'en', 'msgid' => 'greeting', 'familiar' => FALSE, 'value' => 'Hello', - ); - $inputs[] = array( + ]; + $inputs[] = [ 'lang' => 'en', 'msgid' => 'parting', 'value' => 'Goodbye', - ); - $inputs[] = array( + ]; + $inputs[] = [ 'lang' => 'fr', 'msgid' => 'greeting', 'value' => 'Bon jour', - ); - $inputs[] = array( + ]; + $inputs[] = [ 'lang' => 'fr', 'msgid' => 'parting', 'value' => 'Au revoir', - ); - $inputs[] = array( + ]; + $inputs[] = [ 'lang' => 'en', 'msgid' => 'greeting', 'familiar' => TRUE, 'value' => 'Hey', - ); - $inputs[] = array( + ]; + $inputs[] = [ 'msgid' => 'greeting', 'familiar' => TRUE, 'value' => 'Universal greeting', - ); + ]; - $byLangMsgid = CRM_Utils_Array::index(array('lang', 'msgid'), $inputs); + $byLangMsgid = CRM_Utils_Array::index(['lang', 'msgid'], $inputs); $this->assertEquals($inputs[4], $byLangMsgid['en']['greeting']); $this->assertEquals($inputs[1], $byLangMsgid['en']['parting']); $this->assertEquals($inputs[2], $byLangMsgid['fr']['greeting']); @@ -50,157 +50,157 @@ class CRM_Utils_ArrayTest extends CiviUnitTestCase { } public function testCollect() { - $arr = array( - array('catWord' => 'cat', 'dogWord' => 'dog'), - array('catWord' => 'chat', 'dogWord' => 'chien'), - array('catWord' => 'gato'), - ); - $expected = array('cat', 'chat', 'gato'); + $arr = [ + ['catWord' => 'cat', 'dogWord' => 'dog'], + ['catWord' => 'chat', 'dogWord' => 'chien'], + ['catWord' => 'gato'], + ]; + $expected = ['cat', 'chat', 'gato']; $this->assertEquals($expected, CRM_Utils_Array::collect('catWord', $arr)); - $arr = array(); - $arr['en'] = (object) array('catWord' => 'cat', 'dogWord' => 'dog'); - $arr['fr'] = (object) array('catWord' => 'chat', 'dogWord' => 'chien'); - $arr['es'] = (object) array('catWord' => 'gato'); - $expected = array('en' => 'cat', 'fr' => 'chat', 'es' => 'gato'); + $arr = []; + $arr['en'] = (object) ['catWord' => 'cat', 'dogWord' => 'dog']; + $arr['fr'] = (object) ['catWord' => 'chat', 'dogWord' => 'chien']; + $arr['es'] = (object) ['catWord' => 'gato']; + $expected = ['en' => 'cat', 'fr' => 'chat', 'es' => 'gato']; $this->assertEquals($expected, CRM_Utils_Array::collect('catWord', $arr)); } public function testProduct0() { $actual = CRM_Utils_Array::product( - array(), - array('base data' => 1) + [], + ['base data' => 1] ); - $this->assertEquals(array( - array('base data' => 1), - ), $actual); + $this->assertEquals([ + ['base data' => 1], + ], $actual); } public function testProduct1() { $actual = CRM_Utils_Array::product( - array('dim1' => array('a', 'b')), - array('base data' => 1) + ['dim1' => ['a', 'b']], + ['base data' => 1] ); - $this->assertEquals(array( - array('base data' => 1, 'dim1' => 'a'), - array('base data' => 1, 'dim1' => 'b'), - ), $actual); + $this->assertEquals([ + ['base data' => 1, 'dim1' => 'a'], + ['base data' => 1, 'dim1' => 'b'], + ], $actual); } public function testProduct3() { $actual = CRM_Utils_Array::product( - array('dim1' => array('a', 'b'), 'dim2' => array('alpha', 'beta'), 'dim3' => array('one', 'two')), - array('base data' => 1) + ['dim1' => ['a', 'b'], 'dim2' => ['alpha', 'beta'], 'dim3' => ['one', 'two']], + ['base data' => 1] ); - $this->assertEquals(array( - array('base data' => 1, 'dim1' => 'a', 'dim2' => 'alpha', 'dim3' => 'one'), - array('base data' => 1, 'dim1' => 'a', 'dim2' => 'alpha', 'dim3' => 'two'), - array('base data' => 1, 'dim1' => 'a', 'dim2' => 'beta', 'dim3' => 'one'), - array('base data' => 1, 'dim1' => 'a', 'dim2' => 'beta', 'dim3' => 'two'), - array('base data' => 1, 'dim1' => 'b', 'dim2' => 'alpha', 'dim3' => 'one'), - array('base data' => 1, 'dim1' => 'b', 'dim2' => 'alpha', 'dim3' => 'two'), - array('base data' => 1, 'dim1' => 'b', 'dim2' => 'beta', 'dim3' => 'one'), - array('base data' => 1, 'dim1' => 'b', 'dim2' => 'beta', 'dim3' => 'two'), - ), $actual); + $this->assertEquals([ + ['base data' => 1, 'dim1' => 'a', 'dim2' => 'alpha', 'dim3' => 'one'], + ['base data' => 1, 'dim1' => 'a', 'dim2' => 'alpha', 'dim3' => 'two'], + ['base data' => 1, 'dim1' => 'a', 'dim2' => 'beta', 'dim3' => 'one'], + ['base data' => 1, 'dim1' => 'a', 'dim2' => 'beta', 'dim3' => 'two'], + ['base data' => 1, 'dim1' => 'b', 'dim2' => 'alpha', 'dim3' => 'one'], + ['base data' => 1, 'dim1' => 'b', 'dim2' => 'alpha', 'dim3' => 'two'], + ['base data' => 1, 'dim1' => 'b', 'dim2' => 'beta', 'dim3' => 'one'], + ['base data' => 1, 'dim1' => 'b', 'dim2' => 'beta', 'dim3' => 'two'], + ], $actual); } public function testIsSubset() { - $this->assertTrue(CRM_Utils_Array::isSubset(array(), array())); - $this->assertTrue(CRM_Utils_Array::isSubset(array('a'), array('a'))); - $this->assertTrue(CRM_Utils_Array::isSubset(array('a'), array('b', 'a', 'c'))); - $this->assertTrue(CRM_Utils_Array::isSubset(array('b', 'd'), array('a', 'b', 'c', 'd'))); - $this->assertFalse(CRM_Utils_Array::isSubset(array('a'), array())); - $this->assertFalse(CRM_Utils_Array::isSubset(array('a'), array('b'))); - $this->assertFalse(CRM_Utils_Array::isSubset(array('a'), array('b', 'c', 'd'))); + $this->assertTrue(CRM_Utils_Array::isSubset([], [])); + $this->assertTrue(CRM_Utils_Array::isSubset(['a'], ['a'])); + $this->assertTrue(CRM_Utils_Array::isSubset(['a'], ['b', 'a', 'c'])); + $this->assertTrue(CRM_Utils_Array::isSubset(['b', 'd'], ['a', 'b', 'c', 'd'])); + $this->assertFalse(CRM_Utils_Array::isSubset(['a'], [])); + $this->assertFalse(CRM_Utils_Array::isSubset(['a'], ['b'])); + $this->assertFalse(CRM_Utils_Array::isSubset(['a'], ['b', 'c', 'd'])); } public function testRemove() { - $data = array( + $data = [ 'one' => 1, 'two' => 2, 'three' => 3, 'four' => 4, 'five' => 5, 'six' => 6, - ); - CRM_Utils_Array::remove($data, 'one', 'two', array('three', 'four'), 'five'); - $this->assertEquals($data, array('six' => 6)); + ]; + CRM_Utils_Array::remove($data, 'one', 'two', ['three', 'four'], 'five'); + $this->assertEquals($data, ['six' => 6]); } public function testGetSetPathParts() { - $arr = array( + $arr = [ 'one' => '1', - 'two' => array( + 'two' => [ 'half' => 2, - ), - ); - $this->assertEquals('1', CRM_Utils_Array::pathGet($arr, array('one'))); - $this->assertEquals('2', CRM_Utils_Array::pathGet($arr, array('two', 'half'))); - $this->assertEquals(NULL, CRM_Utils_Array::pathGet($arr, array('zoo', 'half'))); - CRM_Utils_Array::pathSet($arr, array('zoo', 'half'), '3'); - $this->assertEquals(3, CRM_Utils_Array::pathGet($arr, array('zoo', 'half'))); + ], + ]; + $this->assertEquals('1', CRM_Utils_Array::pathGet($arr, ['one'])); + $this->assertEquals('2', CRM_Utils_Array::pathGet($arr, ['two', 'half'])); + $this->assertEquals(NULL, CRM_Utils_Array::pathGet($arr, ['zoo', 'half'])); + CRM_Utils_Array::pathSet($arr, ['zoo', 'half'], '3'); + $this->assertEquals(3, CRM_Utils_Array::pathGet($arr, ['zoo', 'half'])); $this->assertEquals(3, $arr['zoo']['half']); } public function getSortExamples() { - $red = array('label' => 'Red', 'id' => 1, 'weight' => '90'); - $orange = array('label' => 'Orange', 'id' => 2, 'weight' => '70'); - $yellow = array('label' => 'Yellow', 'id' => 3, 'weight' => '10'); - $green = array('label' => 'Green', 'id' => 4, 'weight' => '70'); - $blue = array('label' => 'Blue', 'id' => 5, 'weight' => '70'); + $red = ['label' => 'Red', 'id' => 1, 'weight' => '90']; + $orange = ['label' => 'Orange', 'id' => 2, 'weight' => '70']; + $yellow = ['label' => 'Yellow', 'id' => 3, 'weight' => '10']; + $green = ['label' => 'Green', 'id' => 4, 'weight' => '70']; + $blue = ['label' => 'Blue', 'id' => 5, 'weight' => '70']; - $examples = array(); - $examples[] = array( - array( + $examples = []; + $examples[] = [ + [ 'r' => $red, 'y' => $yellow, 'g' => $green, 'o' => $orange, 'b' => $blue, - ), + ], 'id', - array( + [ 'r' => $red, 'o' => $orange, 'y' => $yellow, 'g' => $green, 'b' => $blue, - ), - ); - $examples[] = array( - array( + ], + ]; + $examples[] = [ + [ 'r' => $red, 'y' => $yellow, 'g' => $green, 'o' => $orange, 'b' => $blue, - ), + ], 'label', - array( + [ 'b' => $blue, 'g' => $green, 'o' => $orange, 'r' => $red, 'y' => $yellow, - ), - ); - $examples[] = array( - array( + ], + ]; + $examples[] = [ + [ 'r' => $red, 'g' => $green, 'y' => $yellow, 'o' => $orange, 'b' => $blue, - ), - array('weight', 'id'), - array( + ], + ['weight', 'id'], + [ 'y' => $yellow, 'o' => $orange, 'g' => $green, 'b' => $blue, 'r' => $red, - ), - ); + ], + ]; return $examples; } @@ -279,7 +279,7 @@ class CRM_Utils_ArrayTest extends CiviUnitTestCase { [NULL, ['wrong' => NULL, 'right' => ['foo' => 1, 'bar' => 2]]], [1, 'wrong'], 'nada', 'nada', ], [ - [NULL, ['wrong' => NULL, 'right' => ['foo' => 1, 'bar' => 2]]], [1, 'right'], NULL, ['foo' => 1, 'bar' => 2] + [NULL, ['wrong' => NULL, 'right' => ['foo' => 1, 'bar' => 2]]], [1, 'right'], NULL, ['foo' => 1, 'bar' => 2], ], [ [NULL, ['wrong' => NULL, 'right' => ['foo' => 1, 'bar' => 2]]], [1, 'right', 'foo'], NULL, 1, @@ -290,6 +290,7 @@ class CRM_Utils_ArrayTest extends CiviUnitTestCase { /** * @param $array * @param $path + * @param $default * @param $expected * @dataProvider getRecursiveValueExamples */ @@ -318,6 +319,7 @@ class CRM_Utils_ArrayTest extends CiviUnitTestCase { /** * Test the build recursive function. * + * @param $source * @param $path * @param $expected * @@ -339,13 +341,13 @@ class CRM_Utils_ArrayTest extends CiviUnitTestCase { '2' => 'boz', ], 'my_complex' => [ - 'dog' => 'woof', - 'asdf' => [ - 'my_zero' => 0, - 'my_int' => 1, - 'my_null' => NULL, - 'my_empty' => '', - ], + 'dog' => 'woof', + 'asdf' => [ + 'my_zero' => 0, + 'my_int' => 1, + 'my_null' => NULL, + 'my_empty' => '', + ], ], 'my_simple' => 999, ];