public function testHtmlSelectMultipleKeyWithCast() { // Define a chave multipla // como ele deve considerar apenas o primeiro o teste abaixo é o mesmo de testHtmlSelectWhere $this->Base->setKey(array('CAST' => 'id', 'nao-existo')); $id = 'teste'; $this->Base->setHtmlSelectOption('{title}'); $select = $this->Base->getHtmlSelect($id, null, array('where' => array('artist' => 'Rush'))); $this->assertNotEmpty($select); $dom = new Zend_Dom_Query($select); $options = $dom->query("option"); $this->assertCount(3, $options, " 3 opções encontradas"); $this->assertEmpty($options->current()->nodeValue, "primeiro é vazio 1"); $this->assertEmpty($options->current()->getAttribute('value'), "o valor do primeiro é vazio 1"); $options->next(); $this->assertEquals($this->defaultValues[0]['title'], $options->current()->nodeValue, "nome do segundo ok 1"); $this->assertEquals($this->defaultValues[0]['id'], $options->current()->getAttribute('value'), "valor do segundo ok 1"); $options->next(); $this->assertEquals($this->defaultValues[1]['title'], $options->current()->nodeValue, "nome do terceiro ok 1"); $this->assertEquals($this->defaultValues[1]['id'], $options->current()->getAttribute('value'), "valor do terceiro ok 1"); $select = $this->Base->getHtmlSelect($id, 1, array('where' => array('artist' => 'Rush'))); $this->assertNotEmpty($select); $dom = new Zend_Dom_Query($select); $options = $dom->query("option"); $this->assertCount(2, $options, " 2 opções encontradas"); $this->assertNotEmpty($options->current()->nodeValue, "primeiro não é vazio 2"); $this->assertNotEmpty($options->current()->getAttribute('value'), "o valor do primeiro não é vazio 2"); $this->assertEquals($this->defaultValues[0]['title'], $options->current()->nodeValue, "nome do segundo ok 2"); $this->assertEquals($this->defaultValues[0]['id'], $options->current()->getAttribute('value'), "valor do segundo ok 2"); $options->next(); $this->assertEquals($this->defaultValues[1]['title'], $options->current()->nodeValue, "nome do terceiro ok 2"); $this->assertEquals($this->defaultValues[1]['id'], $options->current()->getAttribute('value'), "valor do terceiro ok 2"); }
/** * (non-PHPdoc) * @see RW_App_Model_Base::getWhere() */ public function getWhere($where, &$select = null) { if (isset($where['test'])) { if ($select instanceof Zend_Db_Table_Select) { $select->columns("id as novoid"); } unset($where['test']); } return parent::getWhere($where, $select); }