diff --git a/Model/Html/Head.php b/Model/Html/Head.php
index f0d743416..32e550aef 100644
--- a/Model/Html/Head.php
+++ b/Model/Html/Head.php
@@ -310,7 +310,7 @@ class Head implements RenderableInterface
$rendered .= ' ' . $key . '="' . $attribute . '"';
}
- $rendered .='>';
+ $rendered .= '>';
}
}
@@ -328,14 +328,14 @@ class Head implements RenderableInterface
{
$rendered = '';
foreach ($this->assets as $uri => $asset) {
- if ($asset['type']=== AssetType::JSLATE) {
+ if ($asset['type'] === AssetType::JSLATE) {
$rendered .= '';
+ $rendered .= '>';
}
}
diff --git a/tests/Model/Html/HeadTest.php b/tests/Model/Html/HeadTest.php
index 0956b3b87..5f7488642 100644
--- a/tests/Model/Html/HeadTest.php
+++ b/tests/Model/Html/HeadTest.php
@@ -68,4 +68,15 @@ class HeadTest extends \PHPUnit\Framework\TestCase
self::assertEquals('', $head->renderAssetsLate());
}
+
+ public function testAssetWithAttribute() : void
+ {
+ $head = new Head();
+
+ $head->addAsset(AssetType::JSLATE, '/path/late.js', ['testkey' => 'testvalue']);
+ self::assertEquals('', $head->renderAssetsLate());
+
+ $head->addAsset(AssetType::JS, '/path/late.js', ['testkey' => 'testvalue']);
+ self::assertEquals('', $head->renderAssets());
+ }
}
diff --git a/tests/Router/RouterTest.php b/tests/Router/RouterTest.php
index 404fccfe6..280022751 100644
--- a/tests/Router/RouterTest.php
+++ b/tests/Router/RouterTest.php
@@ -105,6 +105,31 @@ class RouterTest extends \PHPUnit\Framework\TestCase
);
}
+ public function testWithCSRF() : void
+ {
+ $router = new Router();
+ self::assertTrue($router->importFromFile(__Dir__ . '/routeTestCsrf.php'));
+
+ self::assertEquals(
+ [['dest' => '\Modules\Admin\Controller:viewCsrf']],
+ $router->route(
+ (new Request(
+ new Http('http://test.com/backend/admin/settings/csrf/something?test')
+ ))->getUri()->getRoute(),
+ 'csrf_string'
+ )
+ );
+
+ self::assertEquals(
+ [],
+ $router->route(
+ (new Request(
+ new Http('http://test.com/backend/admin/settings/csrf/something?test')
+ ))->getUri()->getRoute(),
+ )
+ );
+ }
+
public function testWithPermissions() : void
{
$router = new Router();
diff --git a/tests/Router/routeTestCsrf.php b/tests/Router/routeTestCsrf.php
new file mode 100644
index 000000000..3a2521745
--- /dev/null
+++ b/tests/Router/routeTestCsrf.php
@@ -0,0 +1,10 @@
+ [
+ 0 => [
+ 'dest' => '\Modules\Admin\Controller:viewCsrf',
+ 'verb' => 1,
+ 'csrf' => true
+ ],
+ ],
+];
diff --git a/tests/Router/routerTestFile.php b/tests/Router/routerTestFile.php
index 71703ccf7..5c354d503 100644
--- a/tests/Router/routerTestFile.php
+++ b/tests/Router/routerTestFile.php
@@ -1,9 +1,9 @@
[
+ '^.*/backend/admin/settings/general.*$' => [
0 => [
- "dest" => "\Modules\Admin\Controller:viewSettingsGeneral",
- "verb" => 1,
+ 'dest' => '\Modules\Admin\Controller:viewSettingsGeneral',
+ 'verb' => 1,
],
],
];
diff --git a/tests/Router/routerTestFilePermission.php b/tests/Router/routerTestFilePermission.php
index 5e2a02c2d..22563f525 100644
--- a/tests/Router/routerTestFilePermission.php
+++ b/tests/Router/routerTestFilePermission.php
@@ -6,10 +6,10 @@ use phpOMS\Account\PermissionType;
use phpOMS\Router\RouteVerb;
return [
- "^.*/backend/admin/settings/general.*$" => [
+ '^.*/backend/admin/settings/general.*$' => [
0 => [
- "dest" => "\Modules\Admin\Controller:viewSettingsGeneral",
- "verb" => RouteVerb::GET,
+ 'dest' => '\Modules\Admin\Controller:viewSettingsGeneral',
+ 'verb' => RouteVerb::GET,
'permission' => [
'module' => BackendController::MODULE_NAME,
'type' => PermissionType::READ,
diff --git a/tests/Uri/HttpTest.php b/tests/Uri/HttpTest.php
index 44ef359fd..96bf0d05a 100644
--- a/tests/Uri/HttpTest.php
+++ b/tests/Uri/HttpTest.php
@@ -50,30 +50,65 @@ class HttpTest extends \PHPUnit\Framework\TestCase
self::assertFalse(Http::isValid('https:/google.de'));
}
- public function testSetGet() : void
+ public function testGeneralUriComponents() : void
{
$obj = new Http($uri = 'https://www.google.com/test/path.php?para1=abc¶2=2#frag');
- self::assertEquals('', $obj->getRootPath());
- self::assertEquals(0, $obj->getPathOffset());
self::assertEquals('https', $obj->getScheme());
self::assertEquals('www.google.com', $obj->getHost());
self::assertEquals(80, $obj->getPort());
self::assertEquals('', $obj->getPass());
self::assertEquals('', $obj->getUser());
- self::assertEquals('/test/path', $obj->getPath());
- self::assertEquals('/test/path?para1=abc¶2=2', $obj->getRoute());
- self::assertEquals('test', $obj->getPathElement(0));
- self::assertEquals('para1=abc¶2=2', $obj->getQuery());
- self::assertEquals(['para1' => 'abc', 'para2' => '2'], $obj->getQueryArray());
- self::assertEquals('2', $obj->getQuery('para2'));
- self::assertEquals('frag', $obj->getFragment());
self::assertEquals('https://www.google.com', $obj->getBase());
self::assertEquals($uri, $obj->__toString());
self::assertEquals('www.google.com:80', $obj->getAuthority());
self::assertEquals('', $obj->getUserInfo());
+ }
+
+ public function testRootPath() : void
+ {
+ $obj = new Http('https://www.google.com/test/path.php?para1=abc¶2=2#frag');
+ self::assertEquals('', $obj->getRootPath());
$obj->setRootPath('a');
self::assertEquals('a', $obj->getRootPath());
}
+
+ public function testPathOffset() : void
+ {
+ $obj = new Http('https://www.google.com/test/path.php?para1=abc¶2=2#frag');
+ self::assertEquals(0, $obj->getPathOffset());
+
+ $obj->setPathOffset(2);
+ self::assertEquals(2, $obj->getPathOffset());
+ }
+
+ public function testSubdmonain() : void
+ {
+ $obj = new Http('https://www.google.com/test/path.php?para1=abc¶2=2#frag');
+ self::assertEquals('www', $obj->getSubmdomain());
+
+ $obj = new Http('https://google.com/test/path.php?para1=abc¶2=2#frag');
+ self::assertEquals('', $obj->getSubmdomain());
+
+ $obj = new Http('https://test.www.google.com/test/path.php?para1=abc¶2=2#frag');
+ self::assertEquals('test.www', $obj->getSubmdomain());
+ }
+
+ public function testQueryData() : void
+ {
+ $obj = new Http('https://www.google.com/test/path.php?para1=abc¶2=2#frag');
+ self::assertEquals('para1=abc¶2=2', $obj->getQuery());
+ self::assertEquals(['para1' => 'abc', 'para2' => '2'], $obj->getQueryArray());
+ self::assertEquals('2', $obj->getQuery('para2'));
+ self::assertEquals('frag', $obj->getFragment());
+ }
+
+ public function testPathData() : void
+ {
+ $obj = new Http('https://www.google.com/test/path.php?para1=abc¶2=2#frag');
+ self::assertEquals('/test/path', $obj->getPath());
+ self::assertEquals('/test/path?para1=abc¶2=2', $obj->getRoute());
+ self::assertEquals('test', $obj->getPathElement(0));
+ }
}
diff --git a/tests/Views/ViewTest.php b/tests/Views/ViewTest.php
index c17552797..06a4f69eb 100644
--- a/tests/Views/ViewTest.php
+++ b/tests/Views/ViewTest.php
@@ -113,6 +113,16 @@ class ViewTest extends \PHPUnit\Framework\TestCase
self::assertFalse($view->getView('test'));
}
+ public function testOverwritingView() : void
+ {
+ $view = new View();
+ $tView = new View();
+
+ self::assertTrue($view->addView('test', $tView));
+ self::assertTrue($view->addView('test', $tView, 0, true));
+ self::assertFalse($view->addView('test', $tView));
+ }
+
public function testRender() : void
{
$view = new View();