forked from codeigniter4/CodeIgniter4
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFileLocatorTest.php
More file actions
121 lines (83 loc) · 3.04 KB
/
Copy pathFileLocatorTest.php
File metadata and controls
121 lines (83 loc) · 3.04 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
<?php namespace CodeIgniter\Autoloader;
use Config\MockAutoload;
class FileLocatorTest extends \PHPUnit_Framework_TestCase
{
/**
* @var MockFileLocator
*/
protected $loader;
//--------------------------------------------------------------------
public function setUp()
{
$config = new MockAutoload();
$config->psr4 = [
'App\Libraries' => '/application/somewhere',
'App' => '/application',
'Blog' => '/modules/blog'
];
$this->loader = new MockFileLocator($config);
$this->loader->setFiles([
APPPATH.'index.php',
APPPATH.'Views/index.php',
APPPATH.'Views/admin/users/create.php',
'/modules/blog/Views/index.php',
'/modules/blog/Views/admin/posts.php'
]);
}
//--------------------------------------------------------------------
public function testLocateFileWorksInApplicationDirectory()
{
$file = 'index';
$expected = APPPATH.'Views/index.php';
$this->assertEquals($expected, $this->loader->locateFile($file, 'Views'));
}
//--------------------------------------------------------------------
public function testLocateFileWorksInApplicationDirectoryWithoutFolder()
{
$file = 'index';
$expected = APPPATH.'index.php';
$this->assertEquals($expected, $this->loader->locateFile($file));
}
//--------------------------------------------------------------------
public function testLocateFileWorksInNestedApplicationDirectory()
{
$file = 'admin/users/create';
$expected = APPPATH.'Views/admin/users/create.php';
$this->assertEquals($expected, $this->loader->locateFile($file, 'Views'));
}
//--------------------------------------------------------------------
public function testLocateFileReplacesFolderName()
{
$file = '\Blog\Views/admin/posts.php';
$expected = '/modules/blog/Views/admin/posts.php';
$this->assertEquals($expected, $this->loader->locateFile($file, 'Views'));
}
//--------------------------------------------------------------------
public function testLocateFileReplacesFolderNameLegacy()
{
$file = 'Views/index.php';
$expected = APPPATH.'Views/index.php';
$this->assertEquals($expected, $this->loader->locateFile($file, 'Views'));
}
//--------------------------------------------------------------------
public function testLocateFileCanFindNamespacedView()
{
$file = '\Blog\index';
$expected = '/modules/blog/Views/index.php';
$this->assertEquals($expected, $this->loader->locateFile($file, 'Views'));
}
//--------------------------------------------------------------------
public function testLocateFileCanFindNestedNamespacedView()
{
$file = '\Blog\admin/posts.php';
$expected = '/modules/blog/Views/admin/posts.php';
$this->assertEquals($expected, $this->loader->locateFile($file, 'Views'));
}
//--------------------------------------------------------------------
public function testLocateFileReturnsEmptyWithBadNamespace()
{
$file = '\Blogger\admin/posts.php';
$this->assertEquals('', $this->loader->locateFile($file, 'Views'));
}
//--------------------------------------------------------------------
}