Skip to content

Commit

Permalink
Release 4.0.0-beta.1
Browse files Browse the repository at this point in the history
  • Loading branch information
jim-parry committed Mar 1, 2019
1 parent de79ad7 commit f4d0c27
Show file tree
Hide file tree
Showing 84 changed files with 2,365 additions and 8 deletions.
5 changes: 5 additions & 0 deletions _support/Autoloader/UnnamespacedClass.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?php

class UnnamespacedClass
{
}
8 changes: 8 additions & 0 deletions _support/CIDatabaseTestCase.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?php

use CodeIgniter\Test;

class CIDatabaseTestCase extends Test\CIDatabaseTestCase
{

}
8 changes: 8 additions & 0 deletions _support/CIUnitTestCase.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?php

use CodeIgniter\Test;

class CIUnitTestCase extends Test\CIUnitTestCase
{

}
198 changes: 198 additions & 0 deletions _support/Cache/Handlers/MockHandler.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,198 @@
<?php namespace Tests\Support\Cache\Handlers;

use CodeIgniter\Cache\CacheInterface;

class MockHandler implements CacheInterface
{
/**
* Prefixed to all cache names.
*
* @var string
*/
protected $prefix;

/**
* Mock cache storage.
*
* @var array
*/
protected $cache = [];

//--------------------------------------------------------------------

/**
* Takes care of any handler-specific setup that must be done.
*/
public function initialize()
{
// Not to see here...
}

//--------------------------------------------------------------------

/**
* Attempts to fetch an item from the cache store.
*
* @param string $key Cache item name
*
* @return mixed
*/
public function get(string $key)
{
$key = $this->prefix . $key;

return array_key_exists($key, $this->cache)
? $this->cache[$key]
: false;
}

//--------------------------------------------------------------------

/**
* Saves an item to the cache store.
*
* The $raw parameter is only utilized by Mamcache in order to
* allow usage of increment() and decrement().
*
* @param string $key Cache item name
* @param $value the data to save
* @param null $ttl Time To Live, in seconds (default 60)
* @param boolean $raw Whether to store the raw value.
*
* @return mixed
*/
public function save(string $key, $value, int $ttl = 60, bool $raw = false)
{
$key = $this->prefix . $key;

$this->cache[$key] = $value;

return true;
}

//--------------------------------------------------------------------

/**
* Deletes a specific item from the cache store.
*
* @param string $key Cache item name
*
* @return mixed
*/
public function delete(string $key)
{
unset($this->cache[$key]);
}

//--------------------------------------------------------------------

/**
* Performs atomic incrementation of a raw stored value.
*
* @param string $key Cache ID
* @param integer $offset Step/value to increase by
*
* @return mixed
*/
public function increment(string $key, int $offset = 1)
{
$key = $this->prefix . $key;

$data = $this->cache[$key] ?: null;

if (empty($data))
{
$data = 0;
}
elseif (! is_int($data))
{
return false;
}

return $this->save($key, $data + $offset);
}

//--------------------------------------------------------------------

/**
* Performs atomic decrementation of a raw stored value.
*
* @param string $key Cache ID
* @param integer $offset Step/value to increase by
*
* @return mixed
*/
public function decrement(string $key, int $offset = 1)
{
$key = $this->prefix . $key;

$data = $this->cache[$key] ?: null;

if (empty($data))
{
$data = 0;
}
elseif (! is_int($data))
{
return false;
}

return $this->save($key, $data - $offset);
}

//--------------------------------------------------------------------

/**
* Will delete all items in the entire cache.
*
* @return mixed
*/
public function clean()
{
$this->cache = [];
}

//--------------------------------------------------------------------

/**
* Returns information on the entire cache.
*
* The information returned and the structure of the data
* varies depending on the handler.
*
* @return mixed
*/
public function getCacheInfo()
{
return [];
}

//--------------------------------------------------------------------

/**
* Returns detailed information about the specific item in the cache.
*
* @param string $key Cache item name.
*
* @return mixed
*/
public function getMetaData(string $key)
{
return false;
}

//--------------------------------------------------------------------

/**
* Determines if the driver is supported on this system.
*
* @return boolean
*/
public function isSupported(): bool
{
return true;
}

//--------------------------------------------------------------------

}
13 changes: 13 additions & 0 deletions _support/Commands/AbstractInfo.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?php
namespace Tests\Support\Commands;

use CodeIgniter\CLI\BaseCommand;

abstract class AbstractInfo extends BaseCommand
{

protected $group = 'demo';
protected $name = 'app:pablo';
protected $description = 'Displays basic application information.';

}
36 changes: 36 additions & 0 deletions _support/Commands/AppInfo.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?php
namespace Tests\Support\Commands;

use CodeIgniter\CLI\BaseCommand;
use CodeIgniter\CLI\CLI;
use CodeIgniter\CodeIgniter;

class AppInfo extends BaseCommand
{

protected $group = 'demo';
protected $name = 'app:info';
protected $description = 'Displays basic application information.';

public function run(array $params)
{
CLI::write('CI Version: ' . CLI::color(CodeIgniter::CI_VERSION, 'red'));
}

public function bomb()
{
try
{
CLI::color('test', 'white', 'Background');
}
catch (\RuntimeException $oops)
{
$this->showError($oops);
}
}

public function helpme()
{
$this->call('help');
}
}
18 changes: 18 additions & 0 deletions _support/Commands/CommandsTestStreamFilter.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?php namespace CodeIgniter\Commands;

class CommandsTestStreamFilter extends \php_user_filter
{
public static $buffer = '';

public function filter($in, $out, &$consumed, $closing)
{
while ($bucket = stream_bucket_make_writeable($in))
{
self::$buffer .= $bucket->data;
$consumed += $bucket->datalen;
}
return PSFS_PASS_ON;
}
}

stream_filter_register('CommandsTestStreamFilter', 'CodeIgniter\Commands\CommandsTestStreamFilter');
18 changes: 18 additions & 0 deletions _support/Config/BadRegistrar.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?php namespace Tests\Support\Config;

/**
* Class BadRegistrar
*
* Doesn't provides a basic registrar class for testing BaseConfig registration functions,
* because it doesn't return an associative array
*/

class BadRegistrar
{

public static function RegistrarConfig2()
{
return 'I am not worthy';
}

}
33 changes: 33 additions & 0 deletions _support/Config/MockAppConfig.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?php namespace Tests\Support\Config;

class MockAppConfig
{
public $baseURL = 'http://example.com';

public $uriProtocol = 'REQUEST_URI';

public $cookiePrefix = '';
public $cookieDomain = '';
public $cookiePath = '/';
public $cookieSecure = false;
public $cookieHTTPOnly = false;

public $proxyIPs = '';

public $CSRFProtection = false;
public $CSRFTokenName = 'csrf_test_name';
public $CSRFCookieName = 'csrf_cookie_name';
public $CSRFExpire = 7200;
public $CSRFRegenerate = true;
public $CSRFExcludeURIs = ['http://example.com'];
public $CSRFRedirect = false;

public $CSPEnabled = false;

public $defaultLocale = 'en';
public $negotiateLocale = false;
public $supportedLocales = [
'en',
'es',
];
}
21 changes: 21 additions & 0 deletions _support/Config/MockAutoload.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?php namespace Tests\Support\Config;

use Config\Autoload;

class MockAutoload extends Autoload
{
public $psr4 = [];

public $classmap = [];

//--------------------------------------------------------------------

public function __construct()
{
// Don't call the parent since we don't want the default mappings.
// parent::__construct();
}

//--------------------------------------------------------------------

}
Loading

0 comments on commit f4d0c27

Please sign in to comment.