MINOR: rename from docviewer to docsviewer

This commit is contained in:
Will Rossiter 2012-04-08 21:36:16 +12:00
parent a87094fb16
commit 1e28e8252f
17 changed files with 81 additions and 81 deletions

View File

@ -3,15 +3,15 @@
* Documentation Configuration
*
* Please override any of these options in your own projects _config.php file.
* For more information and documentation see docviewer/docs/en
* For more information and documentation see docsviewer/docs/en
*/
if(!defined('DOCVIEWER_PATH')) {
define('DOCVIEWER_PATH', dirname(__FILE__));
if(!defined('DOCSVIEWER_PATH')) {
define('DOCSVIEWER_PATH', dirname(__FILE__));
}
if(!defined('DOCVIEWER_DIR')) {
define('DOCVIEWER_DIR', array_pop(explode(DIRECTORY_SEPARATOR, DOCVIEWER_PATH)));
if(!defined('DOCSVIEWER_DIR')) {
define('DOCSVIEWER_DIR', array_pop(explode(DIRECTORY_SEPARATOR, DOCSVIEWER_PATH)));
}

View File

@ -3,7 +3,7 @@
/**
* Parser wrapping the Markdown Extra parser (see http://michelf.com/projects/php-markdown/extra/).
*
* @package docviewer
* @package docsviewer
*/
class DocumentationParser {
@ -45,7 +45,7 @@ class DocumentationParser {
$md = self::rewrite_heading_anchors($md, $page);
$md = self::rewrite_code_blocks($md, $page);
require_once(DOCVIEWER_PATH .'/thirdparty/markdown/markdown.php');
require_once(DOCSVIEWER_PATH .'/thirdparty/markdown/markdown.php');
$parser = new MarkdownExtra_Parser();
$parser->no_markup = true;

View File

@ -6,7 +6,7 @@
*
* Redirects the user from example.com/foo to example.com/en/module/foo
*
* @package docviewer
* @package docsviewer
*/
class DocumentationPermalinks {

View File

@ -21,7 +21,7 @@
* yoursite.com/search/?q=Foo&start=10&limit=10
* </code>
*
* @package docviewer
* @package docsviewer
*/
class DocumentationSearch {
@ -183,7 +183,7 @@ class DocumentationSearch {
*/
public function get_index_location() {
if(!self::$index_location)
self::$index_location = DOCVIEWER_DIR;
self::$index_location = DOCSVIEWER_DIR;
return Controller::join_links(
TEMP_FOLDER,

View File

@ -8,7 +8,7 @@
* Includes registering which components to document and handles the entities being
* documented.
*
* @package docviewer
* @package docsviewer
*/
class DocumentationService {

View File

@ -4,7 +4,7 @@
* Public facing controller for handling an opensearch interface based on
* the standard search form.
*
* @package docviewer
* @package docsviewer
*/
class DocumentationOpenSearchController extends ContentController {

View File

@ -9,7 +9,7 @@
* For more documentation on how to use this class see the documentation in the
* docs folder
*
* @package docviewer
* @package docsviewer
*/
class DocumentationViewer extends Controller {
@ -65,19 +65,19 @@ class DocumentationViewer extends Controller {
Requirements::combine_files(
'syntaxhighlighter.js',
array(
DOCVIEWER_DIR .'/thirdparty/syntaxhighlighter/scripts/shCore.js',
DOCVIEWER_DIR . '/thirdparty/syntaxhighlighter/scripts/shBrushJScript.js',
DOCVIEWER_DIR . '/thirdparty/syntaxhighlighter/scripts/shBrushPhp.js',
DOCVIEWER_DIR . '/thirdparty/syntaxhighlighter/scripts/shBrushXml.js',
DOCVIEWER_DIR . '/thirdparty/syntaxhighlighter/scripts/shBrushCss.js',
DOCVIEWER_DIR . '/javascript/shBrushSS.js'
DOCSVIEWER_DIR .'/thirdparty/syntaxhighlighter/scripts/shCore.js',
DOCSVIEWER_DIR . '/thirdparty/syntaxhighlighter/scripts/shBrushJScript.js',
DOCSVIEWER_DIR . '/thirdparty/syntaxhighlighter/scripts/shBrushPhp.js',
DOCSVIEWER_DIR . '/thirdparty/syntaxhighlighter/scripts/shBrushXml.js',
DOCSVIEWER_DIR . '/thirdparty/syntaxhighlighter/scripts/shBrushCss.js',
DOCSVIEWER_DIR . '/javascript/shBrushSS.js'
)
);
Requirements::javascript(DOCVIEWER_DIR .'/javascript/DocumentationViewer.js');
Requirements::css(DOCVIEWER_DIR .'/css/shSilverStripeDocs.css');
Requirements::javascript(DOCSVIEWER_DIR .'/javascript/DocumentationViewer.js');
Requirements::css(DOCSVIEWER_DIR .'/css/shSilverStripeDocs.css');
Requirements::css(DOCVIEWER_DIR .'/css/DocumentationViewer.css');
Requirements::css(DOCSVIEWER_DIR .'/css/DocumentationViewer.css');
}
/**

View File

@ -17,7 +17,7 @@
*
* @see http://php.net/manual/en/function.version-compare.php
*
* @package docviewer
* @package docsviewer
* @subpackage models
*/

View File

@ -4,7 +4,7 @@
* A specific page within a {@link DocumentationEntity}. Maps 1 to 1 to a file on the
* filesystem.
*
* @package docviewer
* @package docsviewer
* @subpackage model
*/
class DocumentationPage extends ViewableData {

View File

@ -5,7 +5,7 @@
*
* For the hourly cron rebuild use RebuildLuceneDocusIndex_Hourly
*
* @package docviewer
* @package docsviewer
* @subpackage tasks
*/
@ -14,14 +14,14 @@ class RebuildLuceneDocsIndex extends BuildTask {
protected $title = "Rebuild Documentation Search Indexes";
protected $description = "
Rebuilds the indexes used for the search engine in the docviewer.";
Rebuilds the indexes used for the search engine in the docsviewer.";
function run($request) {
$this->rebuildIndexes();
}
function rebuildIndexes($quiet = false) {
require_once(DOCVIEWER_PATH .'/thirdparty/markdown/markdown.php');
require_once(DOCSVIEWER_PATH .'/thirdparty/markdown/markdown.php');
require_once 'Zend/Search/Lucene.php';
ini_set("memory_limit", -1);
@ -107,7 +107,7 @@ class RebuildLuceneDocsIndex extends BuildTask {
}
/**
* @package docviewer
* @package docsviewer
* @subpackage tasks
*/
class RebuildLuceneDocusIndex_Hourly extends HourlyTask {

View File

@ -1,4 +1,4 @@
# Docviewer Module
# docsviewer Module
This module has been developed to read and display content from markdown and
plain text files in web browser. It provides an easy way to bundle end user
@ -36,7 +36,7 @@ location then you can register paths directly:
To configure the documentation system the configuration information is
available on the [Configurations](dev/docs/en/docviewer/configuration-options)
available on the [Configurations](dev/docs/en/docsviewer/configuration-options)
page.
## Writing documentation

View File

@ -1,12 +1,12 @@
<?php
/**
* @package docviewer
* @package docsviewer
* @subpackage tests
*/
class DocumentationEntityTest extends SapphireTest {
function testDocumentationEntityAccessing() {
$entity = new DocumentationEntity('docs', '1.0', DOCVIEWER_PATH .'/tests/docs/', 'My Test');
$entity = new DocumentationEntity('docs', '1.0', DOCSVIEWER_PATH .'/tests/docs/', 'My Test');
$this->assertEquals($entity->getTitle(), 'My Test');
$this->assertEquals($entity->getVersions(), array('1.0'));
@ -21,13 +21,13 @@ class DocumentationEntityTest extends SapphireTest {
}
function testgetStableVersion() {
$entity = new DocumentationEntity('docs', '1.0', DOCVIEWER_PATH. '/tests/docs/', 'My Test');
$entity->addVersion('1.1', DOCVIEWER_PATH. '/tests/docs-v2.4/');
$entity->addVersion('0.0', DOCVIEWER_PATH. '/tests/docs-v3.0/');
$entity = new DocumentationEntity('docs', '1.0', DOCSVIEWER_PATH. '/tests/docs/', 'My Test');
$entity->addVersion('1.1', DOCSVIEWER_PATH. '/tests/docs-v2.4/');
$entity->addVersion('0.0', DOCSVIEWER_PATH. '/tests/docs-v3.0/');
$this->assertEquals('1.1', $entity->getStableVersion(), 'Automatic version sorting');
$entity = new DocumentationEntity('docs', '1.0', DOCVIEWER_PATH. '/tests/docs/', 'My Test');
$entity->addVersion('1.1.', DOCVIEWER_PATH .'/tests/docs-v2.4/');
$entity = new DocumentationEntity('docs', '1.0', DOCSVIEWER_PATH. '/tests/docs/', 'My Test');
$entity->addVersion('1.1.', DOCSVIEWER_PATH .'/tests/docs-v2.4/');
$entity->setStableVersion('1.0');
$this->assertEquals('1.0', $entity->getStableVersion(), 'Manual setting');
}

View File

@ -1,14 +1,14 @@
<?php
/**
* @package docviewer
* @package docsviewer
* @subpackage tests
*/
class DocumentationPageTest extends SapphireTest {
function testGetLink() {
$entity = new DocumentationEntity('testmodule', null, DOCVIEWER_PATH .'/tests/docs/');
$entity = new DocumentationEntity('testmodule', null, DOCSVIEWER_PATH .'/tests/docs/');
$page = new DocumentationPage();
$page->setRelativePath('test.md');
@ -32,8 +32,8 @@ class DocumentationPageTest extends SapphireTest {
$this->assertStringEndsWith('testmodule/en/subfolder/subpage', $nested->Link());
// test with version.
$entity = DocumentationService::register("versionlinks", DOCVIEWER_PATH ."/tests/docs-v2.4/", '1');
$entity->addVersion('2', DOCVIEWER_PATH ."/tests/docs-v3.0/");
$entity = DocumentationService::register("versionlinks", DOCSVIEWER_PATH ."/tests/docs-v2.4/", '1');
$entity->addVersion('2', DOCSVIEWER_PATH ."/tests/docs-v3.0/");
$entity->setStableVersion('2');
$page = new DocumentationPage();
@ -47,19 +47,19 @@ class DocumentationPageTest extends SapphireTest {
function testGetRelativePath() {
$page = new DocumentationPage();
$page->setRelativePath('test.md');
$page->setEntity(new DocumentationEntity('mymodule', null, DOCVIEWER_PATH . '/tests/docs/'));
$page->setEntity(new DocumentationEntity('mymodule', null, DOCSVIEWER_PATH . '/tests/docs/'));
$this->assertEquals('test.md', $page->getRelativePath());
$page = new DocumentationPage();
$page->setRelativePath('subfolder/subpage.md');
$page->setEntity(new DocumentationEntity('mymodule', null, DOCVIEWER_PATH . '/tests/docs/'));
$page->setEntity(new DocumentationEntity('mymodule', null, DOCSVIEWER_PATH . '/tests/docs/'));
$this->assertEquals('subfolder/subpage.md', $page->getRelativePath());
}
function testGetPath() {
$absPath = DOCVIEWER_PATH .'/tests/docs/';
$absPath = DOCSVIEWER_PATH .'/tests/docs/';
$page = new DocumentationPage();
$page->setRelativePath('test.md');
$page->setEntity(new DocumentationEntity('mymodule', null, $absPath));
@ -74,7 +74,7 @@ class DocumentationPageTest extends SapphireTest {
}
function testGetBreadcrumbTitle() {
$entity = new DocumentationEntity('testmodule', null, DOCVIEWER_PATH . '/tests/docs/');
$entity = new DocumentationEntity('testmodule', null, DOCSVIEWER_PATH . '/tests/docs/');
$page = new DocumentationPage();
$page->setRelativePath('test.md');
@ -84,7 +84,7 @@ class DocumentationPageTest extends SapphireTest {
$page = new DocumentationPage();
$page->setRelativePath('subfolder/subpage.md');
$page->setEntity(new DocumentationEntity('mymodule', null, DOCVIEWER_PATH . '/tests/docs/'));
$page->setEntity(new DocumentationEntity('mymodule', null, DOCSVIEWER_PATH . '/tests/docs/'));
$this->assertEquals('Mymodule - Subfolder - Subpage', $page->getBreadcrumbTitle());
}

View File

@ -1,13 +1,13 @@
<?php
/**
* @package docviewer
* @package docsviewer
*/
class DocumentationParserTest extends SapphireTest {
function testRewriteCodeBlocks() {
$page = new DocumentationPage();
$page->setRelativePath('test.md');
$page->setEntity(new DocumentationEntity('mymodule', '2.4', DOCVIEWER_PATH . '/tests/docs/'));
$page->setEntity(new DocumentationEntity('mymodule', '2.4', DOCSVIEWER_PATH . '/tests/docs/'));
$page->setLang('en');
$page->setVersion('2.4');
$result = DocumentationParser::rewrite_code_blocks($page->getMarkdown());
@ -38,23 +38,23 @@ HTML;
// Page on toplevel
$page = new DocumentationPage();
$page->setRelativePath('subfolder/subpage.md');
$page->setEntity(new DocumentationEntity('mymodule', '2.4', DOCVIEWER_PATH . '/tests/docs/'));
$page->setEntity(new DocumentationEntity('mymodule', '2.4', DOCSVIEWER_PATH . '/tests/docs/'));
$page->setLang('en');
$page->setVersion('2.4');
$result = DocumentationParser::rewrite_image_links($page->getMarkdown(), $page, 'mycontroller/cms/2.4/en/');
$this->assertContains(
'[relative image link](' . Director::absoluteBaseURL() .'/'. DOCVIEWER_DIR . '/tests/docs/en/subfolder/_images/image.png)',
'[relative image link](' . Director::absoluteBaseURL() .'/'. DOCSVIEWER_DIR . '/tests/docs/en/subfolder/_images/image.png)',
$result
);
$this->assertContains(
'[parent image link](' . Director::absoluteBaseURL() . '/'. DOCVIEWER_DIR. '/tests/docs/en/_images/image.png)',
'[parent image link](' . Director::absoluteBaseURL() . '/'. DOCSVIEWER_DIR. '/tests/docs/en/_images/image.png)',
$result
);
// $this->assertContains(
// '[absolute image link](' . Director::absoluteBaseURL() . '/'. DOCVIEWER_DIR. '/tests/docs/en/_images/image.png)',
// '[absolute image link](' . Director::absoluteBaseURL() . '/'. DOCSVIEWER_DIR. '/tests/docs/en/_images/image.png)',
// $result
// );
}
@ -63,7 +63,7 @@ HTML;
// Page on toplevel
$page = new DocumentationPage();
$page->setRelativePath('test.md');
$page->setEntity(new DocumentationEntity('mymodule', '2.4', DOCVIEWER_PATH .'/tests/docs/'));
$page->setEntity(new DocumentationEntity('mymodule', '2.4', DOCSVIEWER_PATH .'/tests/docs/'));
$page->setLang('en');
$page->setVersion('2.4');
@ -81,7 +81,7 @@ HTML;
function testHeadlineAnchors() {
$page = new DocumentationPage();
$page->setRelativePath('test.md');
$page->setEntity(new DocumentationEntity('mymodule', '2.4', DOCVIEWER_PATH . '/tests/docs/'));
$page->setEntity(new DocumentationEntity('mymodule', '2.4', DOCSVIEWER_PATH . '/tests/docs/'));
$page->setLang('en');
$page->setVersion('2.4');
@ -119,7 +119,7 @@ HTML;
// Page on toplevel
$page = new DocumentationPage();
$page->setRelativePath('test.md');
$page->setEntity(new DocumentationEntity('mymodule', '2.4', DOCVIEWER_PATH . '/tests/docs/'));
$page->setEntity(new DocumentationEntity('mymodule', '2.4', DOCSVIEWER_PATH . '/tests/docs/'));
$result = DocumentationParser::rewrite_relative_links($page->getMarkdown(), $page, 'mycontroller/cms/2.4/en/');
@ -147,7 +147,7 @@ HTML;
// Page in subfolder
$page = new DocumentationPage();
$page->setRelativePath('subfolder/subpage.md');
$page->setEntity(new DocumentationEntity('mymodule', '2.4', DOCVIEWER_PATH . '/tests/docs/'));
$page->setEntity(new DocumentationEntity('mymodule', '2.4', DOCSVIEWER_PATH . '/tests/docs/'));
$result = DocumentationParser::rewrite_relative_links($page->getMarkdown(), $page, 'mycontroller/cms/2.4/en/');
@ -180,7 +180,7 @@ HTML;
// Page in nested subfolder
$page = new DocumentationPage();
$page->setRelativePath('subfolder/subsubfolder/subsubpage.md');
$page->setEntity(new DocumentationEntity('mymodule', '2.4', DOCVIEWER_PATH . '/tests/docs/'));
$page->setEntity(new DocumentationEntity('mymodule', '2.4', DOCSVIEWER_PATH . '/tests/docs/'));
$result = DocumentationParser::rewrite_relative_links($page->getMarkdown(), $page, 'mycontroller/cms/2.4/en/');
@ -209,7 +209,7 @@ HTML;
function testRetrieveMetaData() {
$page = new DocumentationPage();
$page->setRelativePath('MetaDataTest.md');
$page->setEntity(new DocumentationEntity('parser', '2.4', DOCVIEWER_PATH . '/tests/docs-parser/'));
$page->setEntity(new DocumentationEntity('parser', '2.4', DOCSVIEWER_PATH . '/tests/docs-parser/'));
DocumentationParser::retrieve_meta_data($page);
@ -221,9 +221,9 @@ HTML;
function testParserConvertsSpecialCharacters() {
$page = new DocumentationPage();
$page->setRelativePath('CodeSnippets.md');
$page->setEntity(new DocumentationEntity('parser', '2.4', DOCVIEWER_PATH . '/tests/docs-parser/'));
$page->setEntity(new DocumentationEntity('parser', '2.4', DOCSVIEWER_PATH . '/tests/docs-parser/'));
$parsed = DocumentationParser::parse($page, '/'.DOCVIEWER_DIR .'/tests/docs-parser/');
$parsed = DocumentationParser::parse($page, '/'.DOCSVIEWER_DIR .'/tests/docs-parser/');
// header elements parsed
$this->assertContains(
@ -239,7 +239,7 @@ HTML;
}
function testRewritingRelativeLinksToFiles() {
$folder = DOCVIEWER_PATH . '/tests/docs-parser/';
$folder = DOCSVIEWER_PATH . '/tests/docs-parser/';
$page = new DocumentationPage();
$page->setRelativePath('file-download.md');
@ -248,12 +248,12 @@ HTML;
$parsed = DocumentationParser::parse($page, $folder);
$this->assertContains(
DOCVIEWER_DIR .'/tests/docs-parser/en/_images/external_link.png',
DOCSVIEWER_DIR .'/tests/docs-parser/en/_images/external_link.png',
$parsed
);
$this->assertContains(
DOCVIEWER_DIR .'/tests/docs-parser/en/_images/test.tar.gz',
DOCSVIEWER_DIR .'/tests/docs-parser/en/_images/test.tar.gz',
$parsed
);
}

View File

@ -1,7 +1,7 @@
<?php
/**
* @package docviewer
* @package docsviewer
* @subpackage tests
*/
@ -13,14 +13,14 @@ class DocumentationSearchTest extends FunctionalTest {
if(!DocumentationSearch::enabled()) return;
DocumentationService::set_automatic_registration(false);
DocumentationService::register('docs-search', DOCVIEWER_PATH . '/tests/docs-search/');
DocumentationService::register('docs-search', DOCSVIEWER_PATH . '/tests/docs-search/');
}
function testGetAllPages() {
if(!DocumentationSearch::enabled()) return;
DocumentationService::set_automatic_registration(false);
DocumentationService::register('docs-search', DOCVIEWER_PATH . '/tests/docs-search/');
DocumentationService::register('docs-search', DOCSVIEWER_PATH . '/tests/docs-search/');
$search = DocumentationSearch::get_all_documentation_pages();

View File

@ -1,14 +1,14 @@
<?php
/**
* @package docviewer
* @package docsviewer
* @subpackage tests
*/
class DocumentationServiceTest extends SapphireTest {
function testGetPagesFromFolder() {
$entity = DocumentationService::register('testdocs', DOCVIEWER_PATH . '/tests/docs/');
$entity = DocumentationService::register('testdocs', DOCSVIEWER_PATH . '/tests/docs/');
$pages = DocumentationService::get_pages_from_folder($entity);
$this->assertContains('index.md', $pages->column('Filename'), 'The tests/docs/en folder should contain a index file');
@ -28,7 +28,7 @@ class DocumentationServiceTest extends SapphireTest {
function testGetPagesFromFolderRecursive() {
$entity = DocumentationService::register('testdocsrecursive', DOCVIEWER_PATH . '/tests/docs-recursive/');
$entity = DocumentationService::register('testdocsrecursive', DOCSVIEWER_PATH . '/tests/docs-recursive/');
$pages = DocumentationService::get_pages_from_folder($entity, null, true);
@ -43,19 +43,19 @@ class DocumentationServiceTest extends SapphireTest {
}
function testFindPath() {
DocumentationService::register("DocumentationViewerTests", DOCVIEWER_PATH . "/tests/docs/");
DocumentationService::register("DocumentationViewerTests", DOCSVIEWER_PATH . "/tests/docs/");
// file
$path = DocumentationService::find_page('DocumentationViewerTests', array('test'));
$this->assertEquals(DOCVIEWER_PATH . "/tests/docs/en/test.md", $path);
$this->assertEquals(DOCSVIEWER_PATH . "/tests/docs/en/test.md", $path);
// the home page. The path finder should go to the index.md file in the default language
$path = DocumentationService::find_page('DocumentationViewerTests', array(''));
$this->assertEquals(DOCVIEWER_PATH . "/tests/docs/en/index.md", $path);
$this->assertEquals(DOCSVIEWER_PATH . "/tests/docs/en/index.md", $path);
// second level
$path = DocumentationService::find_page('DocumentationViewerTests', array('subfolder', 'subpage'));
$this->assertEquals(DOCVIEWER_PATH . "/tests/docs/en/subfolder/subpage.md", $path);
$this->assertEquals(DOCSVIEWER_PATH . "/tests/docs/en/subfolder/subpage.md", $path);
// subsubfolder has no index file. It should fail instead the viewer should pick up on this
// and display the listing of the folder
@ -64,11 +64,11 @@ class DocumentationServiceTest extends SapphireTest {
// third level
$path = DocumentationService::find_page('DocumentationViewerTests', array('subfolder', 'subsubfolder', 'subsubpage'));
$this->assertEquals(DOCVIEWER_PATH . "/tests/docs/en/subfolder/subsubfolder/subsubpage.md", $path);
$this->assertEquals(DOCSVIEWER_PATH . "/tests/docs/en/subfolder/subsubfolder/subsubpage.md", $path);
// with trailing slash
$path = DocumentationService::find_page('DocumentationViewerTests', array('subfolder', 'subsubfolder', 'subsubpage'));
$this->assertEquals(DOCVIEWER_PATH . "/tests/docs/en/subfolder/subsubfolder/subsubpage.md", $path);
$this->assertEquals(DOCSVIEWER_PATH . "/tests/docs/en/subfolder/subsubfolder/subsubpage.md", $path);
}

View File

@ -4,7 +4,7 @@
* Some of these tests are simply checking that pages load. They should not assume
* somethings working.
*
* @package docviewer
* @package docsviewer
* @subpackage tests
*/
@ -25,12 +25,12 @@ class DocumentationViewerTest extends FunctionalTest {
}
// We set 3.0 as current, and test most assertions against 2.4 - to avoid 'current' rewriting issues
DocumentationService::register("DocumentationViewerTests", DOCVIEWER_PATH . "/tests/docs/", '2.3');
DocumentationService::register("DocumentationViewerTests", DOCVIEWER_PATH . "/tests/docs-v2.4/", '2.4', 'Doc Test', true);
DocumentationService::register("DocumentationViewerTests", DOCVIEWER_PATH . "/tests/docs-v3.0/", '3.0', 'Doc Test');
DocumentationService::register("DocumentationViewerTests", DOCSVIEWER_PATH . "/tests/docs/", '2.3');
DocumentationService::register("DocumentationViewerTests", DOCSVIEWER_PATH . "/tests/docs-v2.4/", '2.4', 'Doc Test', true);
DocumentationService::register("DocumentationViewerTests", DOCSVIEWER_PATH . "/tests/docs-v3.0/", '3.0', 'Doc Test');
DocumentationService::register("DocumentationViewerAltModule1", DOCVIEWER_PATH . "/tests/docs-parser/", '1.0');
DocumentationService::register("DocumentationViewerAltModule2", DOCVIEWER_PATH . "/tests/docs-search/", '1.0');
DocumentationService::register("DocumentationViewerAltModule1", DOCSVIEWER_PATH . "/tests/docs-parser/", '1.0');
DocumentationService::register("DocumentationViewerAltModule2", DOCSVIEWER_PATH . "/tests/docs-search/", '1.0');
}
function tearDownOnce() {