(Original Author) * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ class AddonVersionsTest extends WebTestHelper { var $addonid = 7; function AddonVersionsTest() { $this->WebTestCase("Views->Addons->Previous Versions Tests"); } function setUp() { $this->getAction("/addons/versions/{$this->addonid}"); global $TestController; $this->helper = new UnitTestHelper(); $this->controller = $this->helper->getController('Addons', $this); $this->controller->base = $TestController->base; // disable query caching so devcp changes are visible immediately foreach ($this->controller->uses as $_model) { $this->controller->$_model->caching = false; } } function testRemoraPage() { // just checks if the page works or not $this->assertWantedPattern('/Sugar Labs Activities/i', "pattern detected"); } function testRssLink() { // RSS feed linked in header? $pattern = '##'; $this->assertPattern($pattern, htmlentities($pattern)); } function testPreviews() { $addon = $this->controller->Addon->findById($this->addonid); // "Careful" warning $pattern = '#

'._('addons_versions_careful').'

#'; $this->assertPattern($pattern, htmlentities($pattern)); $pattern = '#

'._('addons_versions_careful_introduction').'

#'; $this->assertPattern($pattern, htmlentities($pattern)); // Version strings for all versions foreach ($addon['Version'] as $version) { $pattern = "@

Version " . $version['version'] . ' — ' . strftime(_('date'), strtotime($version['created'])) . " — .*

@"; $this->assertPattern($pattern, htmlentities($pattern)); } // link back $this->assertLink(sprintf(_('addon_review_a_back_to_addon_x'), $addon['Translation']['name']['string']), 'link back to addon page'); } /** * Test if "version-1.0"-style anchor IDs are present so people can * use it as a permalink to a specific version. */ function testPermaLinkAnchors() { $addon = $this->controller->Addon->findById($this->addonid); foreach($addon['Version'] as $version) { $pattern = '#
]*id="version-'.$version['version'].'"[^>]*>#'; $this->assertPattern($pattern, htmlentities($pattern)); } } } ?>