mirror of
https://github.com/silverstripe/silverstripe-behat-extension
synced 2024-10-22 17:05:32 +02:00
Merge pull request #197 from creative-commoners/pulls/4.0/travis-shared
MNT Travis shared config, use sminnee/phpunit, fix SilverStripeContext regex
This commit is contained in:
commit
51455664fa
42
.travis.yml
42
.travis.yml
@ -1,40 +1,4 @@
|
||||
language: php
|
||||
version: ~> 1.0
|
||||
|
||||
dist: xenial
|
||||
|
||||
services:
|
||||
- mysql
|
||||
- postgresql
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/.composer/cache/files
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- php: 5.6
|
||||
env: DB=MYSQL RECIPE_VERSION=4.4.x-dev PHPUNIT_TEST=1 PHPCS_TEST=1
|
||||
- php: 7.1
|
||||
env: DB=MYSQL RECIPE_VERSION=4.5.x-dev PHPUNIT_TEST=1 PDO=1
|
||||
- php: 7.2
|
||||
env: DB=MYSQL RECIPE_VERSION=4.6.x-dev PHPUNIT_TEST=1
|
||||
- php: 7.3
|
||||
env: DB=MYSQL RECIPE_VERSION=4.6.x-dev PHPUNIT_TEST=1
|
||||
- php: 7.4
|
||||
env: DB=MYSQL RECIPE_VERSION=4.x-dev PHPUNIT_TEST=1
|
||||
|
||||
before_script:
|
||||
- export PATH=~/.composer/vendor/bin:$PATH
|
||||
- echo 'memory_limit = 2G' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
|
||||
- composer validate
|
||||
- composer install --dev --prefer-dist
|
||||
- composer require --prefer-dist --no-update silverstripe/recipe-cms:$RECIPE_VERSION
|
||||
# Fix for running phpunit 5 on php 7.4+
|
||||
- composer require --no-update sminnee/phpunit-mock-objects:^3.4.7
|
||||
- composer update
|
||||
- if [[ $PHPCS_TEST ]]; then composer global require squizlabs/php_codesniffer:^3 --prefer-dist --no-interaction --no-progress --no-suggest -o; fi
|
||||
- phpenv rehash
|
||||
|
||||
script:
|
||||
- if [[ $PHPUNIT_TEST ]]; then vendor/bin/phpunit tests/php; fi
|
||||
- if [[ $PHPCS_TEST ]]; then composer run-script lint; fi
|
||||
import:
|
||||
- silverstripe/silverstripe-travis-shared:config/provision/standard-jobs-range.yml
|
||||
|
61
build.php
61
build.php
@ -1,61 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Behat/SilverStripeExtension
|
||||
*
|
||||
* (c) Michał Ochman <ochman.d.michal@gmail.com>
|
||||
*
|
||||
* This source file is subject to the MIT license that is bundled
|
||||
* with this source code in the file LICENSE.
|
||||
*/
|
||||
|
||||
$filename = 'silverstripe_extension.phar';
|
||||
|
||||
if (file_exists($filename)) {
|
||||
unlink($filename);
|
||||
}
|
||||
|
||||
$phar = new \Phar($filename, 0, 'extension.phar');
|
||||
$phar->setSignatureAlgorithm(\Phar::SHA1);
|
||||
$phar->startBuffering();
|
||||
|
||||
foreach (findFiles('src') as $path) {
|
||||
$phar->addFromString($path, file_get_contents(__DIR__ . '/' . $path));
|
||||
}
|
||||
|
||||
$phar->addFromString('init.php', file_get_contents(__DIR__ . '/init.php'));
|
||||
|
||||
$phar->setStub(<<<STUB
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the SilverStripe-Behaviour-Testing-Framework
|
||||
*
|
||||
* (c) Michał Ochman <ochman.d.michal@gmail.com>
|
||||
*
|
||||
* This source file is subject to the MIT license that is bundled
|
||||
* with this source code in the file LICENSE.
|
||||
*/
|
||||
|
||||
Phar::mapPhar('extension.phar');
|
||||
|
||||
return require 'phar://extension.phar/init.php';
|
||||
|
||||
__HALT_COMPILER();
|
||||
STUB
|
||||
);
|
||||
$phar->stopBuffering();
|
||||
|
||||
function findFiles($dir)
|
||||
{
|
||||
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir), RecursiveIteratorIterator::CHILD_FIRST);
|
||||
|
||||
$files = array();
|
||||
foreach ($iterator as $path) {
|
||||
if ($path->isFile()) {
|
||||
$files[] = $path->getPath() . DIRECTORY_SEPARATOR . $path->getFilename();
|
||||
}
|
||||
}
|
||||
|
||||
return $files;
|
||||
}
|
@ -22,7 +22,8 @@
|
||||
],
|
||||
"require": {
|
||||
"php": ">=5.6",
|
||||
"phpunit/phpunit": "^5.7",
|
||||
"sminnee/phpunit": "^5.7",
|
||||
"squizlabs/php_codesniffer": "^3",
|
||||
"behat/behat": "^3.2",
|
||||
"behat/mink": "^1.7",
|
||||
"behat/mink-extension": "^2.1",
|
||||
@ -34,11 +35,7 @@
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"SilverStripe\\BehatExtension\\": "src/"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"SilverStripe\\BehatExtension\\": "src/",
|
||||
"SilverStripe\\BehatExtension\\Tests\\": "tests/php/"
|
||||
}
|
||||
},
|
||||
|
19
init.php
19
init.php
@ -1,19 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Behat/SilverStripeExtension
|
||||
*
|
||||
* (c) Michał Ochman <ochman.d.michal@gmail.com>
|
||||
*
|
||||
* This source file is subject to the MIT license that is bundled
|
||||
* with this source code in the file LICENSE.
|
||||
*/
|
||||
|
||||
spl_autoload_register(function ($class) {
|
||||
if (false !== strpos($class, 'SilverStripe\\BehatExtension')) {
|
||||
require_once(__DIR__ . '/src/' . str_replace('\\', '/', $class) . '.php');
|
||||
return true;
|
||||
}
|
||||
}, true, false);
|
||||
|
||||
return new SilverStripe\BehatExtension\Extension;
|
17
phpcs.xml.dist
Normal file
17
phpcs.xml.dist
Normal file
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ruleset name="SilverStripe">
|
||||
<description>CodeSniffer ruleset for SilverStripe coding conventions.</description>
|
||||
|
||||
<file>src</file>
|
||||
<file>tests</file>
|
||||
|
||||
<!-- base rules are PSR-2 -->
|
||||
<rule ref="PSR2" >
|
||||
<!-- Current exclusions -->
|
||||
<exclude name="PSR1.Methods.CamelCapsMethodName" />
|
||||
<exclude name="PSR2.Classes.PropertyDeclaration.Underscore" />
|
||||
<exclude name="Squiz.Classes.ValidClassName.NotCamelCaps" />
|
||||
<exclude name="Generic.Files.LineLength.TooLong" />
|
||||
<exclude name="PSR1.Files.SideEffects.FoundWithSymbols" />
|
||||
</rule>
|
||||
</ruleset>
|
@ -1,4 +1,4 @@
|
||||
<phpunit colors="true">
|
||||
<phpunit bootstrap="vendor/silverstripe/framework/tests/bootstrap.php" colors="true">
|
||||
<testsuite name="Default">
|
||||
<directory>tests/php</directory>
|
||||
</testsuite>
|
||||
|
@ -87,7 +87,7 @@ abstract class SilverStripeContext extends MinkContext implements SilverStripeAw
|
||||
*/
|
||||
public function __construct(array $parameters = null)
|
||||
{
|
||||
if (!preg_match('/\\FeatureContext$/', get_class($this))) {
|
||||
if (!preg_match('#[\\\]FeatureContext$#', get_class($this))) {
|
||||
throw new InvalidArgumentException(
|
||||
'Subclasses of SilverStripeContext must be named FeatureContext. Found "' . get_class($this) . '""'
|
||||
);
|
||||
|
@ -11,18 +11,11 @@ use Behat\Mink\Element\Element;
|
||||
use SilverStripe\BehatExtension\Tests\SilverStripeContextTest\FeatureContext;
|
||||
use SilverStripe\Dev\SapphireTest;
|
||||
|
||||
class SilverStripeContextTest extends \PHPUnit_Framework_TestCase
|
||||
class SilverStripeContextTest extends SapphireTest
|
||||
{
|
||||
|
||||
protected $backupGlobals = false;
|
||||
|
||||
public static function setUpBeforeClass()
|
||||
{
|
||||
// Bootstrap test environment
|
||||
parent::setUpBeforeClass();
|
||||
SapphireTest::start();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \LogicException
|
||||
* @expectedExceptionMessage Cannot find 'region_map' in the behat.yml
|
||||
|
Loading…
Reference in New Issue
Block a user