@@ -391,4 +391,60 @@ public function testSiteOutputDirectoryCanBeChangedInConfiguration()
391391
392392 File::deleteDirectory (Hyde::path ('_site/build ' ));
393393 }
394+
395+ public function testAppCssIsTransferredWhenLoadAppStylesFromCdnIsFalse ()
396+ {
397+ config (['hyde.load_app_styles_from_cdn ' => false ]);
398+
399+ $ this ->artisan ('build ' )->assertExitCode (0 );
400+
401+ $ this ->assertFileExists (Hyde::path ('_site/media/app.css ' ));
402+ $ this ->assertFileEquals (Hyde::path ('_media/app.css ' ), Hyde::path ('_site/media/app.css ' ));
403+ }
404+
405+ public function testAppCssIsNotTransferredWhenLoadAppStylesFromCdnIsTrue ()
406+ {
407+ config (['hyde.load_app_styles_from_cdn ' => true ]);
408+
409+ $ this ->artisan ('build ' )->assertExitCode (0 );
410+
411+ $ this ->assertFileDoesNotExist (Hyde::path ('_site/media/app.css ' ));
412+ }
413+
414+ public function testOtherAssetsAreTransferredWhenLoadAppStylesFromCdnIsTrue ()
415+ {
416+ config (['hyde.load_app_styles_from_cdn ' => true ]);
417+ $ this ->file ('_media/image.png ' , 'fake image data ' );
418+
419+ $ this ->artisan ('build ' )->assertExitCode (0 );
420+
421+ $ this ->assertFileDoesNotExist (Hyde::path ('_site/media/app.css ' ));
422+ $ this ->assertFileExists (Hyde::path ('_site/media/image.png ' ));
423+ $ this ->assertFileEquals (Hyde::path ('_media/image.png ' ), Hyde::path ('_site/media/image.png ' ));
424+ }
425+
426+ public function testSkipMessageWhenOnlyAppCssExistsAndLoadAppStylesFromCdnIsTrue ()
427+ {
428+ config (['hyde.load_app_styles_from_cdn ' => true ]);
429+
430+ $ this ->artisan ('build ' )
431+ ->expectsOutputToContain ('Transferring Media Assets... ' )
432+ ->expectsOutputToContain ('Skipped ' )
433+ ->expectsOutputToContain ('> No media files to transfer. ' )
434+ ->assertExitCode (0 );
435+ }
436+
437+ public function testNormalTransferWhenMultipleAssetsExistAndLoadAppStylesFromCdnIsTrue ()
438+ {
439+ config (['hyde.load_app_styles_from_cdn ' => true ]);
440+ $ this ->file ('_media/image.png ' , 'fake image data ' );
441+
442+ $ this ->artisan ('build ' )
443+ ->expectsOutputToContain ('Transferring Media Assets... ' )
444+ ->doesntExpectOutputToContain ('Skipped ' )
445+ ->assertExitCode (0 );
446+
447+ $ this ->assertFileDoesNotExist (Hyde::path ('_site/media/app.css ' ));
448+ $ this ->assertFileExists (Hyde::path ('_site/media/image.png ' ));
449+ }
394450}
0 commit comments