diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 694a7d36683..321993d7e44 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -10,13 +10,22 @@ This serves two purposes: 2. At release time, you can move the Unreleased section changes into a new release version section. ### Added -- for new features. +- Added a new `HydeKernel::currentPage()` method to return the page being rendered. ### Changed -- for changes in existing functionality. +- Renamed global `$currentRoute` and `$currentPage` variables to `$route` and `$routeKey` respectively. +- Renamed `Render::getCurrentRoute()` to `Render::getRoute()` to match renamed property. +- Renamed `Render::getCurrentPage()` to `Render::getRouteKey()` to match renamed property. ### Deprecated + +This release candidate version contains a few deprecations, these will be removed before the final 1.0.0 release. + - Deprecate `RouteKey::normalize` method as it no longer performs any normalization. +- Deprecate `RenderData::getCurrentRoute()` as it is renamed to `getRoute()` to match renamed property. + - This change affects the `Render::getCurrentRoute()` and `Hyde::currentRoute()` facade methods. +- Deprecate `RenderData::getCurrentPage()` as it is renamed to `getRouteKey()` to match renamed property. + - This change affects the `Render::getCurrentPage()` and `Hyde::currentPage()` facade methods. ### Removed - Remove RouteKey normalization for dot notation support by @caendesilva in https://github.com/hydephp/develop/pull/1241 diff --git a/_ide_helper.php b/_ide_helper.php index ae5e55a540e..5ac7da5a349 100644 --- a/_ide_helper.php +++ b/_ide_helper.php @@ -16,11 +16,23 @@ /** @var \Hyde\Pages\Concerns\HydePage $page The page being compiled/previewed */ $page = \Hyde\Support\Facades\Render::getPage(); -/** @var \Hyde\Support\Models\Route $currentRoute The route for the page being compiled/previewed */ -$currentRoute = \Hyde\Support\Facades\Render::getCurrentRoute(); +/** + * @var \Hyde\Support\Models\Route $currentRoute The route for the page being compiled/previewed + * @deprecated Renamed to $route as "current" is implied + */ +$currentRoute = \Hyde\Support\Facades\Render::getRoute(); + +/** + * @var string $currentPage The route key for the page being compiled/previewed + * @deprecated Renamed to $routeKey as "current" is implied, and it's not a page + */ +$currentPage = \Hyde\Support\Facades\Render::getRouteKey(); + +/*** @var \Hyde\Support\Models\Route $currentRoute The route for the page being compiled/previewed */ +$route = \Hyde\Support\Facades\Render::getRoute(); /** @var string $currentPage The route key for the page being compiled/previewed */ -$currentPage = \Hyde\Support\Facades\Render::getCurrentPage(); +$routeKey = \Hyde\Support\Facades\Render::getRouteKey(); // Facades (aliased in app/config.php) diff --git a/packages/framework/src/Foundation/Concerns/ManagesViewData.php b/packages/framework/src/Foundation/Concerns/ManagesViewData.php index 6583141120f..46ff7c99e78 100644 --- a/packages/framework/src/Foundation/Concerns/ManagesViewData.php +++ b/packages/framework/src/Foundation/Concerns/ManagesViewData.php @@ -26,9 +26,9 @@ public function shareViewData(HydePage $page): void /** * Get the route key for the page being rendered. */ - public function currentPage(): ?string + public function currentRouteKey(): ?string { - return Render::getCurrentPage(); + return Render::getRouteKey(); } /** @@ -36,6 +36,14 @@ public function currentPage(): ?string */ public function currentRoute(): ?Route { - return Render::getCurrentRoute(); + return Render::getRoute(); + } + + /** + * Get the page being rendered. + */ + public function currentPage(): ?HydePage + { + return Render::getPage(); } } diff --git a/packages/framework/src/Foundation/Kernel/Hyperlinks.php b/packages/framework/src/Foundation/Kernel/Hyperlinks.php index b610989e7db..6743906b26d 100644 --- a/packages/framework/src/Foundation/Kernel/Hyperlinks.php +++ b/packages/framework/src/Foundation/Kernel/Hyperlinks.php @@ -71,7 +71,7 @@ public function relativeLink(string $destination): string return $destination; } - $nestCount = substr_count($this->kernel->currentPage() ?? '', '/'); + $nestCount = substr_count($this->kernel->currentRouteKey() ?? '', '/'); $route = ''; if ($nestCount > 0) { $route .= str_repeat('../', $nestCount); diff --git a/packages/framework/src/Support/Facades/Render.php b/packages/framework/src/Support/Facades/Render.php index 7a4629450ab..b60f3745d56 100644 --- a/packages/framework/src/Support/Facades/Render.php +++ b/packages/framework/src/Support/Facades/Render.php @@ -16,8 +16,8 @@ * * @method static void setPage(HydePage $page) * @method static HydePage|null getPage() - * @method static Route|null getCurrentRoute() - * @method static string|null getCurrentPage() + * @method static Route|null getRoute() + * @method static string|null getRouteKey() * @method static void share(string $key, mixed $value) * @method static void shareToView() * @method static void clearData() diff --git a/packages/framework/src/Support/Models/RenderData.php b/packages/framework/src/Support/Models/RenderData.php index 7aba0919e41..78bd8e0dd3d 100644 --- a/packages/framework/src/Support/Models/RenderData.php +++ b/packages/framework/src/Support/Models/RenderData.php @@ -8,6 +8,7 @@ use Illuminate\Contracts\Support\Arrayable; use Illuminate\Support\Facades\View; use InvalidArgumentException; +use JetBrains\PhpStorm\Deprecated; /** * Contains data for the current page being rendered/compiled. @@ -20,14 +21,14 @@ class RenderData implements Arrayable { protected HydePage $page; - protected Route $currentRoute; - protected string $currentPage; + protected Route $route; + protected string $routeKey; public function setPage(HydePage $page): void { $this->page = $page; - $this->currentRoute = $page->getRoute(); - $this->currentPage = $page->getRouteKey(); + $this->route = $page->getRoute(); + $this->routeKey = $page->getRouteKey(); $this->shareToView(); } @@ -37,14 +38,34 @@ public function getPage(): ?HydePage return $this->page ?? null; } + /** + * @deprecated v1.0.0-RC.2 - Renamed to getRoute() to match renamed property. This method will be removed before version 1.0. + * @codeCoverageIgnore + */ + #[Deprecated(reason: 'Renamed to getRoute() to match renamed property. This method will be removed before version 1.0.', replacement: '%class%->getRoute()')] public function getCurrentRoute(): ?Route { - return $this->currentRoute ?? null; + return $this->getRoute(); + } + + public function getRoute(): ?Route + { + return $this->route ?? null; } + /** + * @deprecated v1.0.0-RC.2 - Renamed to getRouteKey() to match renamed property. This method will be removed before version 1.0. + * @codeCoverageIgnore + */ + #[Deprecated(reason: 'Renamed to getRoute() to match renamed property. This method will be removed before version 1.0.', replacement: '%class%->getRouteKey()')] public function getCurrentPage(): ?string { - return $this->currentPage ?? null; + return $this->getRouteKey(); + } + + public function getRouteKey(): ?string + { + return $this->routeKey ?? null; } public function shareToView(): void @@ -64,8 +85,8 @@ public function share(string $key, mixed $value): void public function clearData(): void { - unset($this->page, $this->currentRoute, $this->currentPage); - View::share(['page' => null, 'currentRoute' => null, 'currentPage' => null]); + unset($this->page, $this->route, $this->routeKey); + View::share(['page' => null, 'route' => null, 'routeKey' => null]); } /** @@ -76,8 +97,8 @@ public function toArray(): array return [ 'render' => $this, 'page' => $this->getPage(), - 'currentRoute' => $this->getCurrentRoute(), - 'currentPage' => $this->getCurrentPage(), + 'route' => $this->getRoute(), + 'routeKey' => $this->getRouteKey(), ]; } } diff --git a/packages/framework/tests/Feature/DarkmodeFeatureTest.php b/packages/framework/tests/Feature/DarkmodeFeatureTest.php index 1f7382e92bf..d1f16c24903 100644 --- a/packages/framework/tests/Feature/DarkmodeFeatureTest.php +++ b/packages/framework/tests/Feature/DarkmodeFeatureTest.php @@ -47,7 +47,7 @@ public function test_layout_has_toggle_button_and_script_when_enabled() $view = view('hyde::layouts/page')->with([ 'title' => 'foo', 'content' => 'foo', - 'currentPage' => 'foo', + 'routeKey' => 'foo', ])->render(); $this->assertStringContainsString('title="Toggle theme"', $view); @@ -66,7 +66,7 @@ public function test_documentation_page_has_toggle_button_and_script_when_enable $view = view('hyde::layouts/docs')->with([ 'title' => 'foo', 'content' => 'foo', - 'currentPage' => 'foo', + 'routeKey' => 'foo', ])->render(); $this->assertStringContainsString('title="Toggle theme"', $view); @@ -83,7 +83,7 @@ public function test_dark_mode_theme_button_is_hidden_in_layouts_when_disabled() $view = view('hyde::layouts/page')->with([ 'title' => 'foo', 'content' => 'foo', - 'currentPage' => 'foo', + 'routeKey' => 'foo', ])->render(); $this->assertStringNotContainsString('title="Toggle theme"', $view); @@ -101,7 +101,7 @@ public function test_dark_mode_theme_button_is_hidden_in_documentation_pages_whe $view = view('hyde::layouts/docs')->with([ 'title' => 'foo', 'content' => 'foo', - 'currentPage' => 'foo', + 'routeKey' => 'foo', ])->render(); $this->assertStringNotContainsString('title="Toggle theme"', $view); diff --git a/packages/framework/tests/Feature/GlobalMetadataBagTest.php b/packages/framework/tests/Feature/GlobalMetadataBagTest.php index 6ba053a3311..a721b1620cc 100644 --- a/packages/framework/tests/Feature/GlobalMetadataBagTest.php +++ b/packages/framework/tests/Feature/GlobalMetadataBagTest.php @@ -119,7 +119,7 @@ public function test_metadata_existing_in_the_current_page_is_not_added() $page = new MarkdownPage('foo'); $page->metadata->add($duplicate); - Render::share('currentPage', 'foo'); + Render::share('routeKey', 'foo'); Render::share('page', $page); $this->assertEquals(['metadata:keep' => $keep], GlobalMetadataBag::make()->get()); @@ -134,7 +134,7 @@ public function test_metadata_existing_in_the_current_page_is_not_added_regardle $page = new MarkdownPage('foo'); $page->metadata->add(Meta::name('foo', 'baz')); - Render::share('currentPage', 'foo'); + Render::share('routeKey', 'foo'); Render::share('page', $page); $this->assertEquals([], GlobalMetadataBag::make()->get()); diff --git a/packages/framework/tests/Feature/HydeKernelTest.php b/packages/framework/tests/Feature/HydeKernelTest.php index a7080cd77e3..1c2b34a6dae 100644 --- a/packages/framework/tests/Feature/HydeKernelTest.php +++ b/packages/framework/tests/Feature/HydeKernelTest.php @@ -13,6 +13,7 @@ use Hyde\Framework\HydeServiceProvider; use Hyde\Hyde; use Hyde\Pages\BladePage; +use Hyde\Pages\Concerns\HydePage; use Hyde\Pages\DocumentationPage; use Hyde\Pages\InMemoryPage; use Hyde\Pages\MarkdownPage; @@ -79,17 +80,24 @@ public function test_has_feature_helper_calls_method_on_features_class() public function test_current_page_helper_returns_current_page_name() { - Render::share('currentPage', 'foo'); - $this->assertSame('foo', Hyde::currentPage()); + Render::share('routeKey', 'foo'); + $this->assertSame('foo', Hyde::currentRouteKey()); } public function test_current_route_helper_returns_current_route_object() { $expected = new Route(new MarkdownPage()); - Render::share('currentRoute', $expected); + Render::share('route', $expected); $this->assertInstanceOf(Route::class, Hyde::currentRoute()); $this->assertSame($expected, Hyde::currentRoute()); - $this->assertSame($expected, Hyde::currentRoute()); + } + + public function test_current_page_helper_returns_current_page_object() + { + $expected = new MarkdownPage(); + Render::share('page', $expected); + $this->assertInstanceOf(HydePage::class, Hyde::currentPage()); + $this->assertSame($expected, Hyde::currentPage()); } public function test_make_title_helper_returns_title_from_page_slug() @@ -151,29 +159,29 @@ public function test_format_html_path_helper_formats_path_according_to_config_ru public function test_relative_link_helper_returns_relative_link_to_destination() { - Render::share('currentPage', 'bar'); + Render::share('routeKey', 'bar'); $this->assertSame('foo', Hyde::relativeLink('foo')); - Render::share('currentPage', 'foo/bar'); + Render::share('routeKey', 'foo/bar'); $this->assertSame('../foo', Hyde::relativeLink('foo')); } public function test_media_link_helper_returns_relative_link_to_destination() { - Render::share('currentPage', 'bar'); + Render::share('routeKey', 'bar'); $this->assertSame('media/foo', Hyde::mediaLink('foo')); - Render::share('currentPage', 'foo/bar'); + Render::share('routeKey', 'foo/bar'); $this->assertSame('../media/foo', Hyde::mediaLink('foo')); } public function test_image_helper_returns_image_path_for_given_name() { - Render::share('currentPage', 'foo'); + Render::share('routeKey', 'foo'); $this->assertSame('media/foo.jpg', Hyde::asset('foo.jpg')); $this->assertSame('https://example.com/foo.jpg', Hyde::asset('https://example.com/foo.jpg')); - Render::share('currentPage', 'foo/bar'); + Render::share('routeKey', 'foo/bar'); $this->assertSame('../media/foo.jpg', Hyde::asset('foo.jpg')); $this->assertSame('https://example.com/foo.jpg', Hyde::asset('https://example.com/foo.jpg')); } diff --git a/packages/framework/tests/Feature/RenderHelperTest.php b/packages/framework/tests/Feature/RenderHelperTest.php index 6c8045073c9..b7d553eac4d 100644 --- a/packages/framework/tests/Feature/RenderHelperTest.php +++ b/packages/framework/tests/Feature/RenderHelperTest.php @@ -33,41 +33,41 @@ public function testSetPageSharesDataToViewAutomatically() $this->assertSame($page, View::shared('page')); } - public function testGetCurrentRoute() + public function testGetRoute() { - $this->assertNull(Render::getCurrentRoute()); + $this->assertNull(Render::getRoute()); Render::setPage($page = new MarkdownPage()); - $this->assertEquals($page->getRoute(), Render::getCurrentRoute()); + $this->assertEquals($page->getRoute(), Render::getRoute()); } - public function testGetCurrentPage() + public function testGetRouteKey() { - $this->assertNull(Render::getCurrentPage()); + $this->assertNull(Render::getRouteKey()); Render::setPage($page = new MarkdownPage()); - $this->assertSame($page->getRouteKey(), Render::getCurrentPage()); + $this->assertSame($page->getRouteKey(), Render::getRouteKey()); } public function testShareToView() { $this->assertNull(View::shared('page')); - $this->assertNull(View::shared('currentRoute')); - $this->assertNull(View::shared('currentPage')); + $this->assertNull(View::shared('route')); + $this->assertNull(View::shared('routeKey')); Render::setPage($page = new MarkdownPage()); $this->assertSame($page, View::shared('page')); - $this->assertEquals($page->getRoute(), View::shared('currentRoute')); - $this->assertSame($page->getRouteKey(), View::shared('currentPage')); + $this->assertEquals($page->getRoute(), View::shared('route')); + $this->assertSame($page->getRouteKey(), View::shared('routeKey')); } public function testShare() { - $this->assertNull(Render::getCurrentPage()); + $this->assertNull(Render::getRouteKey()); - Render::share('currentPage', 'bar'); - $this->assertSame('bar', Render::getCurrentPage()); + Render::share('routeKey', 'bar'); + $this->assertSame('bar', Render::getRouteKey()); } public function testShareInvalidProperty() @@ -80,10 +80,10 @@ public function testShareInvalidProperty() public function testShareCascadesDataToView() { - $this->assertNull(View::shared('currentPage')); + $this->assertNull(View::shared('routeKey')); - Render::share('currentPage', 'bar'); - $this->assertSame('bar', View::shared('currentPage')); + Render::share('routeKey', 'bar'); + $this->assertSame('bar', View::shared('routeKey')); } public function testClearData() @@ -110,13 +110,13 @@ public function testClearDataCascadesToClearItsViewData() Render::setPage(new MarkdownPage()); $this->assertNotNull(View::shared('page')); - $this->assertNotNull(View::shared('currentRoute')); - $this->assertNotNull(View::shared('currentPage')); + $this->assertNotNull(View::shared('route')); + $this->assertNotNull(View::shared('routeKey')); Render::clearData(); $this->assertNull(View::shared('page')); - $this->assertNull(View::shared('currentRoute')); - $this->assertNull(View::shared('currentPage')); + $this->assertNull(View::shared('route')); + $this->assertNull(View::shared('routeKey')); } public function testClearDataDoesNotClearOtherViewData() @@ -143,16 +143,16 @@ public function testToArray() $this->assertSame([ 'render' => $render, 'page' => null, - 'currentRoute' => null, - 'currentPage' => null, + 'route' => null, + 'routeKey' => null, ], $render->toArray()); Render::setPage($page = new MarkdownPage()); $this->assertEquals([ 'render' => $render, 'page' => $page, - 'currentRoute' => $page->getRoute(), - 'currentPage' => $page->getRouteKey(), + 'route' => $page->getRoute(), + 'routeKey' => $page->getRouteKey(), ], $render->toArray()); } } diff --git a/packages/framework/tests/Unit/BreadcrumbsComponentTest.php b/packages/framework/tests/Unit/BreadcrumbsComponentTest.php index 1c38ac978bc..324edde1680 100644 --- a/packages/framework/tests/Unit/BreadcrumbsComponentTest.php +++ b/packages/framework/tests/Unit/BreadcrumbsComponentTest.php @@ -140,7 +140,7 @@ public function testTitleGenerationWithSnakeCaseUrl() protected function mockPage(MarkdownPage $page): void { - Render::shouldReceive('getCurrentRoute')->once()->andReturn(new Route($page)); - Render::shouldReceive('getCurrentPage')->andReturn($page->getOutputPath()); + Render::shouldReceive('getRoute')->once()->andReturn(new Route($page)); + Render::shouldReceive('getRouteKey')->andReturn($page->getOutputPath()); } } diff --git a/packages/framework/tests/Unit/Facades/RouteFacadeTest.php b/packages/framework/tests/Unit/Facades/RouteFacadeTest.php index 07f8b9fcd52..70632f490ec 100644 --- a/packages/framework/tests/Unit/Facades/RouteFacadeTest.php +++ b/packages/framework/tests/Unit/Facades/RouteFacadeTest.php @@ -61,14 +61,14 @@ public function testGetSupportsDotNotation() public function testCurrentReturnsCurrentRoute() { $route = new Route(new MarkdownPage('foo')); - Render::shouldReceive('getCurrentRoute')->andReturn($route); + Render::shouldReceive('getRoute')->andReturn($route); $this->assertSame($route, Routes::current()); Render::swap(new RenderData()); } public function testCurrentReturnsNullIfRouteIsNotFound() { - Render::shouldReceive('getCurrentRoute')->andReturn(null); + Render::shouldReceive('getRoute')->andReturn(null); $this->assertNull(Routes::current()); Render::swap(new RenderData()); } diff --git a/packages/framework/tests/Unit/HydeFileHelpersTest.php b/packages/framework/tests/Unit/HydeFileHelpersTest.php index 558526d7066..b451d58c3e9 100644 --- a/packages/framework/tests/Unit/HydeFileHelpersTest.php +++ b/packages/framework/tests/Unit/HydeFileHelpersTest.php @@ -16,18 +16,18 @@ class HydeFileHelpersTest extends TestCase { public function test_current_page_returns_current_page_view_property() { - Render::share('currentPage', 'foo'); - $this->assertEquals('foo', Hyde::currentPage()); + Render::share('routeKey', 'foo'); + $this->assertEquals('foo', Hyde::currentRouteKey()); } public function test_current_page_falls_back_to_empty_string_if_current_page_view_property_is_not_set() { - $this->assertEquals('', Hyde::currentPage()); + $this->assertEquals('', Hyde::currentRouteKey()); } public function test_current_route_returns_current_route_view_property() { - Render::share('currentRoute', Routes::get('index')); + Render::share('route', Routes::get('index')); $this->assertEquals(Routes::get('index'), Hyde::currentRoute()); } diff --git a/packages/framework/tests/Unit/NavItemIsCurrentHelperTest.php b/packages/framework/tests/Unit/NavItemIsCurrentHelperTest.php index 667face0b9c..d9500006247 100644 --- a/packages/framework/tests/Unit/NavItemIsCurrentHelperTest.php +++ b/packages/framework/tests/Unit/NavItemIsCurrentHelperTest.php @@ -238,8 +238,8 @@ public function testIsCurrentWhenCurrentWithNestedCurrentPageWhenNestedUsingAbso protected function mockRenderData(Route $route): void { Render::swap(Mockery::mock(RenderData::class, [ - 'getCurrentRoute' => $route, - 'getCurrentPage' => $route->getRouteKey(), + 'getRoute' => $route, + 'getRouteKey' => $route->getRouteKey(), ])); } diff --git a/packages/framework/tests/Unit/NavItemTest.php b/packages/framework/tests/Unit/NavItemTest.php index de22957c226..2976278c85f 100644 --- a/packages/framework/tests/Unit/NavItemTest.php +++ b/packages/framework/tests/Unit/NavItemTest.php @@ -80,7 +80,7 @@ public function testFromRoute() public function test__toString() { - Render::shouldReceive('getCurrentPage')->once()->andReturn('index'); + Render::shouldReceive('getRouteKey')->once()->andReturn('index'); $this->assertSame('index.html', (string) NavItem::fromRoute(Routes::get('index'))); } @@ -141,24 +141,24 @@ public function testForRouteWithCustomPriority() public function testRouteBasedNavItemDestinationsAreResolvedRelatively() { Render::swap(Mockery::mock(RenderData::class, [ - 'getCurrentRoute' => (new Route(new InMemoryPage('foo'))), - 'getCurrentPage' => 'foo', + 'getRoute' => (new Route(new InMemoryPage('foo'))), + 'getRouteKey' => 'foo', ])); $this->assertSame('foo.html', (string) NavItem::fromRoute(new Route(new InMemoryPage('foo')))); $this->assertSame('foo/bar.html', (string) NavItem::fromRoute(new Route(new InMemoryPage('foo/bar')))); Render::swap(Mockery::mock(RenderData::class, [ - 'getCurrentRoute' => (new Route(new InMemoryPage('foo/bar'))), - 'getCurrentPage' => 'foo/bar', + 'getRoute' => (new Route(new InMemoryPage('foo/bar'))), + 'getRouteKey' => 'foo/bar', ])); $this->assertSame('../foo.html', (string) NavItem::fromRoute(new Route(new InMemoryPage('foo')))); $this->assertSame('../foo/bar.html', (string) NavItem::fromRoute(new Route(new InMemoryPage('foo/bar')))); Render::swap(Mockery::mock(RenderData::class, [ - 'getCurrentRoute' => (new Route(new InMemoryPage('foo/bar/baz'))), - 'getCurrentPage' => 'foo/bar/baz', + 'getRoute' => (new Route(new InMemoryPage('foo/bar/baz'))), + 'getRouteKey' => 'foo/bar/baz', ])); $this->assertSame('../../foo.html', (string) NavItem::fromRoute(new Route(new InMemoryPage('foo')))); @@ -168,8 +168,8 @@ public function testRouteBasedNavItemDestinationsAreResolvedRelatively() public function testIsCurrent() { Render::swap(Mockery::mock(RenderData::class, [ - 'getCurrentRoute' => (new Route(new InMemoryPage('foo'))), - 'getCurrentPage' => 'foo', + 'getRoute' => (new Route(new InMemoryPage('foo'))), + 'getRouteKey' => 'foo', ])); $this->assertTrue(NavItem::fromRoute(new Route(new InMemoryPage('foo')))->isCurrent()); $this->assertFalse(NavItem::fromRoute(new Route(new InMemoryPage('bar')))->isCurrent()); diff --git a/packages/framework/tests/Unit/RouteTest.php b/packages/framework/tests/Unit/RouteTest.php index 7978cd95f9e..35d2dae4427 100644 --- a/packages/framework/tests/Unit/RouteTest.php +++ b/packages/framework/tests/Unit/RouteTest.php @@ -80,7 +80,7 @@ public function testGetLinkReturnsCorrectPathForNestedPages() public function testGetLinkReturnsCorrectPathForNestedCurrentPage() { $route = new Route(new MarkdownPage('foo')); - Render::shouldReceive('getCurrentPage')->andReturn('foo/bar'); + Render::shouldReceive('getRouteKey')->andReturn('foo/bar'); $this->assertSame(Hyde::relativeLink($route->getOutputPath()), $route->getLink()); $this->assertSame('../foo.html', $route->getLink()); diff --git a/packages/framework/tests/Unit/Views/Components/LinkComponentTest.php b/packages/framework/tests/Unit/Views/Components/LinkComponentTest.php index b3d36427047..bc877f981a8 100644 --- a/packages/framework/tests/Unit/Views/Components/LinkComponentTest.php +++ b/packages/framework/tests/Unit/Views/Components/LinkComponentTest.php @@ -28,7 +28,7 @@ public function test_link_component_can_be_rendered_with_route() public function test_link_component_can_be_rendered_with_route_for_nested_pages() { - Render::share('currentPage', 'foo/bar'); + Render::share('routeKey', 'foo/bar'); $route = Routes::get('index'); $this->assertEquals('bar', rtrim( Blade::render('bar'))); diff --git a/packages/framework/tests/Unit/Views/ScriptsComponentViewTest.php b/packages/framework/tests/Unit/Views/ScriptsComponentViewTest.php index cc40046fd21..ffc79d7b021 100644 --- a/packages/framework/tests/Unit/Views/ScriptsComponentViewTest.php +++ b/packages/framework/tests/Unit/Views/ScriptsComponentViewTest.php @@ -58,7 +58,7 @@ public function test_component_uses_relative_path_to_app_js_file_for_nested_page public function test_scripts_can_be_pushed_to_the_component_scripts_stack() { - view()->share('currentPage', ''); + view()->share('routeKey', ''); $this->assertStringContainsString('foo bar', Blade::render(' diff --git a/packages/framework/tests/Unit/Views/StylesComponentViewTest.php b/packages/framework/tests/Unit/Views/StylesComponentViewTest.php index bde50cca974..e452429523a 100644 --- a/packages/framework/tests/Unit/Views/StylesComponentViewTest.php +++ b/packages/framework/tests/Unit/Views/StylesComponentViewTest.php @@ -59,7 +59,7 @@ public function test_component_does_not_render_link_to_app_css_when_it_does_not_ public function test_styles_can_be_pushed_to_the_component_styles_stack() { - Render::share('currentPage', ''); + Render::share('routeKey', ''); $this->assertStringContainsString('foo bar', Blade::render(' diff --git a/packages/testing/src/InteractsWithPages.php b/packages/testing/src/InteractsWithPages.php index 64d16f7a6da..ed4162bdc6d 100644 --- a/packages/testing/src/InteractsWithPages.php +++ b/packages/testing/src/InteractsWithPages.php @@ -13,17 +13,17 @@ trait InteractsWithPages { protected function mockRoute(?Route $route = null): void { - Render::share('currentRoute', $route ?? (new Route(new MarkdownPage()))); + Render::share('route', $route ?? (new Route(new MarkdownPage()))); } protected function mockPage(?HydePage $page = null, ?string $currentPage = null): void { Render::share('page', $page ?? new MarkdownPage()); - Render::share('currentPage', $currentPage ?? 'PHPUnit'); + Render::share('routeKey', $currentPage ?? 'PHPUnit'); } protected function mockCurrentPage(string $currentPage): void { - Render::share('currentPage', $currentPage); + Render::share('routeKey', $currentPage); } }