summaryrefslogtreecommitdiff
path: root/_test/bootstrap.php
diff options
context:
space:
mode:
authorTobias Sarnowski <sarnowski@cosmocode.de>2012-04-18 12:08:28 +0200
committerTobias Sarnowski <sarnowski@cosmocode.de>2012-04-18 12:08:28 +0200
commitf8369d7d6e37248d6523fdac6e1d760fca4f1b52 (patch)
tree0848c213ffc191a23b55f07bd2ec55e777ea79ca /_test/bootstrap.php
parentd59108b91e9bf9fd56dc2e697cf31f9bbc7f9cd4 (diff)
downloadrpg-f8369d7d6e37248d6523fdac6e1d760fca4f1b52.tar.gz
rpg-f8369d7d6e37248d6523fdac6e1d760fca4f1b52.tar.bz2
moved _testing to _test
Diffstat (limited to '_test/bootstrap.php')
-rw-r--r--_test/bootstrap.php102
1 files changed, 102 insertions, 0 deletions
diff --git a/_test/bootstrap.php b/_test/bootstrap.php
new file mode 100644
index 000000000..f8ca4d483
--- /dev/null
+++ b/_test/bootstrap.php
@@ -0,0 +1,102 @@
+<?php
+/**
+ * Test Suite bootstrapping for DokuWiki
+ */
+
+if(!defined('DOKU_UNITTEST')) define('DOKU_UNITTEST',dirname(__FILE__).'/');
+require_once DOKU_UNITTEST.'core/phpQuery-onefile.php';
+require_once DOKU_UNITTEST.'core/DokuWikiTest.php';
+require_once DOKU_UNITTEST.'core/TestResponse.php';
+require_once DOKU_UNITTEST.'core/TestRequest.php';
+require_once DOKU_UNITTEST.'core/TestUtils.php';
+
+
+// backward compatibility to old test suite
+define('SIMPLE_TEST', true);
+
+// basic behaviours
+error_reporting(E_ALL);
+set_time_limit(0);
+ini_set('memory_limit','2048M');
+
+// prepare temporary directories
+define('DOKU_INC', dirname(dirname(__FILE__)).'/');
+define('TMP_DIR', sys_get_temp_dir().'/dwtests-'.microtime(true));
+define('DOKU_CONF', TMP_DIR.'/conf/');
+define('DOKU_TMP_DATA', TMP_DIR.'/data/');
+
+// default plugins
+$default_plugins = array(
+ 'acl',
+ 'config',
+ 'info',
+ 'plugin',
+ 'popularity',
+ 'revert',
+ 'safefnrecode',
+ 'usermanager'
+);
+
+// default server variables
+$default_server_vars = array(
+ 'QUERY_STRING' => '?id=',
+ 'REQUEST_METHOD' => 'GET',
+ 'CONTENT_TYPE' => '',
+ 'CONTENT_LENGTH' => '',
+ 'SCRIPT_NAME' => '/doku.php',
+ 'REQUEST_URI' => '/doku.php?id=',
+ 'DOCUMENT_URI' => '/doku.php',
+ 'DOCUMENT_ROOT' => DOKU_INC,
+ 'SERVER_PROTOCOL' => 'HTTP/1.1',
+ 'SERVER_SOFTWARE' => 'nginx/0.7.67',
+ 'REMOTE_ADDR' => '87.142.120.6',
+ 'REMOTE_PORT' => '21418',
+ 'SERVER_ADDR' => '46.38.241.24',
+ 'SERVER_PORT' => '443',
+ 'SERVER_NAME' => 'wiki.example.com',
+ 'REDIRECT_STATUS' => '200',
+ 'SCRIPT_FILENAME' => DOKU_INC.'doku.php',
+ 'HTTP_HOST' => 'wiki.example.com',
+ 'HTTP_USER_AGENT' => 'Mozilla/5.0 (X11; OpenBSD amd64; rv:11.0) Gecko/20100101 Firefox/11.0',
+ 'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
+ 'HTTP_ACCEPT_LANGUAGE' => 'en-us,en;q=0.5',
+ 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate',
+ 'HTTP_CONNECTION' => 'keep-alive',
+ 'HTTP_CACHE_CONTROL' => 'max-age=0',
+ 'PHP_SELF' => '/doku.php',
+ 'REQUEST_TIME' => time(),
+);
+
+// create temp directories
+mkdir(TMP_DIR);
+
+// cleanup dir after exit
+register_shutdown_function(function() {
+ TestUtils::rdelete(TMP_DIR);
+});
+
+// populate default dirs
+TestUtils::rcopy(TMP_DIR, dirname(__FILE__).'/conf');
+TestUtils::rcopy(TMP_DIR, dirname(__FILE__).'/data');
+
+// disable all non-default plugins by default
+$dh = dir(DOKU_INC.'lib/plugins/');
+while (false !== ($entry = $dh->read())) {
+ if ($entry == '.' || $entry == '..') {
+ continue;
+ }
+
+ if (!is_dir(DOKU_INC.'lib/plugins/'.$entry)) {
+ continue;
+ }
+
+ if (!in_array($entry, $default_plugins)) {
+ // disable this plugin
+ TestUtils::fappend(DOKU_CONF.'plugins.local.php', "\$plugins['$entry'] = 0;\n");
+ }
+}
+$dh->close();
+
+// load dw
+require_once(DOKU_INC.'inc/init.php');
+