1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
<?php
if (!defined('PIWIK_TEST_MODE')) {
define('PIWIK_TEST_MODE', true);
}
class Piwik_MockAccess
{
private $access;
public function __construct($access)
{
$this->access = $access;
$access->setSuperUserAccess(true);
}
public function __call($name, $arguments)
{
return call_user_func_array(array($this->access, $name), $arguments);
}
public function reloadAccess($auth = null)
{
return true;
}
public function getLogin()
{
return 'superUserLogin';
}
}
/**
* Sets the test environment.
*/
class Piwik_TestingEnvironment
{
public static function addHooks()
{
\Piwik\Piwik::addAction('Access.createAccessSingleton', function($access) {
$access = new Piwik_MockAccess($access);
\Piwik\Access::setSingletonInstance($access);
});
\Piwik\Piwik::addAction('Config.createConfigSingleton', function($config) {
\Piwik\CacheFile::$invalidateOpCacheBeforeRead = true;
$config->setTestEnvironment();
$pluginsToLoad = \Piwik\Plugin\Manager::getInstance()->getPluginsToLoadDuringTests();
$config->Plugins = array('Plugins' => $pluginsToLoad);
$trackerPluginsToLoad = array(
'Provider', 'Goals', 'PrivacyManager', 'UserCountry', 'DevicesDetection'
);
$config->Plugins_Tracker = array('Plugins_Tracker' => $trackerPluginsToLoad);
});
\Piwik\Piwik::addAction('Request.dispatch', function() {
\Piwik\Plugins\CoreVisualizations\Visualizations\Cloud::$debugDisableShuffle = true;
\Piwik\Visualization\Sparkline::$enableSparklineImages = false;
\Piwik\Plugins\ExampleUI\API::$disableRandomness = true;
});
\Piwik\Piwik::addAction('AssetManager.getStylesheetFiles', function(&$stylesheets) {
$stylesheets[] = 'tests/resources/screenshot-override/override.css';
});
\Piwik\Piwik::addAction('AssetManager.getJavaScriptFiles', function(&$jsFiles) {
$jsFiles[] = 'tests/resources/screenshot-override/jquery.waitforimages.js';
$jsFiles[] = 'tests/resources/screenshot-override/override.js';
});
}
}
|