From faf3069656ff22c7e68487ca64135ab9368a686d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maria=20Vilar=C3=B3?= Date: Tue, 11 Jun 2019 10:08:08 +0200 Subject: [PATCH] Add tests for optional wildcard (#3964) Related: https://github.com/octobercms/library/pull/363 --- .../themes/test/pages/blog-category.htm | 4 ++++ tests/unit/cms/classes/CmsObjectQueryTest.php | 1 + tests/unit/cms/classes/RouterTest.php | 20 +++++++++++++++++++ 3 files changed, 25 insertions(+) create mode 100644 tests/fixtures/themes/test/pages/blog-category.htm diff --git a/tests/fixtures/themes/test/pages/blog-category.htm b/tests/fixtures/themes/test/pages/blog-category.htm new file mode 100644 index 000000000..0f9389013 --- /dev/null +++ b/tests/fixtures/themes/test/pages/blog-category.htm @@ -0,0 +1,4 @@ +url = "/blog/category-page/:category_name?*" +== +

Blog category

+

This is a blog category page

\ No newline at end of file diff --git a/tests/unit/cms/classes/CmsObjectQueryTest.php b/tests/unit/cms/classes/CmsObjectQueryTest.php index 2e6fbf3f0..d43092332 100644 --- a/tests/unit/cms/classes/CmsObjectQueryTest.php +++ b/tests/unit/cms/classes/CmsObjectQueryTest.php @@ -63,6 +63,7 @@ class CmsObjectQueryTest extends TestCase "authors", "b/b-page", "blog-archive", + "blog-category", "blog-post", "code-namespaces", "code-namespaces-aliases", diff --git a/tests/unit/cms/classes/RouterTest.php b/tests/unit/cms/classes/RouterTest.php index eddc51a62..db378394e 100644 --- a/tests/unit/cms/classes/RouterTest.php +++ b/tests/unit/cms/classes/RouterTest.php @@ -143,6 +143,26 @@ class RouterTest extends TestCase $this->assertNotEmpty($page); $this->assertEquals('blog-archive.htm', $page->getFileName()); $this->assertCount(1, $parameters); + + $page = $router->findByUrl('blog/category-page'); + $parameters = $router->getParameters(); + $this->assertNotEmpty($page); + $this->assertEquals('blog-category.htm', $page->getFileName()); + $this->assertCount(1, $parameters); + $this->assertEquals(array_keys($parameters)[0], 'category_name'); + $this->assertEmpty($parameters[array_keys($parameters)[0]]); + + $page = $router->findByUrl('blog/category-page/categoryName'); + $parameters = $router->getParameters(); + $this->assertNotEmpty($page); + $this->assertEquals('blog-category.htm', $page->getFileName()); + $this->assertCount(1, $parameters); + + $page = $router->findByUrl('blog/category-page/categoryName/subCategoryName'); + $parameters = $router->getParameters(); + $this->assertNotEmpty($page); + $this->assertEquals('blog-category.htm', $page->getFileName()); + $this->assertCount(1, $parameters); } public function testFindPageFromSubdirectory()