Open Journal Systems  3.3.0
ControlledVocabTest.php
1 <?php
2 
17 import('lib.pkp.tests.DatabaseTestCase');
18 
24  public function testParseXML() {
25  $controlledVocabDao = DAORegistry::getDAO('ControlledVocabDAO');
26 
27  // Parse a controlled vocabulary
28  $controlledVocabs = $controlledVocabDao->installXML(dirname(__FILE__) . '/controlledVocab.xml');
29  $controlledVocab = array_shift($controlledVocabs);
30  $this->assertEquals($controlledVocabs, array()); // Should just have been one CV
31  $this->assertTrue(is_a($controlledVocab, 'ControlledVocab'));
32  $this->assertEquals('TEST_CV', $controlledVocab->getSymbolic());
33  $this->assertEquals(
34  array_values($controlledVocab->enumerate()),
35  array(
36  'name_one',
37  'name_two',
38  )
39  );
40 
41  // Re-parse the controlled vocabulary
42  $controlledVocabsReparsed = $controlledVocabDao->installXML(dirname(__FILE__) . '/controlledVocab.xml');
43  $controlledVocabReparsed = array_shift($controlledVocabsReparsed);
44  $this->assertEquals($controlledVocabsReparsed, array()); // Should just have been one CV
45  $this->assertTrue(is_a($controlledVocabReparsed, 'ControlledVocab'));
46  // Ensure that the existing controlled vocabulary was re-used
47  $this->assertEquals($controlledVocab->getId(), $controlledVocabReparsed->getId());
48  }
49 }
50 
51 
ControlledVocabTest\testParseXML
testParseXML()
Definition: ControlledVocabTest.php:24
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
ControlledVocabTest
Tests for the ControlledVocab class.
Definition: ControlledVocabTest.php:19
DatabaseTestCase
Base class for unit tests that require database support. The schema TestName.setUp....
Definition: DatabaseTestCase.inc.php:23