<?php namespace SilverStripe\Control\Tests; use SilverStripe\Control\Director; use SilverStripe\Control\SimpleResourceURLGenerator; use SilverStripe\Core\Injector\Injector; use SilverStripe\Core\Manifest\Module; use SilverStripe\Core\Manifest\ResourceURLGenerator; use SilverStripe\Dev\SapphireTest; class SimpleResourceURLGeneratorTest extends SapphireTest { protected function setUp() { parent::setUp(); Director::config()->set( 'alternate_base_folder', __DIR__ .'/SimpleResourceURLGeneratorTest/_fakewebroot' ); Director::config()->set( 'alternate_base_url', 'http://www.mysite.com/' ); } public function testAddMTime() { /** @var SimpleResourceURLGenerator $generator */ $generator = Injector::inst()->get(ResourceURLGenerator::class); $mtime = filemtime(__DIR__ .'/SimpleResourceURLGeneratorTest/_fakewebroot/basemodule/client/file.js'); $this->assertEquals( '/basemodule/client/file.js?m='.$mtime, $generator->urlForResource('basemodule/client/file.js') ); } public function testVendorResource() { /** @var SimpleResourceURLGenerator $generator */ $generator = Injector::inst()->get(ResourceURLGenerator::class); $mtime = filemtime( __DIR__ .'/SimpleResourceURLGeneratorTest/_fakewebroot/vendor/silverstripe/mymodule/client/style.css' ); $this->assertEquals( '/resources/silverstripe/mymodule/client/style.css?m='.$mtime, $generator->urlForResource('vendor/silverstripe/mymodule/client/style.css') ); } public function testModuleResource() { /** @var SimpleResourceURLGenerator $generator */ $generator = Injector::inst()->get(ResourceURLGenerator::class); $module = new Module( __DIR__ .'/SimpleResourceURLGeneratorTest/_fakewebroot/vendor/silverstripe/mymodule/', __DIR__ .'/SimpleResourceURLGeneratorTest/_fakewebroot/' ); $mtime = filemtime( __DIR__ .'/SimpleResourceURLGeneratorTest/_fakewebroot/vendor/silverstripe/mymodule/client/style.css' ); $this->assertEquals( '/resources/silverstripe/mymodule/client/style.css?m='.$mtime, $generator->urlForResource($module->getResource('client/style.css')) ); } }