public function testFields() {
$query = new Query(array(
'model' => $this->_model,
'with' => array('MockDatabaseComment')
));
$fields = array('id', 'title');
$result = $this->db->fields($fields, $query);
$expected = 'MockDatabasePost.id, MockDatabasePost.title';
$this->assertEqual($expected,$result);
$fields = array(
'MockDatabasePost' => array('id', 'title', 'created'),
'MockDatabaseComment' => array('body')
);
$result = $this->db->fields($fields, $query);
$expected = 'MockDatabasePost.id, MockDatabasePost.title, MockDatabasePost.created' .
', MockDatabaseComment.body';
$this->assertEqual($expected,$result);
$fields = array(
'MockDatabasePost',
'MockDatabaseComment'
);
$result = $this->db->fields($fields, $query);
$expected = 'MockDatabasePost.id, MockDatabasePost.author_id, MockDatabasePost.title, ' .
'MockDatabasePost.created, MockDatabaseComment.id, MockDatabaseComment.post_id, ' .
'MockDatabaseComment.author_id, MockDatabaseComment.body, ' .
'MockDatabaseComment.created';
$this->assertEqual($expected, $result);
$fields = array(
'MockDatabasePost as Post',
'MockDatabaseComment AS Comment'
);
$result = $this->db->fields($fields, $query);
$expected = 'MockDatabasePost as Post, MockDatabaseComment AS Comment';
$this->assertEqual($expected, $result);
$expected = array(
'MockDatabasePost' => array(
'Post', 'Comment'
)
);
$this->assertEqual($expected, $query->map());
}