public function testIsValidWithMissingValue() { $this->_instance->setKey('mykey'); $this->_instance->setType('param'); $this->_instance->setName('myname'); $this->assertFalse($this->_instance->isValid()); }
/** * Add a customization * * Supports a Customization instance or a config array, in that case a new * Customization instance wil be created based on the options. * * @param Solarium_Plugin_CustomizeRequest_Customization|array $customization * @return Solarium_Plugin_CustomizeRequest Provides fluent interface */ public function addCustomization($customization) { if (is_array($customization)) { $customization = new Solarium_Plugin_CustomizeRequest_Customization($customization); } $key = $customization->getKey(); // check for non-empty key if (0 === strlen($key)) { throw new Solarium_Exception('A Customization must have a key value'); } // check for a unique key if (array_key_exists($key, $this->_customizations)) { //double add calls for the same customization are ignored, others cause an exception if ($this->_customizations[$key] !== $customization) { throw new Solarium_Exception('A Customization must have a unique key value'); } } $this->_customizations[$key] = $customization; return $this; }
/** * Add a customization * * Supports a Customization instance or a config array, in that case a new * Customization instance wil be created based on the options. * * @param Solarium_Plugin_CustomizeRequest_Customization|array $customization * @return Solarium_Plugin_CustomizeRequest Provides fluent interface */ public function addCustomization($customization) { if (is_array($customization)) { $customization = new Solarium_Plugin_CustomizeRequest_Customization($customization); } $key = $customization->getKey(); if (0 === strlen($key)) { throw new Solarium_Exception('A Customization must have a key value'); } if (array_key_exists($key, $this->_customizations)) { if ($this->_customizations[$key] === $customization) { //double add calls for the same customization are ignored //@todo add trigger_error with a notice? } else { throw new Solarium_Exception('A Customization must have a unique key value'); } } else { $this->_customizations[$key] = $customization; } return $this; }
public function testSetCustomizations() { $customization1 = new Solarium_Plugin_CustomizeRequest_Customization(); $customization1->setKey('id1')->setName('test1'); $customization2 = new Solarium_Plugin_CustomizeRequest_Customization(); $customization2->setKey('id2')->setName('test2'); $customizations1 = array('id1' => $customization1, 'id2' => $customization2); $this->_plugin->addCustomizations($customizations1); $customization3 = new Solarium_Plugin_CustomizeRequest_Customization(); $customization3->setKey('id3')->setName('test3'); $customization4 = new Solarium_Plugin_CustomizeRequest_Customization(); $customization4->setKey('id4')->setName('test4'); $customizations2 = array('id3' => $customization3, 'id4' => $customization4); $this->_plugin->setCustomizations($customizations2); $this->assertEquals($customizations2, $this->_plugin->getCustomizations()); }