forked from laravel/framework
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUtilTest.php
More file actions
43 lines (38 loc) · 1.41 KB
/
Copy pathUtilTest.php
File metadata and controls
43 lines (38 loc) · 1.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
namespace Illuminate\Tests\Container;
use Illuminate\Container\Util;
use PHPUnit\Framework\TestCase;
use stdClass;
class UtilTest extends TestCase
{
public function testUnwrapIfClosure()
{
$this->assertSame('foo', Util::unwrapIfClosure('foo'));
$this->assertSame('foo', Util::unwrapIfClosure(function () {
return 'foo';
}));
}
public function testArrayWrap()
{
$string = 'a';
$array = ['a'];
$object = new stdClass;
$object->value = 'a';
$this->assertEquals(['a'], Util::arrayWrap($string));
$this->assertEquals($array, Util::arrayWrap($array));
$this->assertEquals([$object], Util::arrayWrap($object));
$this->assertEquals([], Util::arrayWrap(null));
$this->assertEquals([null], Util::arrayWrap([null]));
$this->assertEquals([null, null], Util::arrayWrap([null, null]));
$this->assertEquals([''], Util::arrayWrap(''));
$this->assertEquals([''], Util::arrayWrap(['']));
$this->assertEquals([false], Util::arrayWrap(false));
$this->assertEquals([false], Util::arrayWrap([false]));
$this->assertEquals([0], Util::arrayWrap(0));
$obj = new stdClass;
$obj->value = 'a';
$obj = unserialize(serialize($obj));
$this->assertEquals([$obj], Util::arrayWrap($obj));
$this->assertSame($obj, Util::arrayWrap($obj)[0]);
}
}