Source

						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());
	}