Skip to content

Commit 57004a1

Browse files
emmadesilvagithub-actions[bot]
authored andcommitted
Merge pull request #2587 from hydephp/v3/custom-media-directories
[3.x] Support custom media directories in the realtime compiler hydephp/develop@4d432dd
1 parent b99fbb2 commit 57004a1

2 files changed

Lines changed: 36 additions & 3 deletions

File tree

tests/Feature/Commands/ServeCommandTest.php

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,11 @@ public function testHydeServeCommandPassesThroughProcessOutput()
150150

151151
Process::shouldReceive('env')
152152
->once()
153-
->with(['HYDE_SERVER_REQUEST_OUTPUT' => false])
153+
->with([
154+
'HYDE_SERVER_REQUEST_OUTPUT' => false,
155+
'HYDE_SERVER_MEDIA_DIRECTORY' => '_media',
156+
'HYDE_SERVER_MEDIA_OUTPUT_DIRECTORY' => 'media',
157+
])
154158
->andReturnSelf();
155159

156160
Process::shouldReceive('start')
@@ -205,7 +209,11 @@ public function testHydeServeCommandWithViteOption()
205209

206210
Process::shouldReceive('env')
207211
->once()
208-
->with(['HYDE_SERVER_REQUEST_OUTPUT' => false])
212+
->with([
213+
'HYDE_SERVER_REQUEST_OUTPUT' => false,
214+
'HYDE_SERVER_MEDIA_DIRECTORY' => '_media',
215+
'HYDE_SERVER_MEDIA_OUTPUT_DIRECTORY' => 'media',
216+
])
209217
->andReturnSelf();
210218

211219
Process::shouldReceive('start')
@@ -254,7 +262,11 @@ public function testHydeServeCommandWithViteOptionButViteNotRunning()
254262

255263
Process::shouldReceive('env')
256264
->once()
257-
->with(['HYDE_SERVER_REQUEST_OUTPUT' => false])
265+
->with([
266+
'HYDE_SERVER_REQUEST_OUTPUT' => false,
267+
'HYDE_SERVER_MEDIA_DIRECTORY' => '_media',
268+
'HYDE_SERVER_MEDIA_OUTPUT_DIRECTORY' => 'media',
269+
])
258270
->andReturnSelf();
259271

260272
Process::shouldReceive('start')

tests/Unit/ServeCommandOptionsUnitTest.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace Hyde\Framework\Testing\Unit;
66

77
use Mockery;
8+
use Hyde\Hyde;
89
use Hyde\Testing\UnitTestCase;
910
use Hyde\Foundation\HydeKernel;
1011
use Illuminate\Process\Factory;
@@ -20,6 +21,8 @@
2021
#[\PHPUnit\Framework\Attributes\CoversClass(\Hyde\RealtimeCompiler\Console\Commands\ServeCommand::class)]
2122
class ServeCommandOptionsUnitTest extends UnitTestCase
2223
{
24+
protected static bool $needsKernel = true;
25+
2326
protected function setUp(): void
2427
{
2528
self::mockConfig([
@@ -88,16 +91,34 @@ public function testGetEnvironmentVariables()
8891
{
8992
$this->assertSame([
9093
'HYDE_SERVER_REQUEST_OUTPUT' => true,
94+
'HYDE_SERVER_MEDIA_DIRECTORY' => '_media',
95+
'HYDE_SERVER_MEDIA_OUTPUT_DIRECTORY' => 'media',
9196
], $this->getMock()->getEnvironmentVariables());
9297
}
9398

9499
public function testGetEnvironmentVariablesWithNoAnsiOption()
95100
{
96101
$this->assertSame([
97102
'HYDE_SERVER_REQUEST_OUTPUT' => false,
103+
'HYDE_SERVER_MEDIA_DIRECTORY' => '_media',
104+
'HYDE_SERVER_MEDIA_OUTPUT_DIRECTORY' => 'media',
98105
], $this->getMock(['no-ansi' => true])->getEnvironmentVariables());
99106
}
100107

108+
public function testGetEnvironmentVariablesWithCustomMediaDirectory()
109+
{
110+
Hyde::setMediaDirectory('_custom-media');
111+
112+
try {
113+
$environment = $this->getMock()->getEnvironmentVariables();
114+
115+
$this->assertSame('_custom-media', $environment['HYDE_SERVER_MEDIA_DIRECTORY']);
116+
$this->assertSame('custom-media', $environment['HYDE_SERVER_MEDIA_OUTPUT_DIRECTORY']);
117+
} finally {
118+
Hyde::setMediaDirectory('_media');
119+
}
120+
}
121+
101122
public function testSavePreviewOptionPropagatesToEnvironmentVariables()
102123
{
103124
$command = $this->getMock(['save-preview' => 'false']);

0 commit comments

Comments
 (0)