A bug fix and optimizations in CI_Table
diff --git a/tests/codeigniter/libraries/Table_test.php b/tests/codeigniter/libraries/Table_test.php
index ce04b6a..4bfbdd6 100644
--- a/tests/codeigniter/libraries/Table_test.php
+++ b/tests/codeigniter/libraries/Table_test.php
@@ -200,16 +200,14 @@
 
 	public function test_set_from_array()
 	{
-		$this->assertFalse($this->table->set_from_array('bogus'));
-		$this->assertFalse($this->table->set_from_array(NULL));
-
 		$data = array(
 			array('name', 'color', 'number'),
 			array('Laura', 'Red', '22'),
 			array('Katie', 'Blue')
 		);
 
-		$this->table->set_from_array($data, FALSE);
+		$this->table->auto_heading = FALSE;
+		$this->table->set_from_array($data);
 		$this->assertEmpty($this->table->heading);
 
 		$this->table->clear();
@@ -235,22 +233,14 @@
 
 	public function test_set_from_object()
 	{
-		// Make a stub of query instance
-		$query = new CI_TestCase();
-		$query->list_fields = function(){
-			return array('name', 'email');
-		};
-		$query->result_array = function(){
-			return array(
-					array('name' => 'John Doe', 'email' => 'john@doe.com'),
-					array('name' => 'Foo Bar', 'email' => 'foo@bar.com'),
-				);
-		};
-		$query->num_rows = function(){
-			return 2;
-		};
+		// This needs to be passed by reference to CI_DB_result::__construct()
+		$dummy = new stdClass();
+		$dummy->conn_id = NULL;
+		$dummy->result_id = NULL;
 
-		$this->table->set_from_object($query);
+		$db_result = new DB_result_dummy($dummy);
+
+		$this->table->set_from_db_result($db_result);
 
 		$expected = array(
 			array('data' => 'name'),
@@ -290,4 +280,21 @@
 		$this->assertTrue(strpos($table, '<td>Small</td>') !== FALSE);
 	}
 
+}
+
+// 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')
+		);
+	}
 }
\ No newline at end of file