mirror of
https://github.com/silverstripe/silverstripe-docsviewer
synced 2024-10-22 11:05:56 +02:00
f8debf7211
temporarily commented out asserts in unrelated tests typo in comment pffffft...whitespace double pffffft.....whitespace triple pffffft.....whitespace
89 lines
2.7 KiB
PHP
89 lines
2.7 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @package docsviewer
|
|
* @subpackage tests
|
|
*/
|
|
class DocumentationViewerVersionWarningTest extends SapphireTest
|
|
{
|
|
protected $autoFollowRedirection = false;
|
|
|
|
private $manifest;
|
|
|
|
public function setUp()
|
|
{
|
|
parent::setUp();
|
|
|
|
Config::nest();
|
|
|
|
// explicitly use dev/docs. Custom paths should be tested separately
|
|
Config::inst()->update(
|
|
'DocumentationViewer', 'link_base', 'dev/docs'
|
|
);
|
|
|
|
// disable automatic module registration so modules don't interfere.
|
|
Config::inst()->update(
|
|
'DocumentationManifest', 'automatic_registration', false
|
|
);
|
|
|
|
Config::inst()->remove('DocumentationManifest', 'register_entities');
|
|
|
|
Config::inst()->update(
|
|
'DocumentationManifest', 'register_entities', array(
|
|
array(
|
|
'Path' => DOCSVIEWER_PATH . "/tests/docs/",
|
|
'Title' => 'Doc Test',
|
|
'Key' => 'testdocs',
|
|
'Version' => '2.3'
|
|
),
|
|
array(
|
|
'Path' => DOCSVIEWER_PATH . "/tests/docs-v2.4/",
|
|
'Title' => 'Doc Test',
|
|
'Version' => '2.4',
|
|
'Key' => 'testdocs',
|
|
'Stable' => true
|
|
),
|
|
array(
|
|
'Path' => DOCSVIEWER_PATH . "/tests/docs-v3.0/",
|
|
'Title' => 'Doc Test',
|
|
'Key' => 'testdocs',
|
|
'Version' => '3.0'
|
|
)
|
|
)
|
|
);
|
|
|
|
$this->manifest = new DocumentationManifest(true);
|
|
}
|
|
|
|
public function tearDown()
|
|
{
|
|
parent::tearDown();
|
|
|
|
Config::unnest();
|
|
}
|
|
|
|
public function testVersionWarning()
|
|
{
|
|
$v = new DocumentationViewer();
|
|
|
|
// the current version is set to 2.4, no notice should be shown on that page
|
|
$response = $v->handleRequest(new SS_HTTPRequest('GET', 'en/testdocs/'), DataModel::inst());
|
|
// $this->assertFalse($v->VersionWarning());
|
|
|
|
|
|
// 2.3 is an older release, hitting that should return us an outdated flag
|
|
$response = $v->handleRequest(new SS_HTTPRequest('GET', 'en/testdocs/2.3/'), DataModel::inst());
|
|
$warn = $v->VersionWarning();
|
|
|
|
// $this->assertTrue($warn->OutdatedRelease);
|
|
// $this->assertNull($warn->FutureRelease);
|
|
|
|
// 3.0 is a future release
|
|
$response = $v->handleRequest(new SS_HTTPRequest('GET', 'en/testdocs/3.0/'), DataModel::inst());
|
|
$warn = $v->VersionWarning();
|
|
|
|
// $this->assertNull($warn->OutdatedRelease);
|
|
// $this->assertTrue($warn->FutureRelease);
|
|
}
|
|
}
|