Skip to content
Extraits de code Groupes Projets
TestingEnvironment.php 2,98 ko
Newer Older
  • Learn to ignore specific revisions
  • mattab's avatar
    mattab a validé
    if (!defined('PIWIK_TEST_MODE')) {
        define('PIWIK_TEST_MODE', true);
    }
    
    
    Benaka Moorthi's avatar
    Benaka Moorthi a validé
    class Piwik_MockAccess
    {
        private $access;
    
        public function __construct($access)
        {
            $this->access = $access;
            $access->setSuperUser(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()
        {
    
    mattab's avatar
    mattab a validé
            \Piwik\Piwik::addAction('Access.createAccessSingleton', function($access) {
    
    Benaka Moorthi's avatar
    Benaka Moorthi a validé
                $access = new Piwik_MockAccess($access);
                \Piwik\Access::setSingletonInstance($access);
    
    mattab's avatar
    mattab a validé
            \Piwik\Piwik::addAction('Config.createConfigSingleton', function($config) {
    
                \Piwik\CacheFile::$invalidateOpCacheBeforeRead = true;
    
    
    
                $pluginsToLoad = array(
                    "CorePluginsAdmin", "CoreAdminHome", "CoreHome", "Proxy", "API", "Widgetize", "Transitions",
    
                    "LanguagesManager", "Actions", "Dashboard", "MultiSites", "Referrers", "UserSettings", "Goals",
    
                    "SEO", "UserCountry", "VisitsSummary", "VisitFrequency", "VisitTime", "VisitorInterest",
                    "ExampleAPI", "ExamplePlugin", "ExampleRssWidget", "Provider", "Feedback", "Login", "UsersManager",
    
                    "SitesManager", "Installation", "CoreUpdater", "ScheduledReports", "UserCountryMap", "Live",
    
                    "CustomVariables", "PrivacyManager", "ImageGraph", "DoNotTrack", "Annotations", "MobileMessaging",
    
                    "Overlay", "SegmentEditor", "DevicesDetection", "DBStats", 'ExampleUI', 'AnonymizeIP'
    
                );
                $config->Plugins = array('Plugins' => $pluginsToLoad);
    
                $trackerPluginsToLoad = array(
                    'Provider', 'Goals', 'DoNotTrack', 'UserCountry', 'AnonymizeIP', 'DevicesDetection'
                );
                $config->Plugins_Tracker = array('Plugins_Tracker' => $trackerPluginsToLoad);
    
    
    Benaka Moorthi's avatar
    Benaka Moorthi a validé
                $config->superuser['email'] = 'hello@example.org';
    
    mattab's avatar
    mattab a validé
            \Piwik\Piwik::addAction('Request.dispatch', function() {
    
                \Piwik\Plugins\CoreVisualizations\Visualizations\Cloud::$debugDisableShuffle = true;
    
    mattab's avatar
    mattab a validé
                \Piwik\Visualization\Sparkline::$enableSparklineImages = false;
    
    diosmosis's avatar
    diosmosis a validé
                \Piwik\Plugins\ExampleUI\API::$disableRandomness = true;
    
    mattab's avatar
    mattab a validé
            \Piwik\Piwik::addAction('AssetManager.getStylesheetFiles', function(&$stylesheets) {
    
                $stylesheets[] = 'tests/resources/screenshot-override/override.css';
    
    mattab's avatar
    mattab a validé
            \Piwik\Piwik::addAction('AssetManager.getJavaScriptFiles', function(&$jsFiles) {
    
                $jsFiles[] = 'tests/resources/screenshot-override/jquery.waitforimages.js';
                $jsFiles[] = 'tests/resources/screenshot-override/override.js';
            });