mirror of
https://github.com/silverstripe/silverstripe-cms
synced 2024-09-27 20:06:43 +02:00
Merge branch 'master' into patch-3
This commit is contained in:
commit
4fea439139
3
.codecov.yml
Normal file
3
.codecov.yml
Normal file
@ -0,0 +1,3 @@
|
||||
comment: false
|
||||
codecov:
|
||||
branch: master
|
@ -34,12 +34,13 @@ matrix:
|
||||
- php: 5.6
|
||||
env: NPM_TEST=1
|
||||
- php: 7.0
|
||||
env: DB=MYSQL PDO=1 PHPUNIT_TEST=1
|
||||
env: DB=MYSQL PDO=1 PHPUNIT_COVERAGE_TEST=1
|
||||
|
||||
before_script:
|
||||
- composer self-update || true
|
||||
- phpenv rehash
|
||||
- phpenv config-rm xdebug.ini
|
||||
- echo 'memory_limit = 2G' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
|
||||
- composer install --prefer-dist
|
||||
- "if [ \"$DB\" = \"PGSQL\" ]; then composer require silverstripe/postgresql:2.0.x-dev --prefer-dist; fi"
|
||||
- "if [ \"$DB\" = \"SQLITE\" ]; then composer require silverstripe/sqlite3:2.0.x-dev --prefer-dist; fi"
|
||||
@ -56,6 +57,8 @@ script:
|
||||
- "if [ \"$PHPUNIT_TEST\" = \"1\" ]; then vendor/bin/phpunit tests flush=1; fi"
|
||||
- "if [ \"$BEHAT_TEST\" = \"1\" ]; then vendor/bin/behat .; fi"
|
||||
- "if [ \"$NPM_TEST\" = \"1\" ]; then (nvm use 4 && npm run lint); fi"
|
||||
- "if [ \"$PHPUNIT_COVERAGE_TEST\" = \"1\" ]; then phpdbg -qrr vendor/bin/phpunit tests flush=1 --coverage-clover=coverage.xml; fi"
|
||||
- "if [ \"$PHPUNIT_COVERAGE_TEST\" = \"1\" ]; then bash <(curl -s https://codecov.io/bash) -f coverage.xml; fi"
|
||||
|
||||
after_failure:
|
||||
- php ~/travis-support/travis_upload_artifacts.php --if-env BEHAT_TEST,ARTIFACTS_BUCKET,ARTIFACTS_KEY,ARTIFACTS_SECRET --target-path $TRAVIS_REPO_SLUG/$TRAVIS_BUILD_ID/$TRAVIS_JOB_ID --artifacts-base-url https://s3.amazonaws.com/$ARTIFACTS_BUCKET/
|
||||
|
@ -1,6 +1,13 @@
|
||||
## SilverStripe CMS
|
||||
|
||||
[![Build Status](https://secure.travis-ci.org/silverstripe/silverstripe-cms.png?branch=master)](http://travis-ci.org/silverstripe/silverstripe-cms)
|
||||
[![Build Status](https://api.travis-ci.org/silverstripe/silverstripe-cms.svg?branch=master)](https://travis-ci.org/silverstripe/silverstripe-cms)
|
||||
[![Latest Stable Version](https://poser.pugx.org/silverstripe/cms/version.svg)](http://www.silverstripe.org/stable-download/)
|
||||
[![Latest Unstable Version](https://poser.pugx.org/silverstripe/cms/v/unstable.svg)](https://packagist.org/packages/silverstripe/cms)
|
||||
[![codecov](https://codecov.io/gh/silverstripe/silverstripe-cms/branch/master/graph/badge.svg)](https://codecov.io/gh/silverstripe/silverstripe-cms)
|
||||
[![Total Downloads](https://poser.pugx.org/silverstripe/cms/downloads.svg)](https://packagist.org/packages/silverstripe/cms)
|
||||
[![License](https://poser.pugx.org/silverstripe/cms/license.svg)](https://github.com/silverstripe/silverstripe-cms#license)
|
||||
[![Dependency Status](https://www.versioneye.com/php/silverstripe:cms/badge.svg)](https://www.versioneye.com/php/silverstripe:cms)
|
||||
[![Reference Status](https://www.versioneye.com/php/silverstripe:cms/reference_badge.svg?style=flat)](https://www.versioneye.com/php/silverstripe:cms/references)
|
||||
![helpfulrobot](https://helpfulrobot.io/silverstripe/cms/badge)
|
||||
|
||||
PHP5 Content Management System (CMS), see [http://silverstripe.org](http://silverstripe.org). Requires the [`framework`](http://github.com/silverstripe/silverstripe-framework) module and a [`silverstripe-installer`](http://github.com/silverstripe/silverstripe-installer) base project.
|
||||
|
@ -11,7 +11,7 @@ use SilverStripe\Assets\File;
|
||||
*/
|
||||
define('CMS_PATH', realpath(__DIR__));
|
||||
if(strpos(CMS_PATH, BASE_PATH) === 0) {
|
||||
define('CMS_DIR', trim(substr(CMS_PATH, strlen(BASE_PATH)), '/'));
|
||||
define('CMS_DIR', trim(substr(CMS_PATH, strlen(BASE_PATH)), DIRECTORY_SEPARATOR));
|
||||
} else {
|
||||
throw new Exception("Path error: CMS_PATH " . CMS_PATH . " not within BASE_PATH " . BASE_PATH);
|
||||
}
|
||||
|
@ -6,7 +6,6 @@ use SilverStripe\Forms\HeaderField;
|
||||
use SilverStripe\Forms\OptionsetField;
|
||||
use SilverStripe\Forms\TextField;
|
||||
use SilverStripe\Forms\TreeDropdownField;
|
||||
use SilverStripe\View\Requirements;
|
||||
use Page;
|
||||
|
||||
/**
|
||||
@ -139,8 +138,6 @@ class RedirectorPage extends Page {
|
||||
}
|
||||
|
||||
public function getCMSFields() {
|
||||
Requirements::javascript(CMS_DIR . '/client/dist/js/RedirectorPage.js');
|
||||
|
||||
$fields = parent::getCMSFields();
|
||||
$fields->removeByName('Content', true);
|
||||
|
||||
|
@ -1,21 +1,3 @@
|
||||
<!--
|
||||
PHPUnit configuration for SilverStripe
|
||||
|
||||
Requires PHPUnit 3.5+
|
||||
|
||||
Usage:
|
||||
- "phpunit": Runs all tests in all folders
|
||||
- "phpunit framework/tests/": Run all tests of the framework module
|
||||
- "phpunit framework/tests/filesystem": Run all filesystem tests within the framework module
|
||||
- "phpunit framework/tests/filesystem/FolderTest.php": Run a single test
|
||||
- "phpunit <dash><dash>coverage-html assets/": Generate coverage report (replace <dash> with "-", requires xdebug)
|
||||
|
||||
More information:
|
||||
- http://www.phpunit.de/manual/current/en/textui.html
|
||||
- http://doc.silverstripe.org/framework/en/topics/testing/#configuration
|
||||
|
||||
It is safe to remove this file for normal website operation.
|
||||
-->
|
||||
<phpunit bootstrap="tests/bootstrap.php" colors="true">
|
||||
|
||||
<testsuite name="Default">
|
||||
@ -26,12 +8,6 @@
|
||||
<listener class="SilverStripe\Dev\TestListener" />
|
||||
</listeners>
|
||||
|
||||
<groups>
|
||||
<exclude>
|
||||
<group>sanitychecks</group>
|
||||
</exclude>
|
||||
</groups>
|
||||
|
||||
<filter>
|
||||
<whitelist addUncoveredFilesFromWhitelist="true">
|
||||
<directory suffix=".php">.</directory>
|
||||
|
@ -1,4 +1,4 @@
|
||||
<div id="pages-controller-cms-content" class="has-panel cms-content flexbox-area-grow fill-height $BaseCSSClasses" data-layout-type="border" data-pjax-fragment="Content" data-ignore-tab-state="true">
|
||||
<div id="pages-controller-cms-content" class="has-panel cms-content flexbox-area-grow fill-width fill-height $BaseCSSClasses" data-layout-type="border" data-pjax-fragment="Content" data-ignore-tab-state="true">
|
||||
<div class="fill-width fill-height flexbox-area-grow">
|
||||
$Tools
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flexbox-area-grow fill-height fill-width">
|
||||
<div class="flexbox-area-grow fill-height">
|
||||
$EditForm
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,9 +1,11 @@
|
||||
<div class="cms-preview fill-height flexbox-area-grow" data-layout-type="border">
|
||||
<div class="panel panel--scrollable flexbox-area-grow">
|
||||
<div class="panel flexbox-area-grow fill-height">
|
||||
<div class="preview-note"><span><!-- --></span><%t CMSPageHistoryController_versions_ss.PREVIEW 'Website preview' %></div>
|
||||
<div class="preview-device-outer">
|
||||
<div class="preview-device-inner">
|
||||
<iframe src="about:blank" class="center" name="cms-preview-iframe"></iframe>
|
||||
<div class="preview__device">
|
||||
<div class="preview-device-outer">
|
||||
<div class="preview-device-inner">
|
||||
<iframe src="about:blank" class="center" name="cms-preview-iframe"></iframe>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -145,7 +145,7 @@ class ContentControllerTest extends FunctionalTest {
|
||||
/**
|
||||
* Tests that {@link ContentController::getViewer()} chooses the correct templates.
|
||||
*
|
||||
* @covers ContentController::getViewer()
|
||||
* @covers SilverStripe\CMS\Controllers\ContentController::getViewer()
|
||||
**/
|
||||
public function testGetViewer() {
|
||||
|
||||
|
@ -5,6 +5,8 @@ use SilverStripe\Assets\File;
|
||||
use SilverStripe\Control\Session;
|
||||
use SilverStripe\View\Parsers\ShortcodeParser;
|
||||
use SilverStripe\Dev\SapphireTest;
|
||||
use SilverStripe\Assets\Tests\Storage\AssetStoreTest\TestAssetStore;
|
||||
|
||||
|
||||
|
||||
class ErrorPageFileExtensionTest extends SapphireTest {
|
||||
@ -17,7 +19,7 @@ class ErrorPageFileExtensionTest extends SapphireTest {
|
||||
parent::setUp();
|
||||
$this->versionedMode = Versioned::get_reading_mode();
|
||||
Versioned::set_stage(Versioned::DRAFT);
|
||||
AssetStoreTest_SpyStore::activate('ErrorPageFileExtensionTest');
|
||||
TestAssetStore::activate('ErrorPageFileExtensionTest');
|
||||
$file = new File();
|
||||
$file->setFromString('dummy', 'dummy.txt');
|
||||
$file->write();
|
||||
@ -25,7 +27,7 @@ class ErrorPageFileExtensionTest extends SapphireTest {
|
||||
|
||||
public function tearDown() {
|
||||
Versioned::set_reading_mode($this->versionedMode);
|
||||
AssetStoreTest_SpyStore::reset();
|
||||
TestAssetStore::reset();
|
||||
parent::tearDown(); // TODO: Change the autogenerated stub
|
||||
}
|
||||
|
||||
|
@ -4,6 +4,8 @@ use SilverStripe\ORM\Versioning\Versioned;
|
||||
use SilverStripe\CMS\Model\ErrorPage;
|
||||
use SilverStripe\Core\Config\Config;
|
||||
use SilverStripe\Dev\FunctionalTest;
|
||||
use SilverStripe\Assets\Tests\Storage\AssetStoreTest\TestAssetStore;
|
||||
|
||||
|
||||
|
||||
|
||||
@ -25,14 +27,14 @@ class ErrorPageTest extends FunctionalTest {
|
||||
public function setUp() {
|
||||
parent::setUp();
|
||||
// Set temporary asset backend store
|
||||
AssetStoreTest_SpyStore::activate('ErrorPageTest');
|
||||
TestAssetStore::activate('ErrorPageTest');
|
||||
Config::inst()->update('SilverStripe\\CMS\\Model\\ErrorPage', 'enable_static_file', true);
|
||||
Config::inst()->update('SilverStripe\\Control\\Director', 'environment_type', 'live');
|
||||
$this->logInWithPermission('ADMIN');
|
||||
}
|
||||
|
||||
public function tearDown() {
|
||||
AssetStoreTest_SpyStore::reset();
|
||||
TestAssetStore::reset();
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
@ -88,7 +90,7 @@ class ErrorPageTest extends FunctionalTest {
|
||||
public function testStaticCaching() {
|
||||
// Test new error code does not have static content
|
||||
$this->assertEmpty(ErrorPage::get_content_for_errorcode('401'));
|
||||
$expectedErrorPagePath = AssetStoreTest_SpyStore::base_path() . '/error-401.html';
|
||||
$expectedErrorPagePath = TestAssetStore::base_path() . '/error-401.html';
|
||||
$this->assertFileNotExists($expectedErrorPagePath, 'Error page is not automatically cached');
|
||||
|
||||
// Write new 401 page
|
||||
@ -101,7 +103,7 @@ class ErrorPageTest extends FunctionalTest {
|
||||
|
||||
// Static cache should now exist
|
||||
$this->assertNotEmpty(ErrorPage::get_content_for_errorcode('401'));
|
||||
$expectedErrorPagePath = AssetStoreTest_SpyStore::base_path() . '/error-401.html';
|
||||
$expectedErrorPagePath = TestAssetStore::base_path() . '/error-401.html';
|
||||
$this->assertFileExists($expectedErrorPagePath, 'Error page is cached');
|
||||
}
|
||||
|
||||
@ -126,7 +128,7 @@ class ErrorPageTest extends FunctionalTest {
|
||||
|
||||
// Static content is not available
|
||||
$this->assertEmpty(ErrorPage::get_content_for_errorcode('405'));
|
||||
$expectedErrorPagePath = AssetStoreTest_SpyStore::base_path() . '/error-405.html';
|
||||
$expectedErrorPagePath = TestAssetStore::base_path() . '/error-405.html';
|
||||
$this->assertFileNotExists($expectedErrorPagePath, 'Error page is not cached in static location');
|
||||
}
|
||||
}
|
||||
|
@ -6,6 +6,8 @@ use SilverStripe\CMS\Model\VirtualPage;
|
||||
use SilverStripe\Assets\File;
|
||||
use SilverStripe\Assets\Filesystem;
|
||||
use SilverStripe\Dev\SapphireTest;
|
||||
use SilverStripe\Assets\Tests\Storage\AssetStoreTest\TestAssetStore;
|
||||
|
||||
|
||||
|
||||
|
||||
@ -20,13 +22,13 @@ class FileLinkTrackingTest extends SapphireTest {
|
||||
|
||||
Versioned::set_stage(Versioned::DRAFT);
|
||||
|
||||
AssetStoreTest_SpyStore::activate('FileLinkTrackingTest');
|
||||
TestAssetStore::activate('FileLinkTrackingTest');
|
||||
$this->logInWithPermission('ADMIN');
|
||||
|
||||
// Write file contents
|
||||
$files = File::get()->exclude('ClassName', 'SilverStripe\\Assets\\Folder');
|
||||
foreach($files as $file) {
|
||||
$destPath = AssetStoreTest_SpyStore::getLocalPath($file);
|
||||
$destPath = TestAssetStore::getLocalPath($file);
|
||||
Filesystem::makeFolder(dirname($destPath));
|
||||
file_put_contents($destPath, str_repeat('x', 1000000));
|
||||
// Ensure files are published, thus have public urls
|
||||
@ -44,7 +46,7 @@ class FileLinkTrackingTest extends SapphireTest {
|
||||
}
|
||||
|
||||
public function tearDown() {
|
||||
AssetStoreTest_SpyStore::reset();
|
||||
TestAssetStore::reset();
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
|
@ -7,6 +7,8 @@ use SilverStripe\CMS\Model\VirtualPage;
|
||||
use SilverStripe\CMS\Model\RedirectorPage;
|
||||
use SilverStripe\Assets\File;
|
||||
use SilverStripe\Dev\SapphireTest;
|
||||
use SilverStripe\Assets\Tests\Storage\AssetStoreTest\TestAssetStore;
|
||||
|
||||
|
||||
|
||||
|
||||
@ -23,12 +25,12 @@ class SiteTreeBrokenLinksTest extends SapphireTest {
|
||||
parent::setUp();
|
||||
|
||||
Versioned::set_stage(Versioned::DRAFT);
|
||||
AssetStoreTest_SpyStore::activate('SiteTreeBrokenLinksTest');
|
||||
TestAssetStore::activate('SiteTreeBrokenLinksTest');
|
||||
$this->logInWithPermission('ADMIN');
|
||||
}
|
||||
|
||||
public function tearDown() {
|
||||
AssetStoreTest_SpyStore::reset();
|
||||
TestAssetStore::reset();
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
|
@ -6,6 +6,8 @@ use SilverStripe\Assets\Filesystem;
|
||||
use SilverStripe\Forms\HTMLEditor\HTMLEditorField;
|
||||
use SilverStripe\Dev\CSSContentParser;
|
||||
use SilverStripe\Dev\FunctionalTest;
|
||||
use SilverStripe\Assets\Tests\Storage\AssetStoreTest\TestAssetStore;
|
||||
|
||||
|
||||
class SiteTreeHTMLEditorFieldTest extends FunctionalTest {
|
||||
protected static $fixture_file = 'SiteTreeHTMLEditorFieldTest.yml';
|
||||
@ -14,20 +16,20 @@ class SiteTreeHTMLEditorFieldTest extends FunctionalTest {
|
||||
|
||||
public function setUp() {
|
||||
parent::setUp();
|
||||
AssetStoreTest_SpyStore::activate('SiteTreeHTMLEditorFieldTest');
|
||||
TestAssetStore::activate('SiteTreeHTMLEditorFieldTest');
|
||||
$this->logInWithPermission('ADMIN');
|
||||
|
||||
// Write file contents
|
||||
$files = File::get()->exclude('ClassName', 'SilverStripe\\Assets\\Folder');
|
||||
foreach($files as $file) {
|
||||
$destPath = AssetStoreTest_SpyStore::getLocalPath($file);
|
||||
$destPath = TestAssetStore::getLocalPath($file);
|
||||
Filesystem::makeFolder(dirname($destPath));
|
||||
file_put_contents($destPath, str_repeat('x', 1000000));
|
||||
}
|
||||
}
|
||||
|
||||
public function tearDown() {
|
||||
AssetStoreTest_SpyStore::reset();
|
||||
TestAssetStore::reset();
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
|
@ -838,7 +838,7 @@ class SiteTreeTest extends SapphireTest {
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers SiteTree::validURLSegment
|
||||
* @covers SilverStripe\CMS\Model\SiteTree::validURLSegment
|
||||
*/
|
||||
public function testValidURLSegmentURLSegmentConflicts() {
|
||||
$sitetree = new SiteTree();
|
||||
@ -869,7 +869,7 @@ class SiteTreeTest extends SapphireTest {
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers SiteTree::validURLSegment
|
||||
* @covers SilverStripe\CMS\Model\SiteTree::validURLSegment
|
||||
*/
|
||||
public function testValidURLSegmentClassNameConflicts() {
|
||||
$sitetree = new SiteTree();
|
||||
@ -879,7 +879,7 @@ class SiteTreeTest extends SapphireTest {
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers SiteTree::validURLSegment
|
||||
* @covers SilverStripe\CMS\Model\SiteTree::validURLSegment
|
||||
*/
|
||||
public function testValidURLSegmentControllerConflicts() {
|
||||
Config::inst()->update('SilverStripe\\CMS\\Model\\SiteTree', 'nested_urls', true);
|
||||
|
Loading…
Reference in New Issue
Block a user