/** * 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()); }
/** * Plugin/template status * * @param helper_plugin_extension_extension $extension The extension * @return string The description of all relevant statusses */ function make_status(helper_plugin_extension_extension $extension) { $status = array(); if ($extension->isInstalled()) { $status[] = $this->getLang('status_installed'); if ($extension->isProtected()) { $status[] = $this->getLang('status_protected'); } else { $status[] = $extension->isEnabled() ? $this->getLang('status_enabled') : $this->getLang('status_disabled'); } } else { $status[] = $this->getLang('status_not_installed'); } if (!$extension->canModify()) { $status[] = $this->getLang('status_unmodifiable'); } if ($extension->isBundled()) { $status[] = $this->getLang('status_bundled'); } $status[] = $extension->isTemplate() ? $this->getLang('status_template') : $this->getLang('status_plugin'); return join(', ', $status); }