/** * FIXME should we test this without internet first? * * @group internet */ public function testExtensionParameters() { $extension = new helper_plugin_extension_extension(); $extension->setExtension('extension'); $this->assertEquals('extension', $extension->getID()); $this->assertEquals('extension', $extension->getBase()); $this->assertEquals('Extension Manager', $extension->getDisplayName()); $this->assertEquals('Michael Hamann', $extension->getAuthor()); $this->assertEquals('*****@*****.**', $extension->getEmail()); $this->assertEquals(md5('*****@*****.**'), $extension->getEmailID()); $this->assertEquals('https://www.dokuwiki.org/plugin:extension', $extension->getURL()); $this->assertEquals('Allows managing and installing plugins and templates', $extension->getDescription()); $this->assertFalse($extension->isTemplate()); $this->assertTrue($extension->isEnabled()); $this->assertTrue($extension->isInstalled()); $this->assertTrue($extension->isBundled()); $extension->setExtension('testing'); $this->assertEquals('testing', $extension->getID()); $this->assertEquals('testing', $extension->getBase()); $this->assertEquals('Testing Plugin', $extension->getDisplayName()); $this->assertEquals('Tobias Sarnowski', $extension->getAuthor()); $this->assertEquals('*****@*****.**', $extension->getEmail()); $this->assertEquals(md5('*****@*****.**'), $extension->getEmailID()); $this->assertEquals('http://www.dokuwiki.org/plugin:testing', $extension->getURL()); $this->assertEquals('Used to test the test framework. Should always be disabled.', $extension->getDescription()); $this->assertFalse($extension->isTemplate()); $this->assertFalse($extension->isEnabled()); $this->assertTrue($extension->isInstalled()); $this->assertTrue($extension->isBundled()); $extension->setExtension('template:dokuwiki'); $this->assertEquals('template:dokuwiki', $extension->getID()); $this->assertEquals('dokuwiki', $extension->getBase()); $this->assertEquals('DokuWiki Template', $extension->getDisplayName()); $this->assertEquals('Anika Henke', $extension->getAuthor()); $this->assertEquals('*****@*****.**', $extension->getEmail()); $this->assertEquals(md5('*****@*****.**'), $extension->getEmailID()); $this->assertEquals('http://www.dokuwiki.org/template:dokuwiki', $extension->getURL()); $this->assertEquals('DokuWiki\'s default template since 2012', $extension->getDescription()); $this->assertTrue($extension->isTemplate()); $this->assertTrue($extension->isEnabled()); $this->assertTrue($extension->isInstalled()); $this->assertTrue($extension->isBundled()); }
/** * Notice area * * @param helper_plugin_extension_extension $extension The extension * @return string The HTML code */ function make_noticearea(helper_plugin_extension_extension $extension) { $return = ''; $missing_dependencies = $extension->getMissingDependencies(); if (!empty($missing_dependencies)) { $return .= '<div class="msg error">' . sprintf($this->getLang('missing_dependency'), '<bdi>' . implode(', ', $missing_dependencies) . '</bdi>') . '</div>'; } if ($extension->isInWrongFolder()) { $return .= '<div class="msg error">' . sprintf($this->getLang('wrong_folder'), '<bdi>' . hsc($extension->getInstallName()) . '</bdi>', '<bdi>' . hsc($extension->getBase()) . '</bdi>') . '</div>'; } if (($securityissue = $extension->getSecurityIssue()) !== false) { $return .= '<div class="msg error">' . sprintf($this->getLang('security_issue'), '<bdi>' . hsc($securityissue) . '</bdi>') . '</div>'; } if (($securitywarning = $extension->getSecurityWarning()) !== false) { $return .= '<div class="msg notify">' . sprintf($this->getLang('security_warning'), '<bdi>' . hsc($securitywarning) . '</bdi>') . '</div>'; } if ($extension->updateAvailable()) { $return .= '<div class="msg notify">' . sprintf($this->getLang('update_available'), hsc($extension->getLastUpdate())) . '</div>'; } if ($extension->hasDownloadURLChanged()) { $return .= '<div class="msg notify">' . sprintf($this->getLang('url_change'), '<bdi>' . hsc($extension->getDownloadURL()) . '</bdi>', '<bdi>' . hsc($extension->getLastDownloadURL()) . '</bdi>') . '</div>'; } return $return . DOKU_LF; }