public function testIsValidWithMissingValue() { $this->instance->setKey('mykey'); $this->instance->setType('param'); $this->instance->setName('myname'); $this->assertFalse($this->instance->isValid()); }
public function testSetCustomizations() { $customization1 = new Customization(); $customization1->setKey('id1')->setName('test1'); $customization2 = new Customization(); $customization2->setKey('id2')->setName('test2'); $customizations1 = array('id1' => $customization1, 'id2' => $customization2); $this->plugin->addCustomizations($customizations1); $customization3 = new Customization(); $customization3->setKey('id3')->setName('test3'); $customization4 = new Customization(); $customization4->setKey('id4')->setName('test4'); $customizations2 = array('id3' => $customization3, 'id4' => $customization4); $this->plugin->setCustomizations($customizations2); $this->assertEquals($customizations2, $this->plugin->getCustomizations()); }
/** * 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. * * @throws InvalidArgumentException * * @param Customization|array $customization * * @return self Provides fluent interface */ public function addCustomization($customization) { if (is_array($customization)) { $customization = new Customization($customization); } $key = $customization->getKey(); // check for non-empty key if (0 === strlen($key)) { throw new InvalidArgumentException('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 InvalidArgumentException('A Customization must have a unique key value'); } } $this->customizations[$key] = $customization; return $this; }