INFRA-132 - Remove extra spaces around '.'
[civicrm-core.git] / tests / phpunit / CRM / Extension / BrowserTest.php
CommitLineData
6a488035
TO
1<?php
2
3require_once 'CiviTest/CiviUnitTestCase.php';
4
aba1cd8b
EM
5/**
6 * Class CRM_Extension_BrowserTest
7 */
6a488035 8class CRM_Extension_BrowserTest extends CiviUnitTestCase {
00be9182 9 public function setUp() {
6a488035
TO
10 parent::setUp();
11 }
12
00be9182 13 public function tearDown() {
6a488035
TO
14 parent::tearDown();
15 }
16
00be9182 17 public function testDisabled() {
72b14f38 18 $browser = new CRM_Extension_Browser(FALSE, '/index.html', 'file:///itd/oesn/tmat/ter');
6a488035
TO
19 $this->assertEquals(FALSE, $browser->isEnabled());
20 $this->assertEquals(array(), $browser->checkRequirements());
21 $this->assertEquals(array(), $browser->getExtensions());
22 }
23
00be9182 24 public function testCheckRequirements_BadCachedir_false() {
86bfa4f6 25 $browser = new CRM_Extension_Browser('file://' . dirname(__FILE__) . '/dataset/good-repository', '/index.html', FALSE);
6a488035
TO
26 $this->assertEquals(TRUE, $browser->isEnabled());
27 $reqs = $browser->checkRequirements();
28 $this->assertEquals(1, count($reqs));
29 }
30
00be9182 31 public function testCheckRequirements_BadCachedir_nonexistent() {
86bfa4f6 32 $browser = new CRM_Extension_Browser('file://' . dirname(__FILE__) . '/dataset/good-repository', '/index.html', '/tot/all/yin/v/alid');
6a488035
TO
33 $this->assertEquals(TRUE, $browser->isEnabled());
34 $reqs = $browser->checkRequirements();
35 $this->assertEquals(1, count($reqs));
36 }
37
00be9182 38 public function testGetExtensions_good() {
86bfa4f6 39 $browser = new CRM_Extension_Browser('file://' . dirname(__FILE__) . '/dataset/good-repository', '/index.html', $this->createTempDir('ext-cache-'));
6a488035
TO
40 $this->assertEquals(TRUE, $browser->isEnabled());
41 $this->assertEquals(array(), $browser->checkRequirements());
42 $exts = $browser->getExtensions();
43 $keys = array_keys($exts);
44 sort($keys);
45 $this->assertEquals(array('test.crm.extension.browsertest.a', 'test.crm.extension.browsertest.b'), $keys);
46 $this->assertEquals('report', $exts['test.crm.extension.browsertest.a']->type);
47 $this->assertEquals('module', $exts['test.crm.extension.browsertest.b']->type);
48 $this->assertEquals('http://example.com/test.crm.extension.browsertest.a-0.1.zip', $exts['test.crm.extension.browsertest.a']->downloadUrl);
49 $this->assertEquals('http://example.com/test.crm.extension.browsertest.b-1.2.zip', $exts['test.crm.extension.browsertest.b']->downloadUrl);
50 }
51
00be9182 52 public function testGetExtension_good() {
86bfa4f6 53 $browser = new CRM_Extension_Browser('file://' . dirname(__FILE__) . '/dataset/good-repository', '/index.html', $this->createTempDir('ext-cache-'));
6a488035
TO
54 $this->assertEquals(TRUE, $browser->isEnabled());
55 $this->assertEquals(array(), $browser->checkRequirements());
56
57 $info = $browser->getExtension('test.crm.extension.browsertest.b');
58 $this->assertEquals('module', $info->type);
59 $this->assertEquals('http://example.com/test.crm.extension.browsertest.b-1.2.zip', $info->downloadUrl);
60 }
61
00be9182 62 public function testGetExtension_nonexistent() {
86bfa4f6 63 $browser = new CRM_Extension_Browser('file://' . dirname(__FILE__) . '/dataset/good-repository', '/index.html', $this->createTempDir('ext-cache-'));
6a488035
TO
64 $this->assertEquals(TRUE, $browser->isEnabled());
65 $this->assertEquals(array(), $browser->checkRequirements());
66
67 $info = $browser->getExtension('test.crm.extension.browsertest.nonexistent');
68 $this->assertEquals(NULL, $info);
69 }
70}