file = NULL; } public function tearDown() { if ($this->file) { unlink($this->file); } parent::tearDown(); } public function testGood_file() { $this->file = tempnam(sys_get_temp_dir(), 'infoxml-'); file_put_contents($this->file, "foozamboni"); $info = CRM_Extension_Info::loadFromFile($this->file); $this->assertEquals('test.foo', $info->key); $this->assertEquals('foo', $info->file); $this->assertEquals('zamboni', $info->typeInfo['extra']); } public function testBad_file() { // vs file> $this->file = tempnam(sys_get_temp_dir(), 'infoxml-'); file_put_contents($this->file, "file>foo"); $exc = NULL; try { $info = CRM_Extension_Info::loadFromFile($this->file); } catch (CRM_Extension_Exception $e) { $exc = $e; } $this->assertTrue(is_object($exc)); } public function testGood_string() { $data = "foozamboni"; $info = CRM_Extension_Info::loadFromString($data); $this->assertEquals('test.foo', $info->key); $this->assertEquals('foo', $info->file); $this->assertEquals('zamboni', $info->typeInfo['extra']); } public function testBad_string() { // vs file> $data = "file>foo"; $exc = NULL; try { $info = CRM_Extension_Info::loadFromString($data); } catch (CRM_Extension_Exception $e) { $exc = $e; } $this->assertTrue(is_object($exc)); } }