summaryrefslogtreecommitdiffstats
path: root/tests/codeigniter
diff options
context:
space:
mode:
Diffstat (limited to 'tests/codeigniter')
-rw-r--r--tests/codeigniter/core/Benchmark_test.php4
-rw-r--r--tests/codeigniter/core/Common_test.php6
-rw-r--r--tests/codeigniter/core/Input_test.php8
-rw-r--r--tests/codeigniter/core/Loader_test.php23
-rw-r--r--tests/codeigniter/core/Log_test.php4
-rw-r--r--tests/codeigniter/core/Security_test.php6
-rw-r--r--tests/codeigniter/core/Utf8_test.php2
-rw-r--r--tests/codeigniter/core/compat/password_test.php2
-rw-r--r--tests/codeigniter/database/DB_test.php10
-rw-r--r--tests/codeigniter/database/query_builder/count_test.php10
-rw-r--r--tests/codeigniter/database/query_builder/distinct_test.php4
-rw-r--r--tests/codeigniter/database/query_builder/empty_test.php4
-rw-r--r--tests/codeigniter/database/query_builder/escape_test.php6
-rw-r--r--tests/codeigniter/database/query_builder/from_test.php4
-rw-r--r--tests/codeigniter/database/query_builder/group_test.php12
-rw-r--r--tests/codeigniter/database/query_builder/like_test.php35
-rw-r--r--tests/codeigniter/database/query_builder/limit_test.php6
-rw-r--r--tests/codeigniter/database/query_builder/order_test.php6
-rw-r--r--tests/codeigniter/database/query_builder/select_test.php6
-rw-r--r--tests/codeigniter/database/query_builder/truncate_test.php6
-rw-r--r--tests/codeigniter/database/query_builder/where_test.php14
-rw-r--r--tests/codeigniter/helpers/array_helper_test.php8
-rw-r--r--tests/codeigniter/helpers/inflector_helper_test.php2
-rw-r--r--tests/codeigniter/helpers/url_helper_test.php12
-rw-r--r--tests/codeigniter/libraries/Encryption_test.php4
-rw-r--r--tests/codeigniter/libraries/Form_validation_test.php81
-rw-r--r--tests/codeigniter/libraries/Table_test.php22
27 files changed, 204 insertions, 103 deletions
diff --git a/tests/codeigniter/core/Benchmark_test.php b/tests/codeigniter/core/Benchmark_test.php
index 63b0e3d5a..33bd742b2 100644
--- a/tests/codeigniter/core/Benchmark_test.php
+++ b/tests/codeigniter/core/Benchmark_test.php
@@ -15,7 +15,7 @@ class Benchmark_test extends CI_TestCase {
$this->benchmark->mark('code_start');
- $this->assertEquals(1, count($this->benchmark->marker));
+ $this->assertCount(1, $this->benchmark->marker);
$this->assertArrayHasKey('code_start', $this->benchmark->marker);
}
@@ -64,4 +64,4 @@ class Benchmark_test extends CI_TestCase {
$this->assertEquals('{memory_usage}', $this->benchmark->memory_usage());
}
-} \ No newline at end of file
+}
diff --git a/tests/codeigniter/core/Common_test.php b/tests/codeigniter/core/Common_test.php
index ca19e5de0..effae50c5 100644
--- a/tests/codeigniter/core/Common_test.php
+++ b/tests/codeigniter/core/Common_test.php
@@ -4,8 +4,8 @@ class Common_test extends CI_TestCase {
public function test_is_php()
{
- $this->assertEquals(TRUE, is_php('1.2.0'));
- $this->assertEquals(FALSE, is_php('9999.9.9'));
+ $this->assertTrue(is_php('1.2.0'));
+ $this->assertFalse(is_php('9999.9.9'));
}
// ------------------------------------------------------------------------
@@ -66,4 +66,4 @@ class Common_test extends CI_TestCase {
$removed_string = 'Here is a string containing url_encoded invisible text.';
$this->assertEquals($removed_string, remove_invisible_characters($raw_string));
}
-} \ No newline at end of file
+}
diff --git a/tests/codeigniter/core/Input_test.php b/tests/codeigniter/core/Input_test.php
index e068a84be..80cb9a740 100644
--- a/tests/codeigniter/core/Input_test.php
+++ b/tests/codeigniter/core/Input_test.php
@@ -20,8 +20,8 @@ class Input_test extends CI_TestCase {
public function test_get_not_exists()
{
- $this->assertTrue($this->input->get() === array());
- $this->assertTrue($this->input->get('foo') === NULL);
+ $this->assertSame(array(), $this->input->get());
+ $this->assertNull($this->input->get('foo'));
}
// --------------------------------------------------------------------
@@ -51,8 +51,8 @@ class Input_test extends CI_TestCase {
public function test_post_not_exists()
{
- $this->assertTrue($this->input->post() === array());
- $this->assertTrue($this->input->post('foo') === NULL);
+ $this->assertSame(array(), $this->input->post());
+ $this->assertNull($this->input->post('foo'));
}
// --------------------------------------------------------------------
diff --git a/tests/codeigniter/core/Loader_test.php b/tests/codeigniter/core/Loader_test.php
index 241c415b3..df698f30c 100644
--- a/tests/codeigniter/core/Loader_test.php
+++ b/tests/codeigniter/core/Loader_test.php
@@ -99,7 +99,7 @@ class Loader_test extends CI_TestCase {
// Test reloading
unset($this->ci_obj->$name);
$this->assertInstanceOf('CI_Loader', $this->load->library($lib));
- $this->assertObjectNotHasAttribute($name, $this->ci_obj);
+ $this->assertObjectHasAttribute($name, $this->ci_obj);
// Create baseless library
$name = 'ext_baseless_lib';
@@ -269,6 +269,25 @@ class Loader_test extends CI_TestCase {
// --------------------------------------------------------------------
+ public function test_invalid_model()
+ {
+ $this->ci_set_core_class('model', 'CI_Model');
+
+ // Create model in VFS
+ $model = 'Unit_test_invalid_model';
+ $content = '<?php class '.$model.' {} ';
+ $this->ci_vfs_create($model, $content, $this->ci_app_root, 'models');
+
+ // Test no extending
+ $this->setExpectedException(
+ 'RuntimeException',
+ 'Class '.$model.' doesn\'t extend CI_Model'
+ );
+ $this->load->model($model);
+ }
+
+ // --------------------------------------------------------------------
+
// public function testDatabase()
// {
// $this->assertInstanceOf('CI_Loader', $this->load->database());
@@ -544,7 +563,7 @@ class Loader_test extends CI_TestCase {
$dir = 'testdir';
$path = APPPATH.$dir.'/';
$model = 'Automod';
- $this->ci_vfs_create($model, '<?php class '.$model.' { }', $this->ci_app_root, array($dir, 'models'));
+ $this->ci_vfs_create($model, '<?php class '.$model.' extends CI_Model { }', $this->ci_app_root, array($dir, 'models'));
// Create autoloader config
$cfg = array(
diff --git a/tests/codeigniter/core/Log_test.php b/tests/codeigniter/core/Log_test.php
index d5a6fcb6b..103af342b 100644
--- a/tests/codeigniter/core/Log_test.php
+++ b/tests/codeigniter/core/Log_test.php
@@ -28,7 +28,7 @@ class Log_test extends CI_TestCase {
$this->assertEquals($date_fmt->getValue($instance), 'd.m.Y');
$this->assertEquals($file_ext->getValue($instance), 'php');
$this->assertEquals($file_perms->getValue($instance), 0644);
- $this->assertEquals($enabled->getValue($instance), FALSE);
+ $this->assertFalse($enabled->getValue($instance));
$this->ci_set_config('log_path', '');
$this->ci_set_config('log_threshold', '0');
@@ -60,4 +60,4 @@ class Log_test extends CI_TestCase {
"LEVEL - Timestamp --> Message\n"
);
}
-} \ No newline at end of file
+}
diff --git a/tests/codeigniter/core/Security_test.php b/tests/codeigniter/core/Security_test.php
index 4dd31f4b1..64efdf9c8 100644
--- a/tests/codeigniter/core/Security_test.php
+++ b/tests/codeigniter/core/Security_test.php
@@ -253,7 +253,7 @@ class Security_test extends CI_TestCase {
// Perform hash
$this->security->xss_hash();
- $this->assertTrue(preg_match('#^[0-9a-f]{32}$#iS', $this->security->xss_hash) === 1);
+ $this->assertRegExp('#^[0-9a-f]{32}$#iS', $this->security->xss_hash);
}
// --------------------------------------------------------------------
@@ -306,7 +306,7 @@ class Security_test extends CI_TestCase {
$imgtags = array(
'<img src="smiley.gif" alt="Smiley face" height="42" width="42">',
'<img alt="Smiley face" height="42" width="42" src="smiley.gif">',
- '<img src="http://www.w3schools.com/images/w3schools_green.jpg">',
+ '<img src="https://www.w3schools.com/images/w3schools_green.jpg">',
'<img src="/img/sunset.gif" height="100%" width="100%">',
'<img src="mdn-logo-sm.png" alt="MD Logo" srcset="mdn-logo-HD.png 2x, mdn-logo-small.png 15w, mdn-banner-HD.png 100w 2x" />',
'<img sqrc="/img/sunset.gif" height="100%" width="100%">',
@@ -318,7 +318,7 @@ class Security_test extends CI_TestCase {
$urls = array(
'smiley.gif',
'smiley.gif',
- 'http://www.w3schools.com/images/w3schools_green.jpg',
+ 'https://www.w3schools.com/images/w3schools_green.jpg',
'/img/sunset.gif',
'mdn-logo-sm.png',
'<img sqrc="/img/sunset.gif" height="100%" width="100%">',
diff --git a/tests/codeigniter/core/Utf8_test.php b/tests/codeigniter/core/Utf8_test.php
index f40bb9848..8ae51b8af 100644
--- a/tests/codeigniter/core/Utf8_test.php
+++ b/tests/codeigniter/core/Utf8_test.php
@@ -59,7 +59,7 @@ class Utf8_test extends CI_TestCase {
elseif (ICONV_ENABLED)
{
// This is a known issue, iconv doesn't always work with //IGNORE
- $this->assertTrue(in_array($utf8->clean_string($illegal_utf8), array('тест', ''), TRUE));
+ $this->assertContains($utf8->clean_string($illegal_utf8), array('тест', ''));
}
else
{
diff --git a/tests/codeigniter/core/compat/password_test.php b/tests/codeigniter/core/compat/password_test.php
index 77f5eba4e..b6dbcfab1 100644
--- a/tests/codeigniter/core/compat/password_test.php
+++ b/tests/codeigniter/core/compat/password_test.php
@@ -156,4 +156,4 @@ class password_test extends CI_TestCase {
$this->assertTrue(password_verify('rasmuslerdorf', '$2a$07$usesomesillystringfore2uDLvp1Ii2e./U9C8sBjqp8I90dH6hi'));
}
-} \ No newline at end of file
+}
diff --git a/tests/codeigniter/database/DB_test.php b/tests/codeigniter/database/DB_test.php
index dc4fae986..9d53fd6f2 100644
--- a/tests/codeigniter/database/DB_test.php
+++ b/tests/codeigniter/database/DB_test.php
@@ -36,8 +36,8 @@ class DB_test extends CI_TestCase {
$db = Mock_Database_DB::DB($connection->set_dsn(DB_DRIVER), TRUE);
- $this->assertTrue($db instanceof CI_DB);
- $this->assertTrue($db instanceof CI_DB_Driver);
+ $this->assertInstanceOf('CI_DB', $db);
+ $this->assertInstanceOf('CI_DB_Driver', $db);
}
// ------------------------------------------------------------------------
@@ -53,9 +53,9 @@ class DB_test extends CI_TestCase {
$connection = new Mock_Database_DB($config);
$db = Mock_Database_DB::DB($connection->set_dsn(DB_DRIVER.'_failover'), TRUE);
- $this->assertTrue($db instanceof CI_DB);
- $this->assertTrue($db instanceof CI_DB_Driver);
+ $this->assertInstanceOf('CI_DB', $db);
+ $this->assertInstanceOf('CI_DB_Driver', $db);
}
*/
-} \ No newline at end of file
+}
diff --git a/tests/codeigniter/database/query_builder/count_test.php b/tests/codeigniter/database/query_builder/count_test.php
index 90ac5283e..da312d866 100644
--- a/tests/codeigniter/database/query_builder/count_test.php
+++ b/tests/codeigniter/database/query_builder/count_test.php
@@ -35,4 +35,14 @@ class Count_test extends CI_TestCase {
$this->assertEquals(2, $this->db->like('name', 'ian')->count_all_results('job'));
}
+ // ------------------------------------------------------------------------
+
+ /**
+ * @see ./mocks/schema/skeleton.php
+ */
+ public function test_count_all_results_limit()
+ {
+ $this->assertEquals(1, $this->db->like('name', 'ian')->limit(1)->count_all_results('job'));
+ }
+
} \ No newline at end of file
diff --git a/tests/codeigniter/database/query_builder/distinct_test.php b/tests/codeigniter/database/query_builder/distinct_test.php
index cc98009ce..81fabe448 100644
--- a/tests/codeigniter/database/query_builder/distinct_test.php
+++ b/tests/codeigniter/database/query_builder/distinct_test.php
@@ -27,7 +27,7 @@ class Distinct_test extends CI_TestCase {
->get('user')
->result_array();
- $this->assertEquals(3, count($users));
+ $this->assertCount(3, $users);
}
-} \ No newline at end of file
+}
diff --git a/tests/codeigniter/database/query_builder/empty_test.php b/tests/codeigniter/database/query_builder/empty_test.php
index d1f56285f..3f63a60f5 100644
--- a/tests/codeigniter/database/query_builder/empty_test.php
+++ b/tests/codeigniter/database/query_builder/empty_test.php
@@ -25,7 +25,7 @@ class Empty_test extends CI_TestCase {
// Check initial record
$jobs = $this->db->get('job')->result_array();
- $this->assertEquals(4, count($jobs));
+ $this->assertCount(4, $jobs);
// Do the empty
$this->db->empty_table('job');
@@ -36,4 +36,4 @@ class Empty_test extends CI_TestCase {
$this->assertEmpty($jobs->result_array());
}
-} \ No newline at end of file
+}
diff --git a/tests/codeigniter/database/query_builder/escape_test.php b/tests/codeigniter/database/query_builder/escape_test.php
index 27e678f22..de6cd0a9d 100644
--- a/tests/codeigniter/database/query_builder/escape_test.php
+++ b/tests/codeigniter/database/query_builder/escape_test.php
@@ -37,7 +37,7 @@ class Escape_test extends CI_TestCase {
$res = $this->db->query($sql)->result_array();
// Check the result
- $this->assertEquals(1, count($res));
+ $this->assertCount(1, $res);
}
// ------------------------------------------------------------------------
@@ -62,7 +62,7 @@ class Escape_test extends CI_TestCase {
$res = $this->db->query($sql)->result_array();
// Check the result
- $this->assertEquals(2, count($res));
+ $this->assertCount(2, $res);
}
-} \ No newline at end of file
+}
diff --git a/tests/codeigniter/database/query_builder/from_test.php b/tests/codeigniter/database/query_builder/from_test.php
index 7aaae348d..5a4ac690d 100644
--- a/tests/codeigniter/database/query_builder/from_test.php
+++ b/tests/codeigniter/database/query_builder/from_test.php
@@ -26,7 +26,7 @@ class From_test extends CI_TestCase {
->get()
->result_array();
- $this->assertEquals(4, count($jobs));
+ $this->assertCount(4, $jobs);
}
// ------------------------------------------------------------------------
@@ -46,4 +46,4 @@ class From_test extends CI_TestCase {
$this->assertEquals('Awesome job, but sometimes makes you bored', $job1->description);
}
-} \ No newline at end of file
+}
diff --git a/tests/codeigniter/database/query_builder/group_test.php b/tests/codeigniter/database/query_builder/group_test.php
index cf91c0965..df3f168c6 100644
--- a/tests/codeigniter/database/query_builder/group_test.php
+++ b/tests/codeigniter/database/query_builder/group_test.php
@@ -28,7 +28,7 @@ class Group_test extends CI_TestCase {
->get()
->result_array();
- $this->assertEquals(4, count($jobs));
+ $this->assertCount(4, $jobs);
}
// ------------------------------------------------------------------------
@@ -45,7 +45,7 @@ class Group_test extends CI_TestCase {
->get()
->result_array();
- $this->assertEquals(2, count($jobs));
+ $this->assertCount(2, $jobs);
}
// ------------------------------------------------------------------------
@@ -62,7 +62,7 @@ class Group_test extends CI_TestCase {
->get()
->result_array();
- $this->assertEquals(2, count($jobs));
+ $this->assertCount(2, $jobs);
}
// ------------------------------------------------------------------------
@@ -80,7 +80,7 @@ class Group_test extends CI_TestCase {
->get()
->result_array();
- $this->assertEquals(2, count($jobs));
+ $this->assertCount(2, $jobs);
}
// ------------------------------------------------------------------------
@@ -97,7 +97,7 @@ class Group_test extends CI_TestCase {
->get()
->result_array();
- $this->assertEquals(3, count($jobs));
+ $this->assertCount(3, $jobs);
}
// ------------------------------------------------------------------------
@@ -115,6 +115,6 @@ class Group_test extends CI_TestCase {
->get()
->result_array();
- $this->assertEquals(2, count($jobs));
+ $this->assertCount(2, $jobs);
}
}
diff --git a/tests/codeigniter/database/query_builder/like_test.php b/tests/codeigniter/database/query_builder/like_test.php
index 2736fbe0b..4d8673d99 100644
--- a/tests/codeigniter/database/query_builder/like_test.php
+++ b/tests/codeigniter/database/query_builder/like_test.php
@@ -44,7 +44,7 @@ class Like_test extends CI_TestCase {
->result_array();
// Check the result
- $this->assertEquals(3, count($jobs));
+ $this->assertCount(3, $jobs);
$this->assertEquals('Developer', $jobs[0]['name']);
$this->assertEquals('Politician', $jobs[1]['name']);
$this->assertEquals('Musician', $jobs[2]['name']);
@@ -62,7 +62,7 @@ class Like_test extends CI_TestCase {
->result_array();
// Check the result
- $this->assertEquals(3, count($jobs));
+ $this->assertCount(3, $jobs);
$this->assertEquals('Politician', $jobs[0]['name']);
$this->assertEquals('Accountant', $jobs[1]['name']);
$this->assertEquals('Musician', $jobs[2]['name']);
@@ -81,7 +81,7 @@ class Like_test extends CI_TestCase {
->result_array();
// Check the result
- $this->assertEquals(3, count($jobs));
+ $this->assertCount(3, $jobs);
$this->assertEquals('Politician', $jobs[0]['name']);
$this->assertEquals('Accountant', $jobs[1]['name']);
$this->assertEquals('Musician', $jobs[2]['name']);
@@ -99,8 +99,31 @@ class Like_test extends CI_TestCase {
$spaces = $this->db->like('value', ' ')->get('misc')->result_array();
$tabs = $this->db->like('value', "\t")->get('misc')->result_array();
- $this->assertEquals(1, count($spaces));
- $this->assertEquals(1, count($tabs));
+ $this->assertCount(1, $spaces);
+ $this->assertCount(1, $tabs);
}
-} \ No newline at end of file
+ /**
+ * GitHub issue #5462
+ *
+ * @see ./mocks/schema/skeleton.php
+ *
+ * @dataProvider like_set_side_provider
+ */
+ public function test_like_set_side($str, $side, $expected_name)
+ {
+ $actual = $this->db->like('name', $str, $side)->get('job')->result_array();
+ $this->assertCount(1, $actual);
+ $this->assertEquals($expected_name, $actual[0]['name']);
+ }
+
+ public function like_set_side_provider()
+ {
+ return array(
+ array('Developer', 'none', 'Developer'),
+ array('tician', 'before', 'Politician'),
+ array('Accou', 'after', 'Accountant'),
+ array('usicia', 'both', 'Musician'),
+ );
+ }
+}
diff --git a/tests/codeigniter/database/query_builder/limit_test.php b/tests/codeigniter/database/query_builder/limit_test.php
index a0954c7ab..a1976d457 100644
--- a/tests/codeigniter/database/query_builder/limit_test.php
+++ b/tests/codeigniter/database/query_builder/limit_test.php
@@ -26,7 +26,7 @@ class Limit_test extends CI_TestCase {
->get('job')
->result_array();
- $this->assertEquals(2, count($jobs));
+ $this->assertCount(2, $jobs);
}
// ------------------------------------------------------------------------
@@ -40,9 +40,9 @@ class Limit_test extends CI_TestCase {
->get('job')
->result_array();
- $this->assertEquals(2, count($jobs));
+ $this->assertCount(2, $jobs);
$this->assertEquals('Accountant', $jobs[0]['name']);
$this->assertEquals('Musician', $jobs[1]['name']);
}
-} \ No newline at end of file
+}
diff --git a/tests/codeigniter/database/query_builder/order_test.php b/tests/codeigniter/database/query_builder/order_test.php
index 46f452bae..ff5bc543d 100644
--- a/tests/codeigniter/database/query_builder/order_test.php
+++ b/tests/codeigniter/database/query_builder/order_test.php
@@ -27,7 +27,7 @@ class Order_test extends CI_TestCase {
->result_array();
// Check the result
- $this->assertEquals(4, count($jobs));
+ $this->assertCount(4, $jobs);
$this->assertEquals('Accountant', $jobs[0]['name']);
$this->assertEquals('Developer', $jobs[1]['name']);
$this->assertEquals('Musician', $jobs[2]['name']);
@@ -45,11 +45,11 @@ class Order_test extends CI_TestCase {
->get('job')
->result_array();
- $this->assertEquals(4, count($jobs));
+ $this->assertCount(4, $jobs);
$this->assertEquals('Politician', $jobs[0]['name']);
$this->assertEquals('Musician', $jobs[1]['name']);
$this->assertEquals('Developer', $jobs[2]['name']);
$this->assertEquals('Accountant', $jobs[3]['name']);
}
-} \ No newline at end of file
+}
diff --git a/tests/codeigniter/database/query_builder/select_test.php b/tests/codeigniter/database/query_builder/select_test.php
index 877b5d8c0..93b5c3d46 100644
--- a/tests/codeigniter/database/query_builder/select_test.php
+++ b/tests/codeigniter/database/query_builder/select_test.php
@@ -28,8 +28,8 @@ class Select_test extends CI_TestCase {
// Check rows item
$this->assertArrayHasKey('name',$jobs_name[0]);
- $this->assertFalse(array_key_exists('id', $jobs_name[0]));
- $this->assertFalse(array_key_exists('description', $jobs_name[0]));
+ $this->assertArrayNotHasKey('id', $jobs_name[0]);
+ $this->assertArrayNotHasKey('description', $jobs_name[0]);
}
// ------------------------------------------------------------------------
@@ -92,4 +92,4 @@ class Select_test extends CI_TestCase {
$this->assertEquals('10', $job_sum->id);
}
-} \ No newline at end of file
+}
diff --git a/tests/codeigniter/database/query_builder/truncate_test.php b/tests/codeigniter/database/query_builder/truncate_test.php
index 09923c7f1..64abe2872 100644
--- a/tests/codeigniter/database/query_builder/truncate_test.php
+++ b/tests/codeigniter/database/query_builder/truncate_test.php
@@ -24,7 +24,7 @@ class Truncate_test extends CI_TestCase {
{
// Check initial record
$jobs = $this->db->get('job')->result_array();
- $this->assertEquals(4, count($jobs));
+ $this->assertCount(4, $jobs);
// Do the empty
$this->db->truncate('job');
@@ -43,7 +43,7 @@ class Truncate_test extends CI_TestCase {
{
// Check initial record
$users = $this->db->get('user')->result_array();
- $this->assertEquals(4, count($users));
+ $this->assertCount(4, $users);
// Do the empty
$this->db->from('user')->truncate();
@@ -53,4 +53,4 @@ class Truncate_test extends CI_TestCase {
$this->assertEmpty($users->result_array());
}
-} \ No newline at end of file
+}
diff --git a/tests/codeigniter/database/query_builder/where_test.php b/tests/codeigniter/database/query_builder/where_test.php
index 46a7fa2eb..8a7a09ddb 100644
--- a/tests/codeigniter/database/query_builder/where_test.php
+++ b/tests/codeigniter/database/query_builder/where_test.php
@@ -36,7 +36,7 @@ class Where_test extends CI_TestCase {
public function test_where_custom_key_value()
{
$jobs = $this->db->where('id !=', 1)->get('job')->result_array();
- $this->assertEquals(3, count($jobs));
+ $this->assertCount(3, $jobs);
}
// ------------------------------------------------------------------------
@@ -49,7 +49,7 @@ class Where_test extends CI_TestCase {
$where = array('id >' => 2, 'name !=' => 'Accountant');
$jobs = $this->db->where($where)->get('job')->result_array();
- $this->assertEquals(1, count($jobs));
+ $this->assertCount(1, $jobs);
// Should be Musician
$job = current($jobs);
@@ -66,7 +66,7 @@ class Where_test extends CI_TestCase {
$where = "id > 2 AND name != 'Accountant'";
$jobs = $this->db->where($where)->get('job')->result_array();
- $this->assertEquals(1, count($jobs));
+ $this->assertCount(1, $jobs);
// Should be Musician
$job = current($jobs);
@@ -85,7 +85,7 @@ class Where_test extends CI_TestCase {
->get('job')
->result_array();
- $this->assertEquals(3, count($jobs));
+ $this->assertCount(3, $jobs);
$this->assertEquals('Developer', $jobs[0]['name']);
$this->assertEquals('Politician', $jobs[1]['name']);
$this->assertEquals('Musician', $jobs[2]['name']);
@@ -102,7 +102,7 @@ class Where_test extends CI_TestCase {
->get('job')
->result_array();
- $this->assertEquals(2, count($jobs));
+ $this->assertCount(2, $jobs);
$this->assertEquals('Politician', $jobs[0]['name']);
$this->assertEquals('Accountant', $jobs[1]['name']);
}
@@ -118,7 +118,7 @@ class Where_test extends CI_TestCase {
->get('job')
->result_array();
- $this->assertEquals(2, count($jobs));
+ $this->assertCount(2, $jobs);
$this->assertEquals('Developer', $jobs[0]['name']);
$this->assertEquals('Musician', $jobs[1]['name']);
}
@@ -131,4 +131,4 @@ class Where_test extends CI_TestCase {
$sql = $this->db->where('foo', $input)->get_compiled_select('dummy');
$this->assertEquals("'".$input."'", substr($sql, -20));
}
-} \ No newline at end of file
+}
diff --git a/tests/codeigniter/helpers/array_helper_test.php b/tests/codeigniter/helpers/array_helper_test.php
index 5a9958971..b2409c330 100644
--- a/tests/codeigniter/helpers/array_helper_test.php
+++ b/tests/codeigniter/helpers/array_helper_test.php
@@ -31,15 +31,15 @@ class Array_helper_test extends CI_TestCase {
$this->assertEquals('my string', random_element('my string'));
// Test sending an array
- $this->assertEquals(TRUE, in_array(random_element($this->my_array), $this->my_array));
+ $this->assertContains(random_element($this->my_array), $this->my_array);
}
// ------------------------------------------------------------------------
public function test_elements()
{
- $this->assertEquals(TRUE, is_array(elements('test', $this->my_array)));
- $this->assertEquals(TRUE, is_array(elements('foo', $this->my_array)));
+ $this->assertInternalType('array', elements('test', $this->my_array));
+ $this->assertInternalType('array', elements('foo', $this->my_array));
}
-} \ No newline at end of file
+}
diff --git a/tests/codeigniter/helpers/inflector_helper_test.php b/tests/codeigniter/helpers/inflector_helper_test.php
index 4a1e64fae..8c4f9e51f 100644
--- a/tests/codeigniter/helpers/inflector_helper_test.php
+++ b/tests/codeigniter/helpers/inflector_helper_test.php
@@ -30,7 +30,7 @@ class Inflector_helper_test extends CI_TestCase {
$strs = array(
'telly' => 'tellies',
'smelly' => 'smellies',
- 'abjectness' => 'abjectnesses', // ref : http://en.wiktionary.org/wiki/abjectnesses
+ 'abjectness' => 'abjectnesses', // ref : https://en.wiktionary.org/wiki/abjectnesses
'smell' => 'smells',
'witch' => 'witches',
'equipment' => 'equipment'
diff --git a/tests/codeigniter/helpers/url_helper_test.php b/tests/codeigniter/helpers/url_helper_test.php
index c5b0f80b7..5f936568b 100644
--- a/tests/codeigniter/helpers/url_helper_test.php
+++ b/tests/codeigniter/helpers/url_helper_test.php
@@ -63,7 +63,8 @@ class Url_helper_test extends CI_TestCase {
'<br />www.google.com' => '<br /><a href="http://www.google.com">www.google.com</a>',
'Download CodeIgniter at www.codeigniter.com. Period test.' => 'Download CodeIgniter at <a href="http://www.codeigniter.com">www.codeigniter.com</a>. Period test.',
'Download CodeIgniter at www.codeigniter.com, comma test' => 'Download CodeIgniter at <a href="http://www.codeigniter.com">www.codeigniter.com</a>, comma test',
- 'This one: ://codeigniter.com must not break this one: http://codeigniter.com' => 'This one: <a href="://codeigniter.com">://codeigniter.com</a> must not break this one: <a href="http://codeigniter.com">http://codeigniter.com</a>'
+ 'This one: ://codeigniter.com must not break this one: http://codeigniter.com' => 'This one: <a href="://codeigniter.com">://codeigniter.com</a> must not break this one: <a href="http://codeigniter.com">http://codeigniter.com</a>',
+ 'Trailing slash: https://codeigniter.com/ fubar' => 'Trailing slash: <a href="https://codeigniter.com/">https://codeigniter.com/</a> fubar'
);
foreach ($strings as $in => $out)
@@ -86,4 +87,13 @@ class Url_helper_test extends CI_TestCase {
}
}
+ // --------------------------------------------------------------------
+
+ public function test_issue_5331()
+ {
+ $this->assertEquals(
+ 'this is some text that includes '.safe_mailto('www.email@domain.com').' which is causing an issue',
+ auto_link('this is some text that includes www.email@domain.com which is causing an issue')
+ );
+ }
}
diff --git a/tests/codeigniter/libraries/Encryption_test.php b/tests/codeigniter/libraries/Encryption_test.php
index 99c5d4b9d..8e411d9fa 100644
--- a/tests/codeigniter/libraries/Encryption_test.php
+++ b/tests/codeigniter/libraries/Encryption_test.php
@@ -151,7 +151,7 @@ class Encryption_test extends CI_TestCase {
'hmac_key' => str_repeat("\x0", 16)
);
- $this->assertTrue(is_array($this->encryption->__get_params($params)));
+ $this->assertInternalType('array', $this->encryption->__get_params($params));
$params['base64'] = TRUE;
$params['hmac_digest'] = 'sha512';
@@ -257,7 +257,7 @@ class Encryption_test extends CI_TestCase {
return $this->markTestSkipped('ext/mcrypt is deprecated since PHP 7.1 and will generate notices here.');
}
- $this->assertTrue(is_resource($this->encryption->__driver_get_handle('mcrypt', 'rijndael-128', 'cbc')));
+ $this->assertInternalType('resource', $this->encryption->__driver_get_handle('mcrypt', 'rijndael-128', 'cbc'));
}
// --------------------------------------------------------------------
diff --git a/tests/codeigniter/libraries/Form_validation_test.php b/tests/codeigniter/libraries/Form_validation_test.php
index 035410724..04bd670ad 100644
--- a/tests/codeigniter/libraries/Form_validation_test.php
+++ b/tests/codeigniter/libraries/Form_validation_test.php
@@ -43,7 +43,6 @@ class Form_validation_test extends CI_TestCase {
// Empty, not required
$this->assertTrue($this->run_rules($rules, array('foo' => '')));
-
// Not required, but also not empty
$this->assertTrue($this->run_rules($rules, array('foo' => '123')));
$this->assertFalse($this->run_rules($rules, array('foo' => 'bar')));
@@ -56,6 +55,13 @@ class Form_validation_test extends CI_TestCase {
$this->assertFalse($this->run_rules($rules, array('foo' => 'bar')));
}
+ public function test_rule_is_array()
+ {
+ $rules = array(array('field' => 'foo', 'label' => 'Foo', 'rules' => 'is_array'));
+ $this->assertTrue($this->run_rules($rules, array('foo' => array('1', '2'))));
+ $this->assertFalse($this->run_rules($rules, array('foo' => '')));
+ }
+
public function test_rule_matches()
{
$rules = array(
@@ -268,6 +274,7 @@ class Form_validation_test extends CI_TestCase {
public function test_rule_valid_email()
{
$this->assertTrue($this->form_validation->valid_email('email@sample.com'));
+ $this->assertFalse($this->form_validation->valid_email('email@sample.com foo bar'));
$this->assertFalse($this->form_validation->valid_email('valid_email', '@sample.com'));
}
@@ -314,9 +321,6 @@ class Form_validation_test extends CI_TestCase {
public function test_set_data()
{
- // Reset test environment
- $_POST = array();
- $this->form_validation->reset_validation();
$data = array('field' => 'some_data');
$this->form_validation->set_data($data);
$this->form_validation->set_rules('field', 'label', 'required');
@@ -335,9 +339,6 @@ class Form_validation_test extends CI_TestCase {
public function test_set_message()
{
- // Reset test environment
- $_POST = array();
- $this->form_validation->reset_validation();
$err_message = 'What a terrible error!';
$rules = array(
array(
@@ -365,7 +366,6 @@ class Form_validation_test extends CI_TestCase {
public function test_set_error_delimiters()
{
- $this->form_validation->reset_validation();
$prefix = '<div class="error">';
$suffix = '</div>';
$this->form_validation->set_error_delimiters($prefix, $suffix);
@@ -374,13 +374,14 @@ class Form_validation_test extends CI_TestCase {
$this->form_validation->run();
$error_msg = $this->form_validation->error('foo');
- $this->assertTrue(strrpos($error_msg, $prefix) === 0);
+ $this->assertStringStartsWith($prefix, $error_msg);
$this->assertTrue(strrpos($error_msg, $suffix, -strlen($suffix)) === (strlen($error_msg) - strlen($suffix)));
+
+ $_POST = array();
}
public function test_error_array()
{
- $this->form_validation->reset_validation();
$error_message = 'What a terrible error!';
$this->form_validation->set_message('required', $error_message);
$this->form_validation->set_rules('foo', 'label', 'required');
@@ -388,11 +389,12 @@ class Form_validation_test extends CI_TestCase {
$this->form_validation->run();
$error_array = $this->form_validation->error_array();
$this->assertEquals($error_message, $error_array['foo']);
+
+ $_POST = array();
}
public function test_error_string()
{
- $this->form_validation->reset_validation();
$error_message = 'What a terrible error!';
$prefix_default = '<foo>';
$suffix_default = '</foo>';
@@ -414,6 +416,8 @@ class Form_validation_test extends CI_TestCase {
$_POST = array('foo' => 'bar');
$this->form_validation->run();
$this->assertEquals('', $this->form_validation->error_string());
+
+ $_POST = array();
}
public function test_run()
@@ -442,6 +446,8 @@ class Form_validation_test extends CI_TestCase {
$form_validation = new CI_Form_validation($config);
$this->assertFalse($form_validation->run('fail'));
+
+ $_POST = array();
}
public function test_set_rules_exception()
@@ -452,7 +458,6 @@ class Form_validation_test extends CI_TestCase {
public function test_has_rule()
{
- $this->form_validation->reset_validation();
$this->form_validation->set_rules('foo', 'label', 'required');
$this->assertTrue($this->form_validation->has_rule('foo'));
@@ -461,7 +466,6 @@ class Form_validation_test extends CI_TestCase {
public function test_set_value()
{
- $this->form_validation->reset_validation();
$default = 'default';
$this->form_validation->set_rules('foo', 'label', 'required');
$this->form_validation->set_rules('bar[]', 'label', 'required');
@@ -473,13 +477,26 @@ class Form_validation_test extends CI_TestCase {
$this->assertEquals('foo', $this->form_validation->set_value('foo', $default));
$this->assertEquals('bar1', $this->form_validation->set_value('bar[]', $default));
$this->assertEquals('bar2', $this->form_validation->set_value('bar[]', $default));
+
+ $_POST = array();
+ }
+
+ public function test_issue_5202()
+ {
+ $data = array('person' => array('firstname' => 'Dick', 'lastname' => 'Tracy '));
+ $this->form_validation->set_rules('person[firstname]', 'First Name', 'required|trim');
+ $this->form_validation->set_rules('person[lastname]', 'Last Name', 'required|trim');
+ $this->form_validation->set_data($data);
+ $valid = $this->form_validation->run('', $data);
+
+ $this->assertTrue($valid);
+ $this->assertEquals('Dick', $data['person']['firstname']);
+ $this->assertEquals('Tracy', $data['person']['lastname']);
}
public function test_set_select()
{
// Test 1: No options selected
- $this->form_validation->reset_validation();
- $_POST = array();
$this->form_validation->run();
$this->assertEquals('', $this->form_validation->set_select('select', 'foo'));
@@ -508,13 +525,13 @@ class Form_validation_test extends CI_TestCase {
$this->assertEquals(' selected="selected"', $this->form_validation->set_select('select[]', 'bar', TRUE));
$this->assertEquals('', $this->form_validation->set_select('select[]', 'foobar'));
$this->assertEquals('', $this->form_validation->set_select('select[]', 'foobar', TRUE));
+
+ $_POST = array();
}
public function test_set_radio()
{
// Test 1: No options selected
- $this->form_validation->reset_validation();
- $_POST = array();
$this->form_validation->run();
$this->assertEquals('', $this->form_validation->set_radio('select', 'foo'));
@@ -544,13 +561,13 @@ class Form_validation_test extends CI_TestCase {
$this->assertEquals(' checked="checked"', $this->form_validation->set_radio('select[]', 'bar', TRUE));
$this->assertEquals('', $this->form_validation->set_radio('select[]', 'foobar'));
$this->assertEquals('', $this->form_validation->set_radio('select[]', 'foobar', TRUE));
+
+ $_POST = array();
}
public function test_set_checkbox()
{
// Test 1: No options selected
- $this->form_validation->reset_validation();
- $_POST = array();
$this->form_validation->run();
$this->assertEquals('', $this->form_validation->set_checkbox('select', 'foo'));
@@ -579,6 +596,8 @@ class Form_validation_test extends CI_TestCase {
$this->assertEquals(' checked="checked"', $this->form_validation->set_checkbox('select[]', 'bar', TRUE));
$this->assertEquals('', $this->form_validation->set_checkbox('select[]', 'foobar'));
$this->assertEquals('', $this->form_validation->set_checkbox('select[]', 'foobar', TRUE));
+
+ $_POST = array();
}
public function test_regex_match()
@@ -603,6 +622,23 @@ class Form_validation_test extends CI_TestCase {
$this->assertEquals('?&gt;', $this->form_validation->encode_php_tags('?>'));
}
+ public function test_validated_data_assignment()
+ {
+ $_POST = $post_original = array('foo' => ' bar ', 'bar' => 'baz');
+
+ $this->form_validation->set_data($_POST);
+ $this->form_validation->set_rules('foo', 'Foo', 'required|trim');
+
+ $data_processed = NULL;
+ $validation_result = $this->form_validation->run('', $data_processed);
+
+ $this->assertTrue($validation_result);
+ $this->assertEquals($post_original, $_POST);
+ $this->assertEquals(array('foo' => 'bar', 'bar' => 'baz'), $data_processed);
+
+ $_POST = array();
+ }
+
/**
* Run rules
*
@@ -613,13 +649,16 @@ class Form_validation_test extends CI_TestCase {
{
$this->form_validation->reset_validation();
$_POST = array();
-
$this->form_validation->set_rules($rules);
+
foreach ($values as $field => $value)
{
$_POST[$field] = $value;
}
- return $this->form_validation->run();
+ $valid = $this->form_validation->run();
+ $_POST = array();
+
+ return $valid;
}
}
diff --git a/tests/codeigniter/libraries/Table_test.php b/tests/codeigniter/libraries/Table_test.php
index 8e7452474..f505a43fc 100644
--- a/tests/codeigniter/libraries/Table_test.php
+++ b/tests/codeigniter/libraries/Table_test.php
@@ -67,7 +67,7 @@ class Table_test extends CI_TestCase {
$this->table->add_row('your', 'pony', 'stinks');
$this->table->add_row('my pony', '>', 'your pony');
- $this->assertEquals(count($this->table->rows), 3);
+ $this->assertCount(3, $this->table->rows);
$this->assertEquals(
array(
@@ -188,8 +188,8 @@ class Table_test extends CI_TestCase {
}
$this->assertFalse($this->table->auto_heading);
- $this->assertEquals(count($this->table->heading), 3);
- $this->assertEquals(count($this->table->rows), 2);
+ $this->assertCount(3, $this->table->heading);
+ $this->assertCount(2, $this->table->rows);
$this->table->clear();
@@ -213,7 +213,7 @@ class Table_test extends CI_TestCase {
$this->table->clear();
$this->table->set_from_array($data);
- $this->assertEquals(count($this->table->rows), 2);
+ $this->assertCount(2, $this->table->rows);
$expected = array(
array('data' => 'name'),
@@ -270,14 +270,14 @@ class Table_test extends CI_TestCase {
$table = $this->table->generate($data);
// Test the table header
- $this->assertTrue(strpos($table, '<th>Name</th>') !== FALSE);
- $this->assertTrue(strpos($table, '<th>Color</th>') !== FALSE);
- $this->assertTrue(strpos($table, '<th>Size</th>') !== FALSE);
+ $this->assertContains('<th>Name</th>', $table);
+ $this->assertContains('<th>Color</th>', $table);
+ $this->assertContains('<th>Size</th>', $table);
// Test the first entry
- $this->assertTrue(strpos($table, '<td>Fred</td>') !== FALSE);
- $this->assertTrue(strpos($table, '<td>Blue</td>') !== FALSE);
- $this->assertTrue(strpos($table, '<td>Small</td>') !== FALSE);
+ $this->assertContains('<td>Fred</td>', $table);
+ $this->assertContains('<td>Blue</td>', $table);
+ $this->assertContains('<td>Small</td>', $table);
}
}
@@ -297,4 +297,4 @@ class DB_result_dummy extends CI_DB_result
array('name' => 'Foo Bar', 'email' => 'foo@bar.com')
);
}
-} \ No newline at end of file
+}