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
|
<?php
declare(strict_types=1);
namespace PhpMyAdmin\Tests;
use FastRoute\Dispatcher;
use PhpMyAdmin\Controllers\HomeController;
use PhpMyAdmin\Routing;
class RoutingTest extends AbstractTestCase
{
/**
* Test for Routing::getDispatcher
*/
public function testGetDispatcher(): void
{
$dispatcher = Routing::getDispatcher();
$this->assertInstanceOf(Dispatcher::class, $dispatcher);
$this->assertSame([
Dispatcher::FOUND,
[
HomeController::class,
'index',
],
[],
], $dispatcher->dispatch('GET', '/'));
}
/**
* Test for Routing::getCurrentRoute
*/
public function testGetCurrentRouteNoParams(): void
{
$this->assertSame('/', Routing::getCurrentRoute());
}
/**
* Test for Routing::getCurrentRoute
*/
public function testGetCurrentRouteGet(): void
{
$_GET['route'] = '/test';
$this->assertSame('/test', Routing::getCurrentRoute());
}
/**
* Test for Routing::getCurrentRoute
*/
public function testGetCurrentRoutePost(): void
{
unset($_GET['route']);
$_POST['route'] = '/testpost';
$this->assertSame('/testpost', Routing::getCurrentRoute());
}
/**
* Test for Routing::getCurrentRoute
*/
public function testGetCurrentRouteGetIsOverPost(): void
{
$_GET['route'] = '/testget';
$_POST['route'] = '/testpost';
$this->assertSame('/testget', Routing::getCurrentRoute());
}
/**
* Test for Routing::getCurrentRoute
*/
public function testGetCurrentRouteRedirectDbStructure(): void
{
unset($_POST['route']);
unset($_GET['route']);
$_GET['db'] = 'testDB';
$this->assertSame('/database/structure', Routing::getCurrentRoute());
}
/**
* Test for Routing::getCurrentRoute
*/
public function testGetCurrentRouteRedirectSql(): void
{
$_GET['db'] = 'testDB';
$_GET['table'] = 'tableTest';
$this->assertSame('/sql', Routing::getCurrentRoute());
}
}
|