public function onSubmit()
 {
     $templateName = $_POST[$this->addName("options")];
     if ($this->testTemplate($templateName) === true) {
         $config = Engine::getConfig();
         $config->setConfigFilename(TEMP_CONFIG_FILE);
         $config->TEMPLATE = $templateName;
         $template = (include Engine::getTemplate($templateName));
         if (!$template instanceof Template) {
             $this->sendStatus(true, array($this->addName("error")));
         } else {
             $template->configure($this);
             $config->save(true);
         }
     } else {
         $this->sendStatus(true, array($this->addName("error")));
     }
 }
 public function test_getTemplate()
 {
     //We are testing the getTemplate function in Engine.
     //We want to know if getTemplate returns the filename to the template name. For example "FacebookAnalyser" should go to /engine/templates/FacebookAnalyser/main.php
     //The function must return the path to the main template file, we remove the main.php to get the template name, and we also test with our getTemplates function so
     //that it doesn't matter what templates are there, as long as our function returns the right path.
     //Get a list of templates, then test for each one if it can get the template path and that it's in the template array
     $this->assertEquals(null, Engine::getTemplate(""));
     //Get list of templates
     foreach (Engine::getTemplates() as $value) {
         //Test that the function returns the same as the value from the getTemplates array
         $this->assertEquals($value, Engine::getTemplate(basename(str_replace(basename($value), "", $value))));
     }
 }