From 986fc63d2fd0de24f083850bfc15bdcf218305e9 Mon Sep 17 00:00:00 2001 From: Simon Dann Date: Tue, 28 Mar 2017 10:56:31 +0100 Subject: [PATCH 1/3] :white_check_mark: TDD for issue #118 --- tests/KernelTest.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 tests/KernelTest.php diff --git a/tests/KernelTest.php b/tests/KernelTest.php new file mode 100644 index 0000000..a37c901 --- /dev/null +++ b/tests/KernelTest.php @@ -0,0 +1,16 @@ + Date: Tue, 28 Mar 2017 11:55:46 +0100 Subject: [PATCH 2/3] :white_check_mark: Broken test for issue #118 --- tests/KernelTest.php | 13 +++++- tests/assets/build_test_28/check/index.html | 1 + tests/assets/build_test_28/src/config.php | 6 +++ tests/assets/build_test_28/src/kernel.php | 45 +++++++++++++++++++ .../src/lib/TestPlatesExtension.php | 17 +++++++ .../build_test_28/src/source/index.phtml | 1 + 6 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 tests/assets/build_test_28/check/index.html create mode 100644 tests/assets/build_test_28/src/config.php create mode 100644 tests/assets/build_test_28/src/kernel.php create mode 100644 tests/assets/build_test_28/src/lib/TestPlatesExtension.php create mode 100644 tests/assets/build_test_28/src/source/index.phtml diff --git a/tests/KernelTest.php b/tests/KernelTest.php index a37c901..6b5d526 100644 --- a/tests/KernelTest.php +++ b/tests/KernelTest.php @@ -11,6 +11,17 @@ class KernelTest extends CommandTestBase { public function testSiteKernelLoading() { - // ... + $this->copyDirectory('assets/build_test_28/src', '_tmp'); + $output = $this->runCommand('build', '--quiet'); + + $this->assertEquals('', trim($output->getDisplay())); + $this->assertEquals(0, $output->getStatusCode()); + + $this->assertFileEquals( + __DIR__.'/assets/build_test_28/check/index.html', + __DIR__.'/_tmp/build_local/index.html', + '', + true + ); } } diff --git a/tests/assets/build_test_28/check/index.html b/tests/assets/build_test_28/check/index.html new file mode 100644 index 0000000..a042389 --- /dev/null +++ b/tests/assets/build_test_28/check/index.html @@ -0,0 +1 @@ +hello world! diff --git a/tests/assets/build_test_28/src/config.php b/tests/assets/build_test_28/src/config.php new file mode 100644 index 0000000..319d566 --- /dev/null +++ b/tests/assets/build_test_28/src/config.php @@ -0,0 +1,6 @@ + false, + 'kernel' => \SiteTwentyEight\Kernel::class, +]; diff --git a/tests/assets/build_test_28/src/kernel.php b/tests/assets/build_test_28/src/kernel.php new file mode 100644 index 0000000..cfeceea --- /dev/null +++ b/tests/assets/build_test_28/src/kernel.php @@ -0,0 +1,45 @@ +tapestry = Tapestry::getInstance(); + } + + /** + * This method is executed by Tapestry when the Kernel is registered. + * + * @return void + */ + public function register() + { + include (__DIR__ . '/lib/TestPlatesExtension.php'); + + /** @var Engine $engine */ + $engine = $this->tapestry->getContainer()->get(Engine::class); + $engine->loadExtension($this->tapestry->getContainer()->get(TestPlatesExtension::class)); + } + + /** + * This method of executed by Tapestry as part of the build process. + * + * @return void + */ + public function boot() + { + // TODO: Implement boot() method. + } +} diff --git a/tests/assets/build_test_28/src/lib/TestPlatesExtension.php b/tests/assets/build_test_28/src/lib/TestPlatesExtension.php new file mode 100644 index 0000000..17fae95 --- /dev/null +++ b/tests/assets/build_test_28/src/lib/TestPlatesExtension.php @@ -0,0 +1,17 @@ +registerFunction('test', [$this, 'test']); + } + + public function test() + { + return 'hello world!'; + } +} \ No newline at end of file diff --git a/tests/assets/build_test_28/src/source/index.phtml b/tests/assets/build_test_28/src/source/index.phtml new file mode 100644 index 0000000..d391828 --- /dev/null +++ b/tests/assets/build_test_28/src/source/index.phtml @@ -0,0 +1 @@ +test() ?> \ No newline at end of file From 4dc2a15a11feaa256e6470899c8510b3ed509135 Mon Sep 17 00:00:00 2001 From: Simon Dann Date: Tue, 28 Mar 2017 11:56:21 +0100 Subject: [PATCH 3/3] :bug: re-ordered execution order, fixes #118 --- src/Tapestry.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Tapestry.php b/src/Tapestry.php index 91a9a4b..505451d 100644 --- a/src/Tapestry.php +++ b/src/Tapestry.php @@ -105,10 +105,10 @@ public function boot() { $this->register(\Tapestry\Providers\CommandServiceProvider::class); $this->register(\Tapestry\Providers\ProjectConfigurationServiceProvider::class); - $this->register(\Tapestry\Providers\ProjectKernelServiceProvider::class); $this->register(\Tapestry\Providers\ProjectServiceProvider::class); $this->register(\Tapestry\Providers\CompileStepsServiceProvider::class); $this->register(\Tapestry\Providers\PlatesServiceProvider::class); + $this->register(\Tapestry\Providers\ProjectKernelServiceProvider::class); } /**