\$this->getActionName(), "target" => "nothing" ); } static function getActionName() { return "testCustomAction"; } } EOQ; if (!is_dir("custom/" . ActionFactory::$action_directory)) { sugar_mkdir("custom/" . ActionFactory::$action_directory, null, true); $this->removeCustomDir = true; } file_put_contents("custom/" . ActionFactory::$action_directory . "/testCustomAction.php", $actionContent); } protected function removeCustomAction() { unlink("custom/" . ActionFactory::$action_directory . "/testCustomAction.php"); if ($this->removeCustomDir) unlink("custom/" . ActionFactory::$action_directory); } public function testGetNewAction() { $sva = ActionFactory::getNewAction('SetValue', array( 'target' => 'name', 'value' => 'strlen($name)' ) ); $this->assertType("SetValueAction", $sva); } public function testLoadCustomAction() { $this->createCustomAction(); ActionFactory::buildActionCache(true); $customAction = ActionFactory::getNewAction('testCustomAction', array()); $this->assertType("TestCustomAction", $customAction); $this->removeCustomAction(); ActionFactory::buildActionCache(true); } }