summaryrefslogtreecommitdiffstats
path: root/tests/codeigniter/libraries/Table_test.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/codeigniter/libraries/Table_test.php')
-rw-r--r--tests/codeigniter/libraries/Table_test.php300
1 files changed, 0 insertions, 300 deletions
diff --git a/tests/codeigniter/libraries/Table_test.php b/tests/codeigniter/libraries/Table_test.php
deleted file mode 100644
index 6efae5d18..000000000
--- a/tests/codeigniter/libraries/Table_test.php
+++ /dev/null
@@ -1,300 +0,0 @@
-<?php
-
-class Table_test extends CI_TestCase {
-
- public function set_up()
- {
- $this->table = new Mock_Libraries_Table();
- $this->ci_instance_var('table', $this->table);
- }
-
- // Setter Methods
- // --------------------------------------------------------------------
-
- public function test_set_template()
- {
- $this->assertFalse($this->table->set_template('not an array'));
-
- $template = array('a' => 'b');
-
- $this->table->set_template($template);
- $this->assertEquals($template, $this->table->template);
- }
-
- public function test_set_empty()
- {
- $this->table->set_empty('nada');
- $this->assertEquals('nada', $this->table->empty_cells);
- }
-
- public function test_set_caption()
- {
- $this->table->set_caption('awesome cap');
- $this->assertEquals('awesome cap', $this->table->caption);
- }
-
- /*
- * @depends test_prep_args
- */
- public function test_set_heading()
- {
- // uses _prep_args internally, so we'll just do a quick
- // check to verify that func_get_args and prep_args are
- // being called.
-
- $this->table->set_heading('name', 'color', 'size');
-
- $this->assertEquals(
- array(
- array('data' => 'name'),
- array('data' => 'color'),
- array('data' => 'size')
- ),
- $this->table->heading
- );
- }
-
- /*
- * @depends test_prep_args
- */
- public function test_add_row()
- {
- // uses _prep_args internally, so we'll just do a quick
- // check to verify that func_get_args and prep_args are
- // being called.
-
- $this->table->add_row('my', 'pony', 'sings');
- $this->table->add_row('your', 'pony', 'stinks');
- $this->table->add_row('my pony', '>', 'your pony');
-
- $this->assertCount(3, $this->table->rows);
-
- $this->assertEquals(
- array(
- array('data' => 'your'),
- array('data' => 'pony'),
- array('data' => 'stinks')
- ),
- $this->table->rows[1]
- );
- }
-
- // Uility Methods
- // --------------------------------------------------------------------
-
- public function test_prep_args()
- {
- $expected = array(
- array('data' => 'name'),
- array('data' => 'color'),
- array('data' => 'size')
- );
-
- $this->assertEquals(
- $expected,
- $this->table->prep_args(array('name', 'color', 'size'))
- );
-
- // with cell attributes
- // need to add that new argument row to our expected outcome
- $expected[] = array('data' => 'weight', 'class' => 'awesome');
-
- $this->assertEquals(
- $expected,
- $this->table->prep_args(array('name', 'color', 'size', array('data' => 'weight', 'class' => 'awesome')))
- );
- }
-
- public function test_default_template_keys()
- {
- $keys = array(
- 'table_open',
- 'thead_open', 'thead_close',
- 'heading_row_start', 'heading_row_end', 'heading_cell_start', 'heading_cell_end',
- 'tbody_open', 'tbody_close',
- 'row_start', 'row_end', 'cell_start', 'cell_end',
- 'row_alt_start', 'row_alt_end', 'cell_alt_start', 'cell_alt_end',
- 'table_close'
- );
-
- foreach ($keys as $key)
- {
- $this->assertArrayHasKey($key, $this->table->default_template());
- }
- }
-
- public function test_compile_template()
- {
- $this->assertFalse($this->table->set_template('invalid_junk'));
-
- // non default key
- $this->table->set_template(array('nonsense' => 'foo'));
- $this->table->compile_template();
-
- $this->assertArrayHasKey('nonsense', $this->table->template);
- $this->assertEquals('foo', $this->table->template['nonsense']);
-
- // override default
- $this->table->set_template(array('table_close' => '</table junk>'));
- $this->table->compile_template();
-
- $this->assertArrayHasKey('table_close', $this->table->template);
- $this->assertEquals('</table junk>', $this->table->template['table_close']);
- }
-
- public function test_make_columns()
- {
- // Test bogus parameters
- $this->assertFalse($this->table->make_columns('invalid_junk'));
- $this->assertFalse($this->table->make_columns(array()));
- $this->assertFalse($this->table->make_columns(array('one', 'two'), '2.5'));
-
- // Now on to the actual column creation
-
- $five_values = array(
- 'Laura', 'Red', '15',
- 'Katie', 'Blue'
- );
-
- // No column count - no changes to the array
- $this->assertEquals(
- $five_values,
- $this->table->make_columns($five_values)
- );
-
- // Column count of 3 leaves us with one &nbsp;
- $this->assertEquals(
- array(
- array('Laura', 'Red', '15'),
- array('Katie', 'Blue', '&nbsp;')
- ),
- $this->table->make_columns($five_values, 3)
- );
- }
-
- public function test_clear()
- {
- $this->table->set_heading('Name', 'Color', 'Size');
-
- // Make columns changes auto_heading
- $rows = $this->table->make_columns(array(
- 'Laura', 'Red', '15',
- 'Katie', 'Blue'
- ), 3);
-
- foreach ($rows as $row)
- {
- $this->table->add_row($row);
- }
-
- $this->assertFalse($this->table->auto_heading);
- $this->assertCount(3, $this->table->heading);
- $this->assertCount(2, $this->table->rows);
-
- $this->table->clear();
-
- $this->assertTrue($this->table->auto_heading);
- $this->assertEmpty($this->table->heading);
- $this->assertEmpty($this->table->rows);
- }
-
- public function test_set_from_array()
- {
- $data = array(
- array('name', 'color', 'number'),
- array('Laura', 'Red', '22'),
- array('Katie', 'Blue')
- );
-
- $this->table->auto_heading = FALSE;
- $this->table->set_from_array($data);
- $this->assertEmpty($this->table->heading);
-
- $this->table->clear();
-
- $this->table->set_from_array($data);
- $this->assertCount(2, $this->table->rows);
-
- $expected = array(
- array('data' => 'name'),
- array('data' => 'color'),
- array('data' => 'number')
- );
-
- $this->assertEquals($expected, $this->table->heading);
-
- $expected = array(
- array('data' => 'Katie'),
- array('data' => 'Blue'),
- );
-
- $this->assertEquals($expected, $this->table->rows[1]);
- }
-
- public function test_set_from_object()
- {
- // This needs to be passed by reference to CI_DB_result::__construct()
- $dummy = new stdClass();
- $dummy->conn_id = NULL;
- $dummy->result_id = NULL;
-
- $db_result = new DB_result_dummy($dummy);
-
- $this->table->set_from_db_result($db_result);
-
- $expected = array(
- array('data' => 'name'),
- array('data' => 'email')
- );
-
- $this->assertEquals($expected, $this->table->heading);
-
- $expected = array(
- 'name' => array('data' => 'Foo Bar'),
- 'email' => array('data' => 'foo@bar.com'),
- );
-
- $this->assertEquals($expected, $this->table->rows[1]);
- }
-
- public function test_generate()
- {
- // Prepare the data
- $data = array(
- array('Name', 'Color', 'Size'),
- array('Fred', 'Blue', 'Small'),
- array('Mary', 'Red', 'Large'),
- array('John', 'Green', 'Medium')
- );
-
- $table = $this->table->generate($data);
-
- // Test the table header
- $this->assertEquals(1, substr_count($table, '<th>Name</th>'));
- $this->assertEquals(1, substr_count($table, '<th>Color</th>'));
- $this->assertEquals(1, substr_count($table, '<th>Size</th>'));
-
- // Test the first entry
- $this->assertEquals(1, substr_count($table, '<td>Fred</td>'));
- $this->assertEquals(1, substr_count($table, '<td>Blue</td>'));
- $this->assertEquals(1, substr_count($table, '<td>Small</td>'));
- }
-
-}
-
-// We need this for the _set_from_db_result() test
-class DB_result_dummy extends CI_DB_result
-{
- public function list_fields()
- {
- return array('name', 'email');
- }
-
- public function result_array()
- {
- return array(
- array('name' => 'John Doe', 'email' => 'john@doe.com'),
- array('name' => 'Foo Bar', 'email' => 'foo@bar.com')
- );
- }
-}