FIX Ensure getIcon returns exposed resource URL for icon

This commit is contained in:
Robbie Averill 2017-11-03 11:07:41 +13:00
parent 654f45292c
commit 47eef922c7
2 changed files with 12 additions and 6 deletions

View File

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

View File

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