Yaffs site version 1.1
[yaffs-website] / vendor / drush / drush / tests / releaseInfoTest.php
1 <?php
2
3 /**
4  * @file
5  * Tests for release_info engine.
6  */
7
8 namespace Unish;
9
10 /**
11  * pm testing
12  *
13  * @group pm
14  */
15 class releaseInfoCase extends UnitUnishTestCase {
16
17   /**
18    * Pick right release from the XML (dev, latest published+recommended, ...).
19    */
20   public function testReleaseXML() {
21     _drush_add_commandfiles(array(DRUSH_BASE_PATH . '/commands/pm'));
22     $release_info = drush_include_engine('release_info', 'updatexml');
23
24     // Use a local, static XML file because live files change over time.
25     $xml = simplexml_load_file(dirname(__FILE__). '/devel.xml');
26     $project_release_info = new \Drush\UpdateService\Project($xml);
27
28     // Pick specific release.
29     $release = $project_release_info->getSpecificRelease('6.x-1.18');
30     $this->assertEquals('6.x-1.18', $release['version']);
31
32     // Pick latest recommended+published with no further specification.
33     // 6.x-2.2 is skipped because it is unpublished.
34     // 6.x-2.2-rc1 is skipped because it is not a stable release.
35     $release = $project_release_info->getRecommendedOrSupportedRelease();
36     $this->assertEquals('6.x-2.1', $release['version']);
37
38     // Pick latest from a specific branch.
39     $release = $project_release_info->getSpecificRelease('6.x-1');
40     $this->assertEquals('6.x-1.23', $release['version']);
41
42     // Pick latest from a different branch.
43     // 6.x-2.2 is skipped because it is unpublished.
44     // 6.x-2.2-rc1 is skipped because it is not a stable release.
45     $release = $project_release_info->getSpecificRelease('6.x-2');
46     $this->assertEquals('6.x-2.1', $release['version']);
47
48     // Pick a -dev release.
49     $release = $project_release_info->getSpecificRelease('6.x-1.x');
50     $this->assertEquals('6.x-1.x-dev', $release['version']);
51
52     // Test UpdateServiceProject::getSpecificRelease().
53     // Test we get latest release in branch 1.
54     $release = $project_release_info->getSpecificRelease('6.x-1');
55     $this->assertEquals('6.x-1.23', $release['version']);
56
57     // Test UpdateServiceProject::getDevRelease().
58     $release = $project_release_info->getDevRelease();
59     $this->assertEquals('6.x-1.x-dev', $release['version']);
60   }
61 }