commiting uncommited changes on live site
[weblabels.fsf.org.git] / crm.fsf.org / 20131203 / files / sites / all / modules-new / civicrm / tests / phpunit / CRM / Extension / InfoTest.php
1 <?php
2
3 require_once 'CiviTest/CiviUnitTestCase.php';
4
5 /**
6 * Class CRM_Extension_InfoTest
7 */
8 class CRM_Extension_InfoTest extends CiviUnitTestCase {
9 public function setUp() {
10 parent::setUp();
11 $this->file = NULL;
12 }
13
14 public function tearDown() {
15 if ($this->file) {
16 unlink($this->file);
17 }
18 parent::tearDown();
19 }
20
21 public function testGood_file() {
22 $this->file = tempnam(sys_get_temp_dir(), 'infoxml-');
23 file_put_contents($this->file, "<extension key='test.foo' type='module'><file>foo</file><typeInfo><extra>zamboni</extra></typeInfo></extension>");
24
25 $info = CRM_Extension_Info::loadFromFile($this->file);
26 $this->assertEquals('test.foo', $info->key);
27 $this->assertEquals('foo', $info->file);
28 $this->assertEquals('zamboni', $info->typeInfo['extra']);
29 }
30
31 public function testBad_file() {
32 // <file> vs file>
33 $this->file = tempnam(sys_get_temp_dir(), 'infoxml-');
34 file_put_contents($this->file, "<extension key='test.foo' type='module'>file>foo</file></extension>");
35
36 $exc = NULL;
37 try {
38 $info = CRM_Extension_Info::loadFromFile($this->file);
39 }
40 catch (CRM_Extension_Exception $e) {
41 $exc = $e;
42 }
43 $this->assertTrue(is_object($exc));
44 }
45
46 public function testGood_string() {
47 $data = "<extension key='test.foo' type='module'><file>foo</file><typeInfo><extra>zamboni</extra></typeInfo></extension>";
48
49 $info = CRM_Extension_Info::loadFromString($data);
50 $this->assertEquals('test.foo', $info->key);
51 $this->assertEquals('foo', $info->file);
52 $this->assertEquals('zamboni', $info->typeInfo['extra']);
53 }
54
55 public function testBad_string() {
56 // <file> vs file>
57 $data = "<extension key='test.foo' type='module'>file>foo</file></extension>";
58
59 $exc = NULL;
60 try {
61 $info = CRM_Extension_Info::loadFromString($data);
62 }
63 catch (CRM_Extension_Exception $e) {
64 $exc = $e;
65 }
66 $this->assertTrue(is_object($exc));
67 }
68
69 }