Arrays.renameKey().phpt 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. /**
  3. * Test: Nette\Utils\Arrays::renameKey()
  4. */
  5. declare(strict_types=1);
  6. use Nette\Utils\Arrays;
  7. use Tester\Assert;
  8. require __DIR__ . '/../bootstrap.php';
  9. $arr = [
  10. '' => 'first',
  11. 0 => 'second',
  12. 7 => 'fourth',
  13. 1 => 'third',
  14. ];
  15. Assert::true(Arrays::renameKey($arr, '1', 'new1'));
  16. Assert::same([
  17. '' => 'first',
  18. 0 => 'second',
  19. 7 => 'fourth',
  20. 'new1' => 'third',
  21. ], $arr);
  22. Arrays::renameKey($arr, 0, 'new2');
  23. Assert::same([
  24. '' => 'first',
  25. 'new2' => 'second',
  26. 7 => 'fourth',
  27. 'new1' => 'third',
  28. ], $arr);
  29. Arrays::renameKey($arr, '', 'new3');
  30. Assert::same([
  31. 'new3' => 'first',
  32. 'new2' => 'second',
  33. 7 => 'fourth',
  34. 'new1' => 'third',
  35. ], $arr);
  36. Arrays::renameKey($arr, '', 'new4');
  37. Assert::same([
  38. 'new3' => 'first',
  39. 'new2' => 'second',
  40. 7 => 'fourth',
  41. 'new1' => 'third',
  42. ], $arr);
  43. Assert::false(Arrays::renameKey($arr, 'undefined', 'new5'));
  44. Assert::same([
  45. 'new3' => 'first',
  46. 'new2' => 'second',
  47. 7 => 'fourth',
  48. 'new1' => 'third',
  49. ], $arr);
  50. Arrays::renameKey($arr, 'new2', 'new3');
  51. Assert::same([
  52. 'new3' => 'second',
  53. 7 => 'fourth',
  54. 'new1' => 'third',
  55. ], $arr);
  56. Arrays::renameKey($arr, 'new3', 'new1');
  57. Assert::same([
  58. 'new1' => 'second',
  59. 7 => 'fourth',
  60. ], $arr);
  61. Assert::true(Arrays::renameKey($arr, 'new1', 'new1'));
  62. Assert::same([
  63. 'new1' => 'second',
  64. 7 => 'fourth',
  65. ], $arr);