forked from codeigniter4/CodeIgniter4
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCellTest.php
More file actions
129 lines (91 loc) · 3.57 KB
/
Copy pathCellTest.php
File metadata and controls
129 lines (91 loc) · 3.57 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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?php
use CodeIgniter\View\Cell;
use CodeIgniter\Cache\Handlers\MockHandler;
include_once __DIR__ .'/SampleClass.php';
class CellTest extends \CIUnitTestCase
{
protected $cache;
/**
* @var Cell
*/
protected $cell;
//--------------------------------------------------------------------
public function setup()
{
$this->cache = new MockHandler();
$this->cell = new Cell($this->cache);
}
//--------------------------------------------------------------------
public function testPrepareParamsReturnsNullWithInvalidParam()
{
$this->assertTrue(is_null($this->cell->prepareParams(1.023)));
}
//--------------------------------------------------------------------
public function testPrepareParamsReturnsNullWithEmptyString()
{
$this->assertNull($this->cell->prepareParams(''));
}
//--------------------------------------------------------------------
public function testPrepareParamsRetunsSelfWhenArray()
{
$object = ['one' => 'two', 'three' => 'four'];
$this->assertEquals($object, $this->cell->prepareParams($object));
}
//--------------------------------------------------------------------
public function testPrepareParamsReturnsNullWithEmptyArray()
{
$this->assertNull($this->cell->prepareParams([]));
}
//--------------------------------------------------------------------
public function testPrepareParamsReturnsArrayWithString()
{
$params = 'one=two three=four';
$expected = ['one' => 'two', 'three' => 'four'];
$this->assertEquals($expected, $this->cell->prepareParams($params));
}
//--------------------------------------------------------------------
public function testPrepareParamsHandlesCommas()
{
$params = 'one=2, three=4.15';
$expected = ['one' => 2, 'three' => 4.15];
$this->assertEquals($expected, $this->cell->prepareParams($params));
}
//--------------------------------------------------------------------
public function testPrepareParamsWorksWithoutSpaces()
{
$params = 'one=two,three=four';
$expected = ['one' => 'two', 'three' => 'four'];
$this->assertEquals($expected, $this->cell->prepareParams($params));
}
//--------------------------------------------------------------------
public function testPrepareParamsWorksWithOddEqualsSpaces()
{
$params = 'one= two,three =four, five = six';
$expected = ['one' => 'two', 'three' => 'four', 'five' => 'six'];
$this->assertEquals($expected, $this->cell->prepareParams($params));
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
// Render
//--------------------------------------------------------------------
public function testDisplayRendersWithNamespacedClass()
{
$expected = 'Hello';
$this->assertEquals($expected, $this->cell->render('\CodeIgniter\View\SampleClass::hello'));
}
//--------------------------------------------------------------------
public function testDisplayRendersWithValidParamString()
{
$params = 'one=two,three=four';
$expected = ['one' => 'two', 'three' => 'four'];
$this->assertEquals(implode(',', $expected), $this->cell->render('\CodeIgniter\View\SampleClass::echobox', $params));
}
//--------------------------------------------------------------------
public function testDisplayRendersWithStaticMethods()
{
$params = 'one=two,three=four';
$expected = ['one' => 'two', 'three' => 'four'];
$this->assertEquals(implode(',', $expected), $this->cell->render('\CodeIgniter\View\SampleClass::staticEcho', $params));
}
//--------------------------------------------------------------------
}