aboutsummaryrefslogblamecommitdiffhomepage
path: root/tests/utils/FakeConfigManager.php
blob: 360b34a981c91d797d29d769dd858bb1c032a36a (plain) (tree)
1
2
3
4
5
6
7






                       






























                                                               
     


                                         

                    











                                                                     
 
<?php

/**
 * Fake ConfigManager
 */
class FakeConfigManager
{
    protected $values = [];

    /**
     * Initialize with test values
     *
     * @param array $values Initial values
     */
    public function __construct($values = [])
    {
        $this->values = $values;
    }

    /**
     * Set a given value
     *
     * @param string $key   Key of the value to set
     * @param mixed  $value Value to set
     */
    public function set($key, $value)
    {
        $this->values[$key] = $value;
    }

    /**
     * Get a given configuration value
     *
     * @param string $key Index of the value to retrieve
     *
     * @return mixed The value if set, else the name of the key
     */
    public function get($key)
    {
        if (isset($this->values[$key])) {
            return $this->values[$key];
        }
        return $key;
    }

    /**
     * Check if a setting exists
     *
     * @param string $setting Asked setting, keys separated with dots
     *
     * @return bool true if the setting exists, false otherwise
     */
    public function exists($setting)
    {
        return array_key_exists($setting, $this->values);
    }
}