SupportOptionalTest.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <?php
  2. namespace Illuminate\Tests\Support;
  3. use Illuminate\Support\Optional;
  4. use PHPUnit\Framework\TestCase;
  5. use stdClass;
  6. class SupportOptionalTest extends TestCase
  7. {
  8. public function testGetExistItemOnObject()
  9. {
  10. $expected = 'test';
  11. $targetObj = new stdClass;
  12. $targetObj->item = $expected;
  13. $optional = new Optional($targetObj);
  14. $this->assertEquals($expected, $optional->item);
  15. }
  16. public function testGetNotExistItemOnObject()
  17. {
  18. $targetObj = new stdClass;
  19. $optional = new Optional($targetObj);
  20. $this->assertNull($optional->item);
  21. }
  22. public function testIssetExistItemOnObject()
  23. {
  24. $targetObj = new stdClass;
  25. $targetObj->item = '';
  26. $optional = new Optional($targetObj);
  27. $this->assertTrue(isset($optional->item));
  28. }
  29. public function testIssetNotExistItemOnObject()
  30. {
  31. $targetObj = new stdClass;
  32. $optional = new Optional($targetObj);
  33. $this->assertFalse(isset($optional->item));
  34. }
  35. public function testGetExistItemOnArray()
  36. {
  37. $expected = 'test';
  38. $targetArr = [
  39. 'item' => $expected,
  40. ];
  41. $optional = new Optional($targetArr);
  42. $this->assertEquals($expected, $optional['item']);
  43. }
  44. public function testGetNotExistItemOnArray()
  45. {
  46. $targetObj = [];
  47. $optional = new Optional($targetObj);
  48. $this->assertNull($optional['item']);
  49. }
  50. public function testIssetExistItemOnArray()
  51. {
  52. $targetArr = [
  53. 'item' => '',
  54. ];
  55. $optional = new Optional($targetArr);
  56. $this->assertTrue(isset($optional['item']));
  57. $this->assertTrue(isset($optional->item));
  58. }
  59. public function testIssetNotExistItemOnArray()
  60. {
  61. $targetArr = [];
  62. $optional = new Optional($targetArr);
  63. $this->assertFalse(isset($optional['item']));
  64. $this->assertFalse(isset($optional->item));
  65. }
  66. public function testIssetExistItemOnNull()
  67. {
  68. $targetNull = null;
  69. $optional = new Optional($targetNull);
  70. $this->assertFalse(isset($optional->item));
  71. }
  72. }