Merge branch 'develop' of github.com:bcit-ci/CodeIgniter into develop

Conflicts:
	user_guide_src/source/changelog.rst
diff --git a/application/config/autoload.php b/application/config/autoload.php
index 72f855c..3f0bd24 100644
--- a/application/config/autoload.php
+++ b/application/config/autoload.php
@@ -39,10 +39,8 @@
 |  $autoload['packages'] = array(APPPATH.'third_party', '/usr/local/shared');
 |
 */
-
 $autoload['packages'] = array();
 
-
 /*
 | -------------------------------------------------------------------
 |  Auto-load Libraries
@@ -59,10 +57,8 @@
 |
 |	$autoload['libraries'] = array('user_agent' => 'ua');
 */
-
 $autoload['libraries'] = array();
 
-
 /*
 | -------------------------------------------------------------------
 |  Auto-load Drivers
@@ -75,10 +71,8 @@
 |
 |	$autoload['drivers'] = array('cache');
 */
-
 $autoload['drivers'] = array();
 
-
 /*
 | -------------------------------------------------------------------
 |  Auto-load Helper Files
@@ -87,10 +81,8 @@
 |
 |	$autoload['helper'] = array('url', 'file');
 */
-
 $autoload['helper'] = array();
 
-
 /*
 | -------------------------------------------------------------------
 |  Auto-load Config files
@@ -103,10 +95,8 @@
 | config files.  Otherwise, leave it blank.
 |
 */
-
 $autoload['config'] = array();
 
-
 /*
 | -------------------------------------------------------------------
 |  Auto-load Language files
@@ -119,10 +109,8 @@
 | "codeigniter_lang.php" would be referenced as array('codeigniter');
 |
 */
-
 $autoload['language'] = array();
 
-
 /*
 | -------------------------------------------------------------------
 |  Auto-load Models
@@ -136,5 +124,4 @@
 |
 |	$autoload['model'] = array('first_model' => 'first');
 */
-
 $autoload['model'] = array();
diff --git a/application/config/config.php b/application/config/config.php
index 94e5d28..86ca312 100644
--- a/application/config/config.php
+++ b/application/config/config.php
@@ -58,7 +58,6 @@
 |
 | http://codeigniter.com/user_guide/general/urls.html
 */
-
 $config['url_suffix'] = '';
 
 /*
@@ -155,7 +154,6 @@
 */
 $config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
 
-
 /*
 |--------------------------------------------------------------------------
 | Enable Query Strings
@@ -325,7 +323,7 @@
 |
 | 'sess_save_path'
 |
-|	The location to save sessions to, driver dependant.
+|	The location to save sessions to, driver dependent.
 |
 |	For the 'files' driver, it's a path to a writable directory.
 |	WARNING: Only absolute paths are supported!
@@ -388,7 +386,7 @@
 |--------------------------------------------------------------------------
 |
 | Determines whether to standardize newline characters in input data,
-| meaning to replace \r\n, \r, \n occurences with the PHP_EOL value.
+| meaning to replace \r\n, \r, \n occurrences with the PHP_EOL value.
 |
 | This is particularly useful for portability between UNIX-based OSes,
 | (usually \n) and Windows (\r\n).
@@ -478,7 +476,6 @@
 */
 $config['rewrite_short_tags'] = FALSE;
 
-
 /*
 |--------------------------------------------------------------------------
 | Reverse Proxy IPs
diff --git a/application/config/constants.php b/application/config/constants.php
index 01096c7..48283e2 100644
--- a/application/config/constants.php
+++ b/application/config/constants.php
@@ -27,7 +27,6 @@
 | These modes are used when working with fopen()/popen()
 |
 */
-
 define('FOPEN_READ', 'rb');
 define('FOPEN_READ_WRITE', 'r+b');
 define('FOPEN_WRITE_CREATE_DESTRUCTIVE', 'wb'); // truncates existing file data, use with care
diff --git a/application/config/database.php b/application/config/database.php
index fc3a5e5..84aab91 100644
--- a/application/config/database.php
+++ b/application/config/database.php
@@ -58,7 +58,6 @@
 | The $query_builder variables lets you determine whether or not to load
 | the query builder class.
 */
-
 $active_group = 'default';
 $query_builder = TRUE;
 
diff --git a/application/config/migration.php b/application/config/migration.php
index 083bf28..4b585a6 100644
--- a/application/config/migration.php
+++ b/application/config/migration.php
@@ -21,12 +21,12 @@
 | Migration file names may be based on a sequential identifier or on
 | a timestamp. Options are:
 |
-|   'sequential' = Default migration naming (001_add_blog.php)
+|   'sequential' = Sequential migration naming (001_add_blog.php)
 |   'timestamp'  = Timestamp migration naming (20121031104401_add_blog.php)
 |                  Use timestamp format YYYYMMDDHHIISS.
 |
-| If this configuration value is missing the Migration library defaults
-| to 'sequential' for backward compatibility.
+| Note: If this configuration value is missing the Migration library
+|       defaults to 'sequential' for backward compatibility with CI2.
 |
 */
 $config['migration_type'] = 'timestamp';
diff --git a/application/config/mimes.php b/application/config/mimes.php
index f9b74bf..d0e1516 100644
--- a/application/config/mimes.php
+++ b/application/config/mimes.php
@@ -9,7 +9,6 @@
 | Upload class to help identify allowed file types.
 |
 */
-
 return array(
 	'hqx'	=>	array('application/mac-binhex40', 'application/mac-binhex', 'application/x-binhex40', 'application/x-mac-binhex40'),
 	'cpt'	=>	'application/mac-compactpro',
diff --git a/application/config/smileys.php b/application/config/smileys.php
index 1428d68..1eeba47 100644
--- a/application/config/smileys.php
+++ b/application/config/smileys.php
@@ -13,7 +13,6 @@
 | http://codeigniter.com/user_guide/helpers/smiley_helper.html
 |
 */
-
 $smileys = array(
 
 //	smiley			image name						width	height	alt
diff --git a/application/config/user_agents.php b/application/config/user_agents.php
index fd8ed48..1129dba 100644
--- a/application/config/user_agents.php
+++ b/application/config/user_agents.php
@@ -10,7 +10,6 @@
 | mobile device data. The array keys are used to identify the device
 | and the array values are used to set the actual name of the item.
 */
-
 $platforms = array(
 	'windows nt 10.0'	=> 'Windows 10',
 	'windows nt 6.3'	=> 'Windows 8.1',
diff --git a/system/libraries/Cache/Cache.php b/system/libraries/Cache/Cache.php
index 06403b6..0c87a56 100644
--- a/system/libraries/Cache/Cache.php
+++ b/system/libraries/Cache/Cache.php
@@ -178,7 +178,7 @@
 	 */
 	public function increment($id, $offset = 1)
 	{
-		return $this->{$this->_adapter}->increment($id, $offset);
+		return $this->{$this->_adapter}->increment($this->key_prefix.$id, $offset);
 	}
 
 	// ------------------------------------------------------------------------
@@ -192,7 +192,7 @@
 	 */
 	public function decrement($id, $offset = 1)
 	{
-		return $this->{$this->_adapter}->decrement($id, $offset);
+		return $this->{$this->_adapter}->decrement($this->key_prefix.$id, $offset);
 	}
 
 	// ------------------------------------------------------------------------
diff --git a/system/libraries/Unit_test.php b/system/libraries/Unit_test.php
index 7b744ad..60b046b 100644
--- a/system/libraries/Unit_test.php
+++ b/system/libraries/Unit_test.php
@@ -152,7 +152,7 @@
 			return FALSE;
 		}
 
-		if (in_array($expected, array('is_object', 'is_string', 'is_bool', 'is_true', 'is_false', 'is_int', 'is_numeric', 'is_float', 'is_double', 'is_array', 'is_null'), TRUE))
+		if (in_array($expected, array('is_object', 'is_string', 'is_bool', 'is_true', 'is_false', 'is_int', 'is_numeric', 'is_float', 'is_double', 'is_array', 'is_null', 'is_resource'), TRUE))
 		{
 			$expected = str_replace('is_double', 'is_float', $expected);
 			$result = $expected($test);
diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst
index 3cd24c4..92d8bb1 100644
--- a/user_guide_src/source/changelog.rst
+++ b/user_guide_src/source/changelog.rst
@@ -23,6 +23,8 @@
       - Errors "no_file_selected", "file_partial", "stopped_by_extension", "no_file_types", "invalid_filetype", "bad_filename" are now logged at the 'debug' level.
       - Errors "file_exceeds_limit", "file_exceeds_form_limit", "invalid_filesize", "invalid_dimensions" are now logged at the 'info' level.
 
+   -  Added 'is_resource' to the available expectations in :doc:`Unit Testing Library <libraries/unit_testing>`.
+
 
 Bug fixes for 3.0.1
 -------------------
@@ -47,6 +49,7 @@
 -  Fixed a bug (#3932) - :doc:`Query Builder <database/query_builder>` didn't properly compile WHERE and HAVING conditions for field names that end with "and", "or".
 -  Fixed a bug in :doc:`Query Builder <database/query_builder>` where ``delete()`` didn't properly work on multiple tables with a WHERE condition previously set via ``where()``.
 -  Fixed a bug (#3952) - :doc:`Database <database/index>` method ``list_fields()`` didn't work with SQLite3.
+-  Fixed a bug (#3955) - :doc:`Cache Library <libraries/caching>` methods ``increment()`` and ``decrement()`` ignored the 'key_prefix' setting.
 
 Version 3.0.0
 =============
diff --git a/user_guide_src/source/libraries/unit_testing.rst b/user_guide_src/source/libraries/unit_testing.rst
index 026781c..57934cb 100644
--- a/user_guide_src/source/libraries/unit_testing.rst
+++ b/user_guide_src/source/libraries/unit_testing.rst
@@ -76,6 +76,7 @@
 -  is_double
 -  is_array
 -  is_null
+-  is_resource
 
 Generating Reports
 ==================