Add templates/CRM/common/unittests.tpl
[civicrm-core.git] / tests / phpunit / CRM / Extension / InfoTest.php
CommitLineData
6a488035
TO
1<?php
2
aba1cd8b
EM
3/**
4 * Class CRM_Extension_InfoTest
5 */
6a488035 6class CRM_Extension_InfoTest extends CiviUnitTestCase {
00be9182 7 public function setUp() {
6a488035
TO
8 parent::setUp();
9 $this->file = NULL;
10 }
11
00be9182 12 public function tearDown() {
6a488035
TO
13 if ($this->file) {
14 unlink($this->file);
15 }
16 parent::tearDown();
17 }
18
00be9182 19 public function testGood_file() {
6a488035
TO
20 $this->file = tempnam(sys_get_temp_dir(), 'infoxml-');
21 file_put_contents($this->file, "<extension key='test.foo' type='module'><file>foo</file><typeInfo><extra>zamboni</extra></typeInfo></extension>");
22
23 $info = CRM_Extension_Info::loadFromFile($this->file);
24 $this->assertEquals('test.foo', $info->key);
25 $this->assertEquals('foo', $info->file);
26 $this->assertEquals('zamboni', $info->typeInfo['extra']);
27 }
28
00be9182 29 public function testBad_file() {
6a488035
TO
30 // <file> vs file>
31 $this->file = tempnam(sys_get_temp_dir(), 'infoxml-');
32 file_put_contents($this->file, "<extension key='test.foo' type='module'>file>foo</file></extension>");
33
34 $exc = NULL;
35 try {
36 $info = CRM_Extension_Info::loadFromFile($this->file);
0db6c3e1
TO
37 }
38 catch (CRM_Extension_Exception $e) {
6a488035
TO
39 $exc = $e;
40 }
41 $this->assertTrue(is_object($exc));
42 }
43
00be9182 44 public function testGood_string() {
6a488035
TO
45 $data = "<extension key='test.foo' type='module'><file>foo</file><typeInfo><extra>zamboni</extra></typeInfo></extension>";
46
47 $info = CRM_Extension_Info::loadFromString($data);
48 $this->assertEquals('test.foo', $info->key);
49 $this->assertEquals('foo', $info->file);
50 $this->assertEquals('zamboni', $info->typeInfo['extra']);
51 }
52
00be9182 53 public function testBad_string() {
6a488035
TO
54 // <file> vs file>
55 $data = "<extension key='test.foo' type='module'>file>foo</file></extension>";
56
57 $exc = NULL;
58 try {
59 $info = CRM_Extension_Info::loadFromString($data);
0db6c3e1
TO
60 }
61 catch (CRM_Extension_Exception $e) {
6a488035
TO
62 $exc = $e;
63 }
64 $this->assertTrue(is_object($exc));
65 }
96025800 66
6a488035 67}