Merge pull request #60 from creative-commoners/pulls/3.0/ican

FIX Ensure getIcon returns exposed resource URL for icon
This commit is contained in:
Dylan Wagstaff 2017-11-03 14:38:09 +13:00 committed by GitHub
commit 1dda806f39
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 6 deletions

View File

@ -259,15 +259,14 @@ class EditableSpamProtectionField extends EditableFormField
public function getIcon() public function getIcon()
{ {
// Get the end of the full qualified class name
$shortClass = end(explode("\\", __CLASS__));
$resource = ModuleLoader::getModule('silverstripe/spamprotection') $resource = ModuleLoader::getModule('silverstripe/spamprotection')
->getResource('images/' . strtolower($shortClass) . '.png'); ->getResource('images/editablespamprotectionfield.png');
if ($resource->exists()) { if (!$resource->exists()) {
return $resource->getRelativePath(); return '';
} }
return $resource->getURL();
} }
public function showInReports() public function showInReports()

View File

@ -111,6 +111,13 @@ class EditableSpamProtectionFieldTest extends SapphireTest
$this->assertSame('baz', $field->spamMapValue('bar')); $this->assertSame('baz', $field->spamMapValue('bar'));
} }
public function testGetIcon()
{
$field = new EditableSpamProtectionField;
$this->assertContains('/images/editablespamprotectionfield.png', $field->getIcon());
}
protected function getFormMock() protected function getFormMock()
{ {
$formMock = $this->getMockBuilder(Form::class) $formMock = $this->getMockBuilder(Form::class)