From 44ac6b984e683e00b7f4d5b8210947ef9e5ad054 Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Mon, 2 Sep 2024 17:15:24 +0200 Subject: [PATCH 01/30] Update autocomplete to work on all kernel accessors --- ide.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ide.json b/ide.json index 7fc70f332ac..d7f11367c56 100644 --- a/ide.json +++ b/ide.json @@ -10,7 +10,7 @@ { "methodNames": ["path"], "place": "parameter", - "classFqn": ["\\Hyde\\Hyde"], + "classFqn": ["Hyde\\Foundation\\HydeKernel", "\\Hyde\\Hyde", "Hyde"], "parameters": [1] } ] From 2834842fce89661c808e9dd6b4fdd3f219b5ed1a Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Tue, 3 Sep 2024 18:36:43 +0200 Subject: [PATCH 02/30] Match configured testing namespace --- packages/hyde/tests/DefaultContentTest.php | 3 +-- packages/hyde/tests/ExampleTest.php | 4 +--- packages/hyde/tests/HydeCLITest.php | 4 +--- packages/hyde/tests/StaticSiteBuilderTest.php | 3 +-- 4 files changed, 4 insertions(+), 10 deletions(-) diff --git a/packages/hyde/tests/DefaultContentTest.php b/packages/hyde/tests/DefaultContentTest.php index 0da224d54c6..f632c9c433a 100644 --- a/packages/hyde/tests/DefaultContentTest.php +++ b/packages/hyde/tests/DefaultContentTest.php @@ -2,10 +2,9 @@ declare(strict_types=1); -namespace Hyde\Testing\Hyde; +namespace Hyde\Testing; use Hyde\Hyde; -use Hyde\Testing\UnitTestCase; class DefaultContentTest extends UnitTestCase { diff --git a/packages/hyde/tests/ExampleTest.php b/packages/hyde/tests/ExampleTest.php index ebccc2b91e9..ca67cfc90a5 100644 --- a/packages/hyde/tests/ExampleTest.php +++ b/packages/hyde/tests/ExampleTest.php @@ -2,9 +2,7 @@ declare(strict_types=1); -namespace Hyde\Testing\Hyde; - -use Hyde\Testing\UnitTestCase; +namespace Hyde\Testing; class ExampleTest extends UnitTestCase { diff --git a/packages/hyde/tests/HydeCLITest.php b/packages/hyde/tests/HydeCLITest.php index bcf5e86cd27..b72eea310a2 100644 --- a/packages/hyde/tests/HydeCLITest.php +++ b/packages/hyde/tests/HydeCLITest.php @@ -2,9 +2,7 @@ declare(strict_types=1); -namespace Hyde\Testing\Hyde; - -use Hyde\Testing\TestCase; +namespace Hyde\Testing; class HydeCLITest extends TestCase { diff --git a/packages/hyde/tests/StaticSiteBuilderTest.php b/packages/hyde/tests/StaticSiteBuilderTest.php index 41c73a302c8..cb4d11eaef9 100644 --- a/packages/hyde/tests/StaticSiteBuilderTest.php +++ b/packages/hyde/tests/StaticSiteBuilderTest.php @@ -2,10 +2,9 @@ declare(strict_types=1); -namespace Hyde\Testing\Hyde; +namespace Hyde\Testing; use Hyde\Hyde; -use Hyde\Testing\TestCase; use Illuminate\Support\Facades\File; class StaticSiteBuilderTest extends TestCase From 7739701ebd431c5842366272e2cd14a0c0463b19 Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Tue, 3 Sep 2024 18:52:52 +0200 Subject: [PATCH 03/30] Use compact smoke test output --- .github/workflows/smoke-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/smoke-tests.yml b/.github/workflows/smoke-tests.yml index 6a466675efe..b4479347879 100644 --- a/.github/workflows/smoke-tests.yml +++ b/.github/workflows/smoke-tests.yml @@ -52,7 +52,7 @@ jobs: local testsuite=$2 echo "${suite^} tests started" cd ${suite}_tests - if vendor/bin/pest --colors=always --log-junit="../test_results/${suite}_junit.xml" --testsuite="$testsuite" > "../test_outputs/${suite}.log" 2>&1; then + if vendor/bin/pest --colors=always --compact --log-junit="../test_results/${suite}_junit.xml" --testsuite="$testsuite" > "../test_outputs/${suite}.log" 2>&1; then echo "${suite^} tests completed successfully" else echo "${suite^} tests failed" From 6080b1fff62fbfbec9c1e889eb08442e135d28d9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Sep 2024 22:04:12 +0000 Subject: [PATCH 04/30] Bump postcss from 8.4.41 to 8.4.44 Bumps [postcss](https://github.com/postcss/postcss) from 8.4.41 to 8.4.44. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.4.41...8.4.44) --- updated-dependencies: - dependency-name: postcss dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index b9ec8cdb0db..e0a0460ea14 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "autoprefixer": "^10.4.20", "hydefront": "^3.3.0", "laravel-mix": "^6.0.49", - "postcss": "^8.4.41", + "postcss": "^8.4.44", "prettier": "3.3.3", "tailwindcss": "^3.4.10" } @@ -6900,9 +6900,9 @@ } }, "node_modules/postcss": { - "version": "8.4.41", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", - "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "version": "8.4.44", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.44.tgz", + "integrity": "sha512-Aweb9unOEpQ3ezu4Q00DPvvM2ZTUitJdNKeP/+uQgr1IBIqu574IaZoURId7BKtWMREwzKa9OgzPzezWGPWFQw==", "dev": true, "funding": [ { @@ -15031,9 +15031,9 @@ } }, "postcss": { - "version": "8.4.41", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", - "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "version": "8.4.44", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.44.tgz", + "integrity": "sha512-Aweb9unOEpQ3ezu4Q00DPvvM2ZTUitJdNKeP/+uQgr1IBIqu574IaZoURId7BKtWMREwzKa9OgzPzezWGPWFQw==", "dev": true, "requires": { "nanoid": "^3.3.7", diff --git a/package.json b/package.json index dca1896368e..6883f23b350 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "autoprefixer": "^10.4.20", "hydefront": "^3.3.0", "laravel-mix": "^6.0.49", - "postcss": "^8.4.41", + "postcss": "^8.4.44", "prettier": "3.3.3", "tailwindcss": "^3.4.10" } From 75807a81d3e8a94c8b58792737fa032fd9f797f2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Sep 2024 21:06:10 +0000 Subject: [PATCH 05/30] Bump phpstan/phpstan from 1.12.0 to 1.12.1 Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 1.12.0 to 1.12.1. - [Release notes](https://github.com/phpstan/phpstan/releases) - [Changelog](https://github.com/phpstan/phpstan/blob/1.12.x/CHANGELOG.md) - [Commits](https://github.com/phpstan/phpstan/compare/1.12.0...1.12.1) --- updated-dependencies: - dependency-name: phpstan/phpstan dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- composer.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/composer.lock b/composer.lock index 6c98ed249b3..41c4aa7b287 100644 --- a/composer.lock +++ b/composer.lock @@ -9437,16 +9437,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.12.0", + "version": "1.12.1", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "384af967d35b2162f69526c7276acadce534d0e1" + "reference": "d8ed7fffa66de1db0d2972267d8ed1d8fa0fe5a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/384af967d35b2162f69526c7276acadce534d0e1", - "reference": "384af967d35b2162f69526c7276acadce534d0e1", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/d8ed7fffa66de1db0d2972267d8ed1d8fa0fe5a2", + "reference": "d8ed7fffa66de1db0d2972267d8ed1d8fa0fe5a2", "shasum": "" }, "require": { @@ -9491,7 +9491,7 @@ "type": "github" } ], - "time": "2024-08-27T09:18:05+00:00" + "time": "2024-09-03T19:55:22+00:00" }, { "name": "phpunit/php-code-coverage", From 41a16c93f040eccfa28f73fa35c9b711fa7caa13 Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Wed, 4 Sep 2024 21:02:25 +0200 Subject: [PATCH 06/30] Document reading time namespace --- docs/digging-deeper/helpers.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/digging-deeper/helpers.md b/docs/digging-deeper/helpers.md index b75147651e0..5f36617e39e 100644 --- a/docs/digging-deeper/helpers.md +++ b/docs/digging-deeper/helpers.md @@ -107,6 +107,8 @@ There are a few ways to create a new `ReadingTime` instance. Either create a new In all cases, you will end up with a `ReadingTime` object that you can use to get the reading time. ```php +use Hyde\Support\ReadingTime; + // Via constructor $time = new ReadingTime('Input text string'); From 54adfea77388b387d0766284c3b318e0071c955f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Sep 2024 21:16:43 +0000 Subject: [PATCH 07/30] Bump postcss from 8.4.44 to 8.4.45 Bumps [postcss](https://github.com/postcss/postcss) from 8.4.44 to 8.4.45. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.4.44...8.4.45) --- updated-dependencies: - dependency-name: postcss dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index e0a0460ea14..4e3af8a701b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "autoprefixer": "^10.4.20", "hydefront": "^3.3.0", "laravel-mix": "^6.0.49", - "postcss": "^8.4.44", + "postcss": "^8.4.45", "prettier": "3.3.3", "tailwindcss": "^3.4.10" } @@ -6900,9 +6900,9 @@ } }, "node_modules/postcss": { - "version": "8.4.44", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.44.tgz", - "integrity": "sha512-Aweb9unOEpQ3ezu4Q00DPvvM2ZTUitJdNKeP/+uQgr1IBIqu574IaZoURId7BKtWMREwzKa9OgzPzezWGPWFQw==", + "version": "8.4.45", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.45.tgz", + "integrity": "sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==", "dev": true, "funding": [ { @@ -15031,9 +15031,9 @@ } }, "postcss": { - "version": "8.4.44", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.44.tgz", - "integrity": "sha512-Aweb9unOEpQ3ezu4Q00DPvvM2ZTUitJdNKeP/+uQgr1IBIqu574IaZoURId7BKtWMREwzKa9OgzPzezWGPWFQw==", + "version": "8.4.45", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.45.tgz", + "integrity": "sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==", "dev": true, "requires": { "nanoid": "^3.3.7", diff --git a/package.json b/package.json index 6883f23b350..0f023ab0094 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "autoprefixer": "^10.4.20", "hydefront": "^3.3.0", "laravel-mix": "^6.0.49", - "postcss": "^8.4.44", + "postcss": "^8.4.45", "prettier": "3.3.3", "tailwindcss": "^3.4.10" } From ebfb15f0d04920ea16bf5290943b4b036466da13 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Sep 2024 21:17:12 +0000 Subject: [PATCH 08/30] Bump sass from 1.77.8 to 1.78.0 in /packages/hydefront Bumps [sass](https://github.com/sass/dart-sass) from 1.77.8 to 1.78.0. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.77.8...1.78.0) --- updated-dependencies: - dependency-name: sass dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/hydefront/package-lock.json | 8 ++++---- packages/hydefront/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/hydefront/package-lock.json b/packages/hydefront/package-lock.json index df2a5187490..f8ab63f3c1c 100644 --- a/packages/hydefront/package-lock.json +++ b/packages/hydefront/package-lock.json @@ -9,7 +9,7 @@ "version": "3.4.0", "license": "MIT", "devDependencies": { - "sass": "1.77.8" + "sass": "1.78.0" } }, "node_modules/anymatch": { @@ -193,9 +193,9 @@ } }, "node_modules/sass": { - "version": "1.77.8", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz", - "integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==", + "version": "1.78.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.78.0.tgz", + "integrity": "sha512-AaIqGSrjo5lA2Yg7RvFZrlXDBCp3nV4XP73GrLGvdRWWwk+8H3l0SDvq/5bA4eF+0RFPLuWUk3E+P1U/YqnpsQ==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", diff --git a/packages/hydefront/package.json b/packages/hydefront/package.json index 48895685e1f..2362eaf2dad 100644 --- a/packages/hydefront/package.json +++ b/packages/hydefront/package.json @@ -23,7 +23,7 @@ }, "homepage": "https://github.com/hydephp/hydefront#readme", "devDependencies": { - "sass": "1.77.8" + "sass": "1.78.0" }, "main": "dist/hyde.css" } From 1f2e2f66f17669af3144026fa306334f5f92bc52 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 5 Sep 2024 21:12:56 +0000 Subject: [PATCH 09/30] Bump phpstan/phpstan from 1.12.1 to 1.12.2 Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 1.12.1 to 1.12.2. - [Release notes](https://github.com/phpstan/phpstan/releases) - [Changelog](https://github.com/phpstan/phpstan/blob/2.0.x/CHANGELOG.md) - [Commits](https://github.com/phpstan/phpstan/compare/1.12.1...1.12.2) --- updated-dependencies: - dependency-name: phpstan/phpstan dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- composer.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/composer.lock b/composer.lock index 41c4aa7b287..cf98e27be2a 100644 --- a/composer.lock +++ b/composer.lock @@ -9437,16 +9437,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.12.1", + "version": "1.12.2", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "d8ed7fffa66de1db0d2972267d8ed1d8fa0fe5a2" + "reference": "0ca1c7bb55fca8fe6448f16fff0f311ccec960a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/d8ed7fffa66de1db0d2972267d8ed1d8fa0fe5a2", - "reference": "d8ed7fffa66de1db0d2972267d8ed1d8fa0fe5a2", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/0ca1c7bb55fca8fe6448f16fff0f311ccec960a1", + "reference": "0ca1c7bb55fca8fe6448f16fff0f311ccec960a1", "shasum": "" }, "require": { @@ -9491,7 +9491,7 @@ "type": "github" } ], - "time": "2024-09-03T19:55:22+00:00" + "time": "2024-09-05T16:09:28+00:00" }, { "name": "phpunit/php-code-coverage", From bbd6f365f0dece904254b692fe84043e20c808e5 Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Sun, 8 Sep 2024 13:18:48 +0200 Subject: [PATCH 10/30] Add new testing helper to mock current route key --- packages/testing/src/UnitTestCase.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/testing/src/UnitTestCase.php b/packages/testing/src/UnitTestCase.php index 23e6083a903..942f00d34fc 100644 --- a/packages/testing/src/UnitTestCase.php +++ b/packages/testing/src/UnitTestCase.php @@ -5,6 +5,7 @@ namespace Hyde\Testing; use Hyde\Foundation\HydeKernel; +use Hyde\Support\Facades\Render; use Illuminate\Config\Repository; use Illuminate\Support\Facades\Config; use PHPUnit\Framework\TestCase as BaseTestCase; @@ -51,4 +52,9 @@ protected static function mockConfig(array $items = []): void Config::swap(app('config')); } + + protected static function mockCurrentRouteKey(string $routeKey): void + { + Render::shouldReceive('getRouteKey')->andReturn($routeKey); + } } From 89ff0f147ad459517d407849b7be915cde4c24a7 Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Sun, 8 Sep 2024 13:19:34 +0200 Subject: [PATCH 11/30] Add default value --- packages/testing/src/UnitTestCase.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/testing/src/UnitTestCase.php b/packages/testing/src/UnitTestCase.php index 942f00d34fc..a36ddae2ead 100644 --- a/packages/testing/src/UnitTestCase.php +++ b/packages/testing/src/UnitTestCase.php @@ -53,7 +53,7 @@ protected static function mockConfig(array $items = []): void Config::swap(app('config')); } - protected static function mockCurrentRouteKey(string $routeKey): void + protected static function mockCurrentRouteKey(string $routeKey = ''): void { Render::shouldReceive('getRouteKey')->andReturn($routeKey); } From d4eff585e05534554f27f29dfa95ba7692ef01e9 Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Sun, 8 Sep 2024 13:24:33 +0200 Subject: [PATCH 12/30] Default to null --- packages/testing/src/UnitTestCase.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/testing/src/UnitTestCase.php b/packages/testing/src/UnitTestCase.php index a36ddae2ead..31c816a2a95 100644 --- a/packages/testing/src/UnitTestCase.php +++ b/packages/testing/src/UnitTestCase.php @@ -53,7 +53,7 @@ protected static function mockConfig(array $items = []): void Config::swap(app('config')); } - protected static function mockCurrentRouteKey(string $routeKey = ''): void + protected static function mockCurrentRouteKey(?string $routeKey = null): void { Render::shouldReceive('getRouteKey')->andReturn($routeKey); } From 880eebe3d0f67f1eb5852b142814d1af7da48f7f Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Sun, 8 Sep 2024 13:33:01 +0200 Subject: [PATCH 13/30] Swap in render data to ensure mock is fresh --- packages/testing/src/UnitTestCase.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/testing/src/UnitTestCase.php b/packages/testing/src/UnitTestCase.php index 31c816a2a95..74f91d624b9 100644 --- a/packages/testing/src/UnitTestCase.php +++ b/packages/testing/src/UnitTestCase.php @@ -7,6 +7,7 @@ use Hyde\Foundation\HydeKernel; use Hyde\Support\Facades\Render; use Illuminate\Config\Repository; +use Hyde\Support\Models\RenderData; use Illuminate\Support\Facades\Config; use PHPUnit\Framework\TestCase as BaseTestCase; @@ -55,6 +56,7 @@ protected static function mockConfig(array $items = []): void protected static function mockCurrentRouteKey(?string $routeKey = null): void { + Render::swap(new RenderData()); Render::shouldReceive('getRouteKey')->andReturn($routeKey); } } From a3cae27d9c8cc976d678bd39f105d9b55a6635d6 Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Sun, 8 Sep 2024 13:33:28 +0200 Subject: [PATCH 14/30] Update test to use mocking helper --- packages/framework/tests/Unit/RouteTest.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/framework/tests/Unit/RouteTest.php b/packages/framework/tests/Unit/RouteTest.php index 35d2dae4427..2052faa04c1 100644 --- a/packages/framework/tests/Unit/RouteTest.php +++ b/packages/framework/tests/Unit/RouteTest.php @@ -6,8 +6,6 @@ use Hyde\Hyde; use Hyde\Pages\MarkdownPage; -use Hyde\Support\Facades\Render; -use Hyde\Support\Models\RenderData; use Hyde\Support\Models\Route; use Hyde\Support\Models\RouteKey; use Hyde\Testing\UnitTestCase; @@ -21,7 +19,7 @@ protected function setUp(): void { self::setupKernel(); self::mockConfig(); - Render::swap(new RenderData()); + self::mockCurrentRouteKey(); } public function testConstructorCreatesRouteFromPageModel() @@ -80,7 +78,7 @@ public function testGetLinkReturnsCorrectPathForNestedPages() public function testGetLinkReturnsCorrectPathForNestedCurrentPage() { $route = new Route(new MarkdownPage('foo')); - Render::shouldReceive('getRouteKey')->andReturn('foo/bar'); + self::mockCurrentRouteKey('foo/bar'); $this->assertSame(Hyde::relativeLink($route->getOutputPath()), $route->getLink()); $this->assertSame('../foo.html', $route->getLink()); From 232a70e04c5c911710a3ec2972c7afb28cb147a9 Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Sun, 8 Sep 2024 13:34:58 +0200 Subject: [PATCH 15/30] Add automatic shorthand for tests that need render data --- packages/testing/src/UnitTestCase.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/testing/src/UnitTestCase.php b/packages/testing/src/UnitTestCase.php index 74f91d624b9..01b89cd0cdd 100644 --- a/packages/testing/src/UnitTestCase.php +++ b/packages/testing/src/UnitTestCase.php @@ -17,6 +17,7 @@ abstract class UnitTestCase extends BaseTestCase protected static bool $needsKernel = false; protected static bool $needsConfig = false; + protected static bool $needsRender = false; protected static function needsKernel(): void { @@ -34,6 +35,10 @@ public static function setUpBeforeClass(): void if (static::$needsConfig) { self::mockConfig(); } + + if (static::$needsRender) { + Render::swap(new RenderData()); + } } protected static function setupKernel(): void From 11333cc3c1fd5d7e5cd8a39ccffbfc8cf9121565 Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Sun, 8 Sep 2024 13:36:26 +0200 Subject: [PATCH 16/30] Use the helper --- packages/testing/src/UnitTestCase.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/testing/src/UnitTestCase.php b/packages/testing/src/UnitTestCase.php index 01b89cd0cdd..5cdd694d977 100644 --- a/packages/testing/src/UnitTestCase.php +++ b/packages/testing/src/UnitTestCase.php @@ -37,7 +37,7 @@ public static function setUpBeforeClass(): void } if (static::$needsRender) { - Render::swap(new RenderData()); + self::mockCurrentRouteKey(); } } From 66eedd657d3e65de9bd8f6cef425060d41501746 Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Sun, 8 Sep 2024 13:36:32 +0200 Subject: [PATCH 17/30] Optimize test setup --- packages/framework/tests/Unit/RouteTest.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/framework/tests/Unit/RouteTest.php b/packages/framework/tests/Unit/RouteTest.php index 2052faa04c1..51183fc4800 100644 --- a/packages/framework/tests/Unit/RouteTest.php +++ b/packages/framework/tests/Unit/RouteTest.php @@ -15,10 +15,11 @@ */ class RouteTest extends UnitTestCase { + protected static bool $needsKernel = true; + protected static bool $needsConfig = true; + protected function setUp(): void { - self::setupKernel(); - self::mockConfig(); self::mockCurrentRouteKey(); } From d3e182a9f13120a8b596f61eb9c9f4c59058e21a Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Sun, 8 Sep 2024 13:38:03 +0200 Subject: [PATCH 18/30] Clean up test mock resets --- .../tests/Unit/Facades/RouteFacadeTest.php | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/packages/framework/tests/Unit/Facades/RouteFacadeTest.php b/packages/framework/tests/Unit/Facades/RouteFacadeTest.php index a63a9b7669f..ba26af152e9 100644 --- a/packages/framework/tests/Unit/Facades/RouteFacadeTest.php +++ b/packages/framework/tests/Unit/Facades/RouteFacadeTest.php @@ -23,6 +23,11 @@ class RouteFacadeTest extends UnitTestCase protected static bool $needsKernel = true; protected static bool $needsConfig = true; + protected function setUp(): void + { + Render::swap(new RenderData()); + } + public function testRouteFacadeAllMethodReturnsAllRoutes() { $this->assertSame(Hyde::routes(), Routes::all()); @@ -64,8 +69,6 @@ public function testCurrentReturnsCurrentRoute() Render::shouldReceive('getRoute')->andReturn($route); $this->assertSame($route, Routes::current()); - - $this->resetMockInstance(); } public function testCurrentReturnsNullIfRouteIsNotFound() @@ -73,8 +76,6 @@ public function testCurrentReturnsNullIfRouteIsNotFound() Render::shouldReceive('getRoute')->andReturn(null); $this->assertNull(Routes::current()); - - $this->resetMockInstance(); } public function testExistsForExistingRoute() @@ -86,9 +87,4 @@ public function testExistsForNonExistingRoute() { $this->assertFalse(Routes::exists('not-found')); } - - protected function resetMockInstance(): void - { - Render::swap(new RenderData()); - } } From 021556c2e48311764e64f73c9b2fcd8f72b6562a Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Sun, 8 Sep 2024 13:38:16 +0200 Subject: [PATCH 19/30] Use the automatic mocking feature --- .../framework/tests/Unit/DropdownNavItemTest.php | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/packages/framework/tests/Unit/DropdownNavItemTest.php b/packages/framework/tests/Unit/DropdownNavItemTest.php index 884045acb46..a26947f836f 100644 --- a/packages/framework/tests/Unit/DropdownNavItemTest.php +++ b/packages/framework/tests/Unit/DropdownNavItemTest.php @@ -8,8 +8,6 @@ use Hyde\Framework\Features\Navigation\DropdownNavItem; use Hyde\Framework\Features\Navigation\NavItem; use Hyde\Pages\MarkdownPage; -use Hyde\Support\Facades\Render; -use Hyde\Support\Models\RenderData; use Hyde\Support\Models\Route; use Hyde\Testing\UnitTestCase; @@ -20,17 +18,7 @@ class DropdownNavItemTest extends UnitTestCase { protected static bool $needsKernel = true; protected static bool $needsConfig = true; - - public static function setUpBeforeClass(): void - { - parent::setUpBeforeClass(); - Render::swap(new RenderData()); - } - - public static function tearDownAfterClass(): void - { - Render::swap(new RenderData()); - } + protected static bool $needsRender = true; public function testConstruct() { From 9705989eedcbd668cb13d9aa8d3bd18c7dbe70ee Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Sun, 8 Sep 2024 13:38:58 +0200 Subject: [PATCH 20/30] Use the new mocking shorthand --- packages/testing/src/Common/BaseHydePageUnitTest.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/testing/src/Common/BaseHydePageUnitTest.php b/packages/testing/src/Common/BaseHydePageUnitTest.php index 645ef738efa..54b59a7b20b 100644 --- a/packages/testing/src/Common/BaseHydePageUnitTest.php +++ b/packages/testing/src/Common/BaseHydePageUnitTest.php @@ -8,7 +8,6 @@ use Illuminate\View\Factory; use Hyde\Testing\UnitTestCase; use Hyde\Support\Facades\Render; -use Hyde\Support\Models\RenderData; use Illuminate\Support\Facades\View; use Hyde\Testing\CreatesTemporaryFiles; @@ -27,6 +26,7 @@ protected function setUp(): void { self::setupKernel(); self::mockConfig(); + self::mockCurrentRouteKey(); View::swap($mock = Mockery::mock(Factory::class, [ 'make' => Mockery::mock(Factory::class, [ @@ -39,8 +39,6 @@ protected function setUp(): void ])); app()->bind(\Illuminate\Contracts\View\Factory::class, fn () => $mock); app()->bind('view', fn () => $mock); - - Render::swap(new RenderData()); } protected function tearDown(): void From 857d2a9b740514d9c147a7eecdc09dc279d88437 Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Sun, 8 Sep 2024 13:39:42 +0200 Subject: [PATCH 21/30] Extract fluent alias --- packages/framework/tests/Unit/RouteTest.php | 2 +- packages/testing/src/Common/BaseHydePageUnitTest.php | 2 +- packages/testing/src/UnitTestCase.php | 7 ++++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/framework/tests/Unit/RouteTest.php b/packages/framework/tests/Unit/RouteTest.php index 51183fc4800..c5157cf024f 100644 --- a/packages/framework/tests/Unit/RouteTest.php +++ b/packages/framework/tests/Unit/RouteTest.php @@ -20,7 +20,7 @@ class RouteTest extends UnitTestCase protected function setUp(): void { - self::mockCurrentRouteKey(); + self::mockRender(); } public function testConstructorCreatesRouteFromPageModel() diff --git a/packages/testing/src/Common/BaseHydePageUnitTest.php b/packages/testing/src/Common/BaseHydePageUnitTest.php index 54b59a7b20b..a02b84be84f 100644 --- a/packages/testing/src/Common/BaseHydePageUnitTest.php +++ b/packages/testing/src/Common/BaseHydePageUnitTest.php @@ -26,7 +26,7 @@ protected function setUp(): void { self::setupKernel(); self::mockConfig(); - self::mockCurrentRouteKey(); + self::mockRender(); View::swap($mock = Mockery::mock(Factory::class, [ 'make' => Mockery::mock(Factory::class, [ diff --git a/packages/testing/src/UnitTestCase.php b/packages/testing/src/UnitTestCase.php index 5cdd694d977..adbf85ec317 100644 --- a/packages/testing/src/UnitTestCase.php +++ b/packages/testing/src/UnitTestCase.php @@ -37,7 +37,7 @@ public static function setUpBeforeClass(): void } if (static::$needsRender) { - self::mockCurrentRouteKey(); + self::mockRender(); } } @@ -52,6 +52,11 @@ protected static function resetKernel(): void HydeKernel::setInstance(new HydeKernel()); } + protected static function mockRender(): void + { + Render::swap(new RenderData()); + } + protected static function mockConfig(array $items = []): void { app()->bind('config', fn (): Repository => new Repository($items)); From fdb4ffb6c18846f927c9141f92d5966a11ea71a2 Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Sun, 8 Sep 2024 13:40:41 +0200 Subject: [PATCH 22/30] Reorder methods --- packages/testing/src/UnitTestCase.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/testing/src/UnitTestCase.php b/packages/testing/src/UnitTestCase.php index adbf85ec317..ecd715787c9 100644 --- a/packages/testing/src/UnitTestCase.php +++ b/packages/testing/src/UnitTestCase.php @@ -57,16 +57,16 @@ protected static function mockRender(): void Render::swap(new RenderData()); } + protected static function mockCurrentRouteKey(?string $routeKey = null): void + { + Render::swap(new RenderData()); + Render::shouldReceive('getRouteKey')->andReturn($routeKey); + } + protected static function mockConfig(array $items = []): void { app()->bind('config', fn (): Repository => new Repository($items)); Config::swap(app('config')); } - - protected static function mockCurrentRouteKey(?string $routeKey = null): void - { - Render::swap(new RenderData()); - Render::shouldReceive('getRouteKey')->andReturn($routeKey); - } } From 6c0b78055ae1e5100458014682e695577daf957b Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Sun, 8 Sep 2024 13:43:33 +0200 Subject: [PATCH 23/30] Use the automatic mocking feature --- .../Unit/Foundation/HyperlinkFileHelperRelativeLinkTest.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/framework/tests/Unit/Foundation/HyperlinkFileHelperRelativeLinkTest.php b/packages/framework/tests/Unit/Foundation/HyperlinkFileHelperRelativeLinkTest.php index 5d684061b4e..4aa4af46074 100644 --- a/packages/framework/tests/Unit/Foundation/HyperlinkFileHelperRelativeLinkTest.php +++ b/packages/framework/tests/Unit/Foundation/HyperlinkFileHelperRelativeLinkTest.php @@ -5,8 +5,6 @@ namespace Hyde\Framework\Testing\Unit\Foundation; use Hyde\Hyde; -use Hyde\Support\Facades\Render; -use Hyde\Support\Models\RenderData; use Hyde\Testing\InteractsWithPages; use Hyde\Testing\UnitTestCase; use Illuminate\Support\Facades\View; @@ -22,10 +20,10 @@ class HyperlinkFileHelperRelativeLinkTest extends UnitTestCase protected static bool $needsKernel = true; protected static bool $needsConfig = true; + protected static bool $needsRender = true; protected function setUp(): void { - Render::swap(new RenderData()); View::swap(Mockery::mock(Factory::class)->makePartial()); } From e13b438f022af0fc057b44e2c0383bf6b647a17f Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Sun, 8 Sep 2024 13:46:34 +0200 Subject: [PATCH 24/30] Optimize test setup --- packages/framework/tests/Unit/Facades/RouteFacadeTest.php | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/framework/tests/Unit/Facades/RouteFacadeTest.php b/packages/framework/tests/Unit/Facades/RouteFacadeTest.php index ba26af152e9..ed9b1b6b573 100644 --- a/packages/framework/tests/Unit/Facades/RouteFacadeTest.php +++ b/packages/framework/tests/Unit/Facades/RouteFacadeTest.php @@ -11,7 +11,6 @@ use Hyde\Pages\MarkdownPage; use Hyde\Pages\MarkdownPost; use Hyde\Support\Facades\Render; -use Hyde\Support\Models\RenderData; use Hyde\Support\Models\Route; use Hyde\Testing\UnitTestCase; @@ -23,11 +22,6 @@ class RouteFacadeTest extends UnitTestCase protected static bool $needsKernel = true; protected static bool $needsConfig = true; - protected function setUp(): void - { - Render::swap(new RenderData()); - } - public function testRouteFacadeAllMethodReturnsAllRoutes() { $this->assertSame(Hyde::routes(), Routes::all()); @@ -66,6 +60,7 @@ public function testCurrentReturnsCurrentRoute() { $route = new Route(new MarkdownPage('foo')); + self::mockRender(); Render::shouldReceive('getRoute')->andReturn($route); $this->assertSame($route, Routes::current()); @@ -73,6 +68,7 @@ public function testCurrentReturnsCurrentRoute() public function testCurrentReturnsNullIfRouteIsNotFound() { + self::mockRender(); Render::shouldReceive('getRoute')->andReturn(null); $this->assertNull(Routes::current()); From 2a01eea964a055de210005f6ccc76ae27766007d Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Sun, 8 Sep 2024 13:49:14 +0200 Subject: [PATCH 25/30] Return chainable facade instance --- packages/framework/tests/Unit/Facades/RouteFacadeTest.php | 7 ++----- packages/testing/src/UnitTestCase.php | 7 ++++--- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/packages/framework/tests/Unit/Facades/RouteFacadeTest.php b/packages/framework/tests/Unit/Facades/RouteFacadeTest.php index ed9b1b6b573..246a9e1babb 100644 --- a/packages/framework/tests/Unit/Facades/RouteFacadeTest.php +++ b/packages/framework/tests/Unit/Facades/RouteFacadeTest.php @@ -10,7 +10,6 @@ use Hyde\Pages\BladePage; use Hyde\Pages\MarkdownPage; use Hyde\Pages\MarkdownPost; -use Hyde\Support\Facades\Render; use Hyde\Support\Models\Route; use Hyde\Testing\UnitTestCase; @@ -60,16 +59,14 @@ public function testCurrentReturnsCurrentRoute() { $route = new Route(new MarkdownPage('foo')); - self::mockRender(); - Render::shouldReceive('getRoute')->andReturn($route); + self::mockRender()->shouldReceive('getRoute')->andReturn($route); $this->assertSame($route, Routes::current()); } public function testCurrentReturnsNullIfRouteIsNotFound() { - self::mockRender(); - Render::shouldReceive('getRoute')->andReturn(null); + self::mockRender()->shouldReceive('getRoute')->andReturn(null); $this->assertNull(Routes::current()); } diff --git a/packages/testing/src/UnitTestCase.php b/packages/testing/src/UnitTestCase.php index ecd715787c9..764334bec74 100644 --- a/packages/testing/src/UnitTestCase.php +++ b/packages/testing/src/UnitTestCase.php @@ -52,15 +52,16 @@ protected static function resetKernel(): void HydeKernel::setInstance(new HydeKernel()); } - protected static function mockRender(): void + protected static function mockRender(): Render { Render::swap(new RenderData()); + + return new Render(); } protected static function mockCurrentRouteKey(?string $routeKey = null): void { - Render::swap(new RenderData()); - Render::shouldReceive('getRouteKey')->andReturn($routeKey); + self::mockRender()->shouldReceive('getRouteKey')->andReturn($routeKey); } protected static function mockConfig(array $items = []): void From e02bc9dc1518c9d90ce4527d84bc2ca19081ffdb Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Sun, 8 Sep 2024 14:02:28 +0200 Subject: [PATCH 26/30] Optimize test teardown --- packages/framework/tests/Unit/NavItemIsCurrentHelperTest.php | 5 ----- 1 file changed, 5 deletions(-) diff --git a/packages/framework/tests/Unit/NavItemIsCurrentHelperTest.php b/packages/framework/tests/Unit/NavItemIsCurrentHelperTest.php index 3f83394b217..d3cc16aa15e 100644 --- a/packages/framework/tests/Unit/NavItemIsCurrentHelperTest.php +++ b/packages/framework/tests/Unit/NavItemIsCurrentHelperTest.php @@ -23,11 +23,6 @@ class NavItemIsCurrentHelperTest extends UnitTestCase protected static bool $needsKernel = true; protected static bool $needsConfig = true; - protected function tearDown(): void - { - Render::swap(new RenderData()); - } - public function testIsCurrent() { $this->mockRenderData($this->makeRoute('foo')); From 6f57ffe4dc5791ce7c2c1e06a1f5db42db68f5b4 Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Sun, 8 Sep 2024 14:19:06 +0200 Subject: [PATCH 27/30] Remove unused always true check This does not work, and is not worth fixing as the setup kernel time amounts to 0.002ms per run, which is 2ms for the entire unit test suite of just over 1000 tests, and only a subset of those even use this. --- packages/testing/src/UnitTestCase.php | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/packages/testing/src/UnitTestCase.php b/packages/testing/src/UnitTestCase.php index 764334bec74..14f32803e74 100644 --- a/packages/testing/src/UnitTestCase.php +++ b/packages/testing/src/UnitTestCase.php @@ -13,17 +13,13 @@ abstract class UnitTestCase extends BaseTestCase { - protected static bool $hasSetUpKernel = false; - protected static bool $needsKernel = false; protected static bool $needsConfig = false; protected static bool $needsRender = false; protected static function needsKernel(): void { - if (! self::$hasSetUpKernel) { - self::setupKernel(); - } + self::setupKernel(); } public static function setUpBeforeClass(): void @@ -44,7 +40,6 @@ public static function setUpBeforeClass(): void protected static function setupKernel(): void { HydeKernel::setInstance(new HydeKernel()); - self::$hasSetUpKernel = true; } protected static function resetKernel(): void From ea08e81a5f97bf632b215575e72abdc254c9f058 Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Sun, 8 Sep 2024 14:22:12 +0200 Subject: [PATCH 28/30] Simplify test mock setup --- packages/framework/tests/Unit/NavItemTest.php | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/packages/framework/tests/Unit/NavItemTest.php b/packages/framework/tests/Unit/NavItemTest.php index 379fbf581eb..e0ce48052e1 100644 --- a/packages/framework/tests/Unit/NavItemTest.php +++ b/packages/framework/tests/Unit/NavItemTest.php @@ -25,18 +25,9 @@ */ class NavItemTest extends UnitTestCase { - public static function setUpBeforeClass(): void - { - self::$hasSetUpKernel = false; - - self::needsKernel(); - self::mockConfig(); - } - - protected function setUp(): void - { - Render::swap(new RenderData()); - } + protected static bool $needsKernel = true; + protected static bool $needsConfig = true; + protected static bool $needsRender = true; public function testConstruct() { @@ -129,6 +120,8 @@ public function testForRouteWithRouteKey() public function testForRouteWithMissingRouteKey() { + self::resetKernel(); + $this->expectException(RouteNotFoundException::class); NavItem::forRoute('foo', 'foo'); } From b758695c8376a96efbc9f90b030d8eede72f4730 Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Sun, 8 Sep 2024 14:34:07 +0200 Subject: [PATCH 29/30] Revert "Simplify test mock setup" This reverts commit ea08e81a5f97bf632b215575e72abdc254c9f058. --- packages/framework/tests/Unit/NavItemTest.php | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/packages/framework/tests/Unit/NavItemTest.php b/packages/framework/tests/Unit/NavItemTest.php index e0ce48052e1..379fbf581eb 100644 --- a/packages/framework/tests/Unit/NavItemTest.php +++ b/packages/framework/tests/Unit/NavItemTest.php @@ -25,9 +25,18 @@ */ class NavItemTest extends UnitTestCase { - protected static bool $needsKernel = true; - protected static bool $needsConfig = true; - protected static bool $needsRender = true; + public static function setUpBeforeClass(): void + { + self::$hasSetUpKernel = false; + + self::needsKernel(); + self::mockConfig(); + } + + protected function setUp(): void + { + Render::swap(new RenderData()); + } public function testConstruct() { @@ -120,8 +129,6 @@ public function testForRouteWithRouteKey() public function testForRouteWithMissingRouteKey() { - self::resetKernel(); - $this->expectException(RouteNotFoundException::class); NavItem::forRoute('foo', 'foo'); } From 64638fe976370073365c3187e6f6940610b986ad Mon Sep 17 00:00:00 2001 From: Caen De Silva Date: Sun, 8 Sep 2024 14:34:10 +0200 Subject: [PATCH 30/30] Revert "Remove unused always true check" This reverts commit 6f57ffe4dc5791ce7c2c1e06a1f5db42db68f5b4. --- packages/testing/src/UnitTestCase.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/testing/src/UnitTestCase.php b/packages/testing/src/UnitTestCase.php index 14f32803e74..764334bec74 100644 --- a/packages/testing/src/UnitTestCase.php +++ b/packages/testing/src/UnitTestCase.php @@ -13,13 +13,17 @@ abstract class UnitTestCase extends BaseTestCase { + protected static bool $hasSetUpKernel = false; + protected static bool $needsKernel = false; protected static bool $needsConfig = false; protected static bool $needsRender = false; protected static function needsKernel(): void { - self::setupKernel(); + if (! self::$hasSetUpKernel) { + self::setupKernel(); + } } public static function setUpBeforeClass(): void @@ -40,6 +44,7 @@ public static function setUpBeforeClass(): void protected static function setupKernel(): void { HydeKernel::setInstance(new HydeKernel()); + self::$hasSetUpKernel = true; } protected static function resetKernel(): void