public function testBuildProperties() { Xinc_Plugin_Repository::tearDown(); Xinc_Plugin_Repository::getInstance()->registerPlugin(new Xinc_Plugin_Repos_Property()); $workingdir = getcwd(); $engine = new Xinc_Engine_Sunrise(); $config = new Xinc_Project_Config($workingdir . '/test/resources/testProjectsPlugProperty.xml'); $buildIterator = $engine->parseProjects($config->getProjects()); $this->assertTrue($buildIterator instanceof Xinc_Build_Iterator, 'Should be of type Xinc_Build_Iterator'); $build = $buildIterator->next(); $engine->build($build); $original = $build->getProperties()->get('original'); $compare = $build->getProperties()->get('compare'); $this->assertEquals($original, $compare, 'Value should have been substituted and should be equal now: ' . $original . '!=' . $compare); }
public function testEmpty() { $workingdir = getcwd(); $configFile = Xinc_Config_File::load($workingdir . '/test/resources/testEmptySystem.xml'); $parser = new Xinc_Config_Parser($configFile); $plugins = $parser->getPlugins(); $this->assertTrue($plugins->count() == 0, 'No plugins should be detected'); /** * tearDown the repository first since we registered plugins before */ Xinc_Plugin_Repository::tearDown(); $repository = Xinc_Plugin_Repository::getInstance(); $pluginParser = new Xinc_Plugin_Parser(); $pluginParser->parse($plugins); $plugins = $repository->getPlugins(); $this->assertTrue($plugins->count() == 0, 'Should not have any plugins'); }
public function testExampleInvalid() { $workingdir = getcwd(); Xinc_Plugin_Repository::tearDown(); Xinc_Plugin_Repository::getInstance()->registerPlugin(new Xinc_Plugin_Repos_ModificationSet()); Xinc_Plugin_Repository::getInstance()->registerPlugin(new Xinc_Plugin_Repos_Builder()); Xinc_Plugin_Repository::getInstance()->registerPlugin(new Xinc_Plugin_Repos_ModificationSet_BuildAlways()); Xinc_Plugin_Repository::getInstance()->registerPlugin(new Xinc_Plugin_Repos_Phing()); $configFileName = $workingdir . '/test/resources/testSunriseExampleInvalidProject.xml'; $config = new Xinc_Project_Config($configFileName); $projects = $config->getProjects(); $engineParser = new Xinc_Engine_Sunrise_Parser(new Xinc_Engine_Sunrise()); $result = $engineParser->parseProjects($projects); $this->assertTrue(count($result) == 1, 'Should have one item in the array'); $build1 = $result[0]; $projectStatus = $build1->getProject()->getStatus(); $this->assertEquals(Xinc_Project_Status::MISCONFIGURED, $projectStatus, 'Project status should be MISCONFIGURED but is: ' . $projectStatus); }
public function testExample() { Xinc_Plugin_Repository::tearDown(); Xinc_Plugin_Repository::getInstance()->registerPlugin(new Xinc_Plugin_Repos_ModificationSet()); Xinc_Plugin_Repository::getInstance()->registerPlugin(new Xinc_Plugin_Repos_Builder()); Xinc_Plugin_Repository::getInstance()->registerPlugin(new Xinc_Plugin_Repos_ModificationSet_BuildAlways()); Xinc_Plugin_Repository::getInstance()->registerPlugin(new Xinc_Plugin_Repos_Phing()); $workingdir = getcwd(); $engine = new Xinc_Engine_Sunrise(); $config = new Xinc_Project_Config($workingdir . '/test/resources/testSunriseExampleProject.xml'); $buildIterator = $engine->parseProjects($config->getProjects()); $this->assertTrue($buildIterator instanceof Xinc_Build_Iterator, 'Should be of type Xinc_Build_Iterator'); $build = $buildIterator->next(); try { $build->build(); } catch (Exception $e) { var_dump($e); } $this->assertTrue($build->getLastBuild()->getStatus() == Xinc_Build_Interface::PASSED, 'Build should pass'); }