Move stub classes to their own files, run PSR-2 linter

This commit is contained in:
Robbie Averill 2017-07-07 14:23:01 +12:00
parent 3d771d8179
commit 5cc9312a8d
11 changed files with 99 additions and 98 deletions

View File

@ -134,12 +134,12 @@ if (class_exists('EditableFormField')) {
* Using custom validateField method
* as Spam Protection Field implementations may have their own error messages
* and may not be based on the field being required, e.g. Honeypot Field
*
*
* @param array $data
* @param Form $form
* @return void
*/
public function validateField($data, $form)
public function validateField($data, $form)
{
$formField = $this->getFormField();
$formField->setForm($form);

View File

@ -1,6 +1,6 @@
<?php
/**
/**
* @package spamprotection
*
* @deprecated 1.0
@ -12,7 +12,8 @@ class SpamProtectorManager
public static function set_spam_protector($protector)
{
Deprecation::notice('1.1',
Deprecation::notice(
'1.1',
'SpamProtectorManager::set_spam_protector() is deprecated. '.
'Use the new config system. FormSpamProtectorExtension.default_spam_protector'
);
@ -22,16 +23,19 @@ class SpamProtectorManager
public static function get_spam_protector()
{
Deprecation::notice('1.1',
Deprecation::notice(
'1.1',
'SpamProtectorManager::get_spam_protector() is deprecated'.
'Use the new config system. FormSpamProtectorExtension.default_spam_protector');
'Use the new config system. FormSpamProtectorExtension.default_spam_protector'
);
return self::$spam_protector;
}
public static function update_form($form, $before = null, $fieldsToSpamServiceMapping = array(), $title = null, $rightTitle = null)
{
Deprecation::notice('1.1',
Deprecation::notice(
'1.1',
'SpamProtectorManager::update_form is deprecated'.
'Please use $form->enableSpamProtection() for adding spamprotection'
);

View File

@ -1,4 +1,4 @@
<?php
<?php
/**
* Apply the spam protection to the comments module if it is installed.

View File

@ -1,7 +1,7 @@
<?php
/**
* An extension to the {@link Form} class which provides the method
* An extension to the {@link Form} class which provides the method
* {@link enableSpamProtection()} helper.
*
* @package spamprotection
@ -22,7 +22,7 @@ class FormSpamProtectionExtension extends Extension
/**
* @config
*
* The {@link enableSpamProtection} method will define which of the form
* The {@link enableSpamProtection} method will define which of the form
* values correlates to this form mapped fields list. Totally custom forms
* and subclassed SpamProtector instances are define their own mapping
*

View File

@ -1,14 +1,14 @@
<?php
/**
* SpamProtector base interface.
* SpamProtector base interface.
*
* All Protectors are required implement this interface if they want to appear
* on the form.
*
* Classes with this interface are used to generate helper lists to allow the
* user to select the protector.
*
*
* @package spamprotection
*/
@ -17,9 +17,9 @@ interface SpamProtector
/**
* Return the {@link FormField} associated with this protector.
*
* Most spam methods will simply return a piece of HTML to be injected at
* Most spam methods will simply return a piece of HTML to be injected at
* the end of the form. If a spam method needs to inject more than one
* form field (i.e a hidden field and a text field) then return a
* form field (i.e a hidden field and a text field) then return a
* {@link FieldGroup} from this method to include both.
*
* @param string $name

View File

@ -1,26 +1,27 @@
<?php
class EditableSpamProtectionFieldTest extends SapphireTest
class EditableSpamProtectionFieldTest extends SapphireTest
{
protected $usesDatabase = true;
public function setUp()
{
parent::setUp();
if (!class_exists('EditableSpamProtectionField')) {
$this->markTestSkipped('"userforms" module not installed');
}
Config::inst()->update(
'FormSpamProtectionExtension', 'default_spam_protector',
'FormSpamProtectionExtension',
'default_spam_protector',
'EditableSpamProtectionFieldTest_Protector'
);
}
public function testValidateFieldDoesntAddErrorOnSuccess()
{
if (!class_exists('EditableSpamProtectionField')) {
$this->markTestSkipped('"userforms" module not installed');
}
$formMock = $this->getFormMock();
$formFieldMock = $this->getEditableFormFieldMock();
@ -39,10 +40,6 @@ class EditableSpamProtectionFieldTest extends SapphireTest
public function testValidateFieldAddsErrorFromField()
{
if (!class_exists('EditableSpamProtectionField')) {
$this->markTestSkipped('"userforms" module not installed');
}
$formMock = $this->getFormMock();
$formFieldMock = $this->getEditableFormFieldMock();
@ -57,17 +54,14 @@ class EditableSpamProtectionFieldTest extends SapphireTest
$formMock
->expects($this->once())
->method('addErrorMessage')
->with($this->anything(), $this->stringContains('some field message'), $this->anything(), $this->anything());;
->with($this->anything(), $this->stringContains('some field message'), $this->anything(), $this->anything());
;
$formFieldMock->validateField(array('MyField' => null), $formMock);
}
public function testValidateFieldAddsDefaultError()
{
if (!class_exists('EditableSpamProtectionField')) {
$this->markTestSkipped('"userforms" module not installed');
}
$formMock = $this->getFormMock();
$formFieldMock = $this->getEditableFormFieldMock();
@ -119,17 +113,4 @@ class EditableSpamProtectionFieldTest extends SapphireTest
return $editableFormFieldMock;
}
}
class EditableSpamProtectionFieldTest_Protector implements SpamProtector, TestOnly
{
public function getFormField($name = null, $title = null, $value = null)
{
return new TextField($name, 'Foo', $value);
}
public function setFieldMapping($fieldMapping)
{
}
}

View File

@ -11,7 +11,7 @@ class FormSpamProtectionExtensionTest extends SapphireTest
* @var Form
*/
protected $form = null;
public function setUp()
{
parent::setUp();
@ -20,15 +20,15 @@ class FormSpamProtectionExtensionTest extends SapphireTest
new TextField('Title'),
new TextField('Comment'),
new TextField('URL')
), new FieldList()
);
), new FieldList());
$this->form->disableSecurityToken();
}
public function testEnableSpamProtection()
{
Config::inst()->update(
'FormSpamProtectionExtension', 'default_spam_protector',
'FormSpamProtectionExtension',
'default_spam_protector',
'FormSpamProtectionExtensionTest_FooProtector'
);
@ -52,7 +52,7 @@ class FormSpamProtectionExtensionTest extends SapphireTest
'protector' => 'FormSpamProtectionExtensionTest_BarProtector',
'title' => 'Baz',
));
$this->assertEquals('Baz', $form->Fields()->fieldByName('Captcha')->Title());
}
@ -66,28 +66,28 @@ class FormSpamProtectionExtensionTest extends SapphireTest
$this->assertEquals('Qux', $form->Fields()->fieldByName('Borris')->Title());
}
public function testInsertBefore()
{
$form = $this->form->enableSpamProtection(array(
'protector' => 'FormSpamProtectionExtensionTest_FooProtector',
'insertBefore' => 'URL'
));
$fields = $form->Fields();
$this->assertEquals('Title', $fields[0]->Title());
$this->assertEquals('Comment', $fields[1]->Title());
$this->assertEquals('Foo', $fields[2]->Title());
$this->assertEquals('URL', $fields[3]->Title());
}
public function testInsertBeforeMissing()
{
$form = $this->form->enableSpamProtection(array(
'protector' => 'FormSpamProtectionExtensionTest_FooProtector',
'insertBefore' => 'NotAField'
));
// field should default to the end instead
$fields = $form->Fields();
$this->assertEquals('Title', $fields[0]->Title());
@ -96,49 +96,3 @@ class FormSpamProtectionExtensionTest extends SapphireTest
$this->assertEquals('Foo', $fields[3]->Title());
}
}
/**
* @package spamprotection
*/
class FormSpamProtectionExtensionTest_BazProtector implements SpamProtector, TestOnly
{
public function getFormField($name = null, $title = null, $value = null)
{
return new TextField($name, $title, $value);
}
public function setFieldMapping($fieldMapping)
{
}
}
/**
* @package spamprotection
*/
class FormSpamProtectionExtensionTest_BarProtector implements SpamProtector, TestOnly
{
public function getFormField($name = null, $title = null, $value = null)
{
$title = $title ?: 'Bar';
return new TextField($name, $title, $value);
}
public function setFieldMapping($fieldMapping)
{
}
}
/**
* @package spamprotection
*/
class FormSpamProtectionExtensionTest_FooProtector implements SpamProtector, TestOnly
{
public function getFormField($name = null, $title = null, $value = null)
{
return new TextField($name, 'Foo', $value);
}
public function setFieldMapping($fieldMapping)
{
}
}

View File

@ -0,0 +1,13 @@
<?php
class EditableSpamProtectionFieldTest_Protector implements SpamProtector, TestOnly
{
public function getFormField($name = null, $title = null, $value = null)
{
return new TextField($name, 'Foo', $value);
}
public function setFieldMapping($fieldMapping)
{
}
}

View File

@ -0,0 +1,17 @@
<?php
/**
* @package spamprotection
*/
class FormSpamProtectionExtensionTest_BarProtector implements SpamProtector, TestOnly
{
public function getFormField($name = null, $title = null, $value = null)
{
$title = $title ?: 'Bar';
return new TextField($name, $title, $value);
}
public function setFieldMapping($fieldMapping)
{
}
}

View File

@ -0,0 +1,16 @@
<?php
/**
* @package spamprotection
*/
class FormSpamProtectionExtensionTest_BazProtector implements SpamProtector, TestOnly
{
public function getFormField($name = null, $title = null, $value = null)
{
return new TextField($name, $title, $value);
}
public function setFieldMapping($fieldMapping)
{
}
}

View File

@ -0,0 +1,16 @@
<?php
/**
* @package spamprotection
*/
class FormSpamProtectionExtensionTest_FooProtector implements SpamProtector, TestOnly
{
public function getFormField($name = null, $title = null, $value = null)
{
return new TextField($name, 'Foo', $value);
}
public function setFieldMapping($fieldMapping)
{
}
}