diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/codeigniter/core/Loader_test.php | 21 | ||||
-rw-r--r-- | tests/codeigniter/database/query_builder/count_test.php | 10 | ||||
-rw-r--r-- | tests/codeigniter/libraries/Form_validation_test.php | 27 |
3 files changed, 56 insertions, 2 deletions
diff --git a/tests/codeigniter/core/Loader_test.php b/tests/codeigniter/core/Loader_test.php index 241c415b3..3b6a7e16c 100644 --- a/tests/codeigniter/core/Loader_test.php +++ b/tests/codeigniter/core/Loader_test.php @@ -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/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/libraries/Form_validation_test.php b/tests/codeigniter/libraries/Form_validation_test.php index 035410724..ebb14983e 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')); } @@ -603,6 +610,24 @@ class Form_validation_test extends CI_TestCase { $this->assertEquals('?>', $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); + + $this->form_validation->reset_validation(); + $_POST = array(); + } + /** * Run rules * |