Update travis, fix #42, #32

This commit is contained in:
Will Rossiter 2021-04-01 08:57:39 +13:00
parent cf19fe40b5
commit 750b03b232
No known key found for this signature in database
GPG Key ID: 7FD2A809B22259EF
4 changed files with 52 additions and 38 deletions

View File

@ -1,40 +1,48 @@
language: php version: ~> 1.0
dist: trusty # Use a manual matrix as composer.json requires "silverstripe/cms": "^4.6",
# This should be changed to "standard-jobs-range-npm" as soon as the lowest recipe
# version in the travis shared jobs matrix is 4.6
import:
- silverstripe/silverstripe-travis-shared:config/provision/standard.yml
cache: jobs:
directories:
- $HOME/.composer/cache/files
env:
global:
- COMPOSER_ROOT_VERSION=4.0.x-dev
matrix:
include: include:
- php: 5.6 - php: 7.4
env: DB=MYSQL INSTALLER_VERSION=4.0.x-dev PHPCS_TEST=1 PHPUNIT_TEST=1 env:
- php: 7.0 - DB=MYSQL
env: DB=PGSQL INSTALLER_VERSION=4.1.x-dev PHPUNIT_TEST=1 - REQUIRE_INSTALLER="4.6.x-dev"
- NPM_TEST=1
- php: 7.1 - php: 7.1
env: DB=MYSQL INSTALLER_VERSION=4.2.x-dev PHPUNIT_COVERAGE_TEST=1 env:
- DB=MYSQL
- REQUIRE_INSTALLER="4.6.x-dev"
- PHPUNIT_TEST=1
- php: 7.2 - php: 7.2
env: DB=MYSQL INSTALLER_VERSION=4.x-dev PHPUNIT_TEST=1 env:
- DB=PGSQL
before_script: - REQUIRE_INSTALLER="4.6.x-dev"
# Init PHP - PHPUNIT_TEST=1
- phpenv rehash - php: 7.3
- phpenv config-rm xdebug.ini env:
- DB=MYSQL
# Install composer dependencies - REQUIRE_INSTALLER="4.7.x-dev"
- composer validate - PHPUNIT_TEST=1
- echo $INSTALLER_VERSION - PHPCS_TEST=1
- composer require --prefer-source --no-update silverstripe/recipe-cms:1.1.x-dev - php: 7.3
- if [[ $DB == PGSQL ]]; then composer require --no-update silverstripe/postgresql:2.0.x-dev; fi env:
- composer install --prefer-source --no-interaction --no-progress --no-suggest --optimize-autoloader --verbose --profile - DB=MYSQL
- REQUIRE_INSTALLER="4.7.x-dev"
script: - BEHAT_TEST=1
- if [[ $PHPUNIT_COVERAGE_TEST ]]; then phpdbg -qrr vendor/bin/phpunit --coverage-clover=coverage.xml tests/; fi - BEHAT_SUITE="userforms"
- php: 7.4
after_success: env:
- if [[ $PHPUNIT_COVERAGE_TEST ]]; then bash <(curl -s https://codecov.io/bash) -f coverage.xml; fi - DB=MYSQL
- REQUIRE_INSTALLER="4.x-dev"
- PHPUNIT_COVERAGE_TEST=1
- php: nightly
env:
- DB=MYSQL
- REQUIRE_INSTALLER="4.x-dev"
- PHPUNIT_TEST=1
- COMPOSER_INSTALL_ARG=--ignore-platform-reqs

View File

@ -19,7 +19,7 @@
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"SilverStripe\\MathSpamProtection\\": "code/" "SilverStripe\\MathSpamProtection\\": "src/"
} }
}, },
"extra": { "extra": {

View File

@ -1,4 +1,5 @@
<?php <?php
namespace SilverStripe\MathSpamProtection; namespace SilverStripe\MathSpamProtection;
use SilverStripe\Control\Controller; use SilverStripe\Control\Controller;
@ -85,7 +86,13 @@ class MathSpamProtectorField extends TextField
return true; return true;
} }
if (!$this->isCorrectAnswer($this->Value())) { $value = Controller::curr()->getRequest()->postVar($this->getName());
if (!$value) {
$value = $this->Value();
}
if (!$this->isCorrectAnswer($value)) {
$validator->validationError( $validator->validationError(
$this->name, $this->name,
_t( _t(
@ -140,7 +147,6 @@ class MathSpamProtectorField extends TextField
*/ */
public function isCorrectAnswer($answer) public function isCorrectAnswer($answer)
{ {
$session = Controller::curr()->getRequest()->getSession(); $session = Controller::curr()->getRequest()->getSession();
$v1 = $session->get("mathQuestionV1"); $v1 = $session->get("mathQuestionV1");