71 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace Tests\core\Update;
 | |
| 
 | |
| 
 | |
| use ManiaControl\ManiaControl;
 | |
| use ManiaControl\Update\UpdateManager;
 | |
| 
 | |
| final class UpdateManagerTest extends \PHPUnit_Framework_TestCase {
 | |
| 
 | |
| 	public function testBuildDate() {
 | |
| 		$maniaControl  = new ManiaControl();
 | |
| 		$updateManager = new UpdateManager($maniaControl);
 | |
| 
 | |
| 		$fileName = MANIACONTROL_PATH . "core" . DIRECTORY_SEPARATOR . UpdateManager::BUILD_DATE_FILE_NAME;
 | |
| 
 | |
| 		if(!file_exists($fileName)){
 | |
| 			$this->assertTrue($updateManager->setBuildDate("BuildDateTest-6543210"));
 | |
| 		}
 | |
| 
 | |
| 		$this->assertFileExists($fileName);
 | |
| 
 | |
| 		$buildDate = $updateManager->getBuildDate();
 | |
| 		$this->assertStringEqualsFile($fileName, $buildDate);
 | |
| 
 | |
| 		$this->assertTrue($updateManager->setBuildDate("BuildDateTest-0123456"));
 | |
| 		$this->assertEquals($updateManager->getBuildDate(), "BuildDateTest-0123456");
 | |
| 
 | |
| 		$this->assertStringEqualsFile($fileName, $updateManager->getBuildDate());
 | |
| 	}
 | |
| 
 | |
| 	public function testGetPluginUpdateManagerTest() {
 | |
| 		$maniaControl  = new ManiaControl();
 | |
| 		$updateManager = new UpdateManager($maniaControl);
 | |
| 
 | |
| 		$pluginUpdateManager = $updateManager->getPluginUpdateManager();
 | |
| 
 | |
| 		$this->assertInstanceOf("ManiaControl\\Update\\PluginUpdateManager", $pluginUpdateManager);
 | |
| 	}
 | |
| 
 | |
| 	public function testIsNightlyUpdateChannel() {
 | |
| 		$maniaControl  = new ManiaControl();
 | |
| 		$updateManager = new UpdateManager($maniaControl);
 | |
| 
 | |
| 		$this->assertTrue($updateManager->isNightlyUpdateChannel(UpdateManager::CHANNEL_NIGHTLY));
 | |
| 
 | |
| 		$isNightly = $updateManager->isNightlyUpdateChannel(null);
 | |
| 
 | |
| 		$this->assertEquals($updateManager->isNightlyUpdateChannel($updateManager->getCurrentUpdateChannelSetting()), $isNightly);
 | |
| 	}
 | |
| 
 | |
| 	public function testCoreUpdateAsync() {
 | |
| 		$maniaControl  = new ManiaControl();
 | |
| 
 | |
| 		$updateManager = $maniaControl->getUpdateManager();
 | |
| 
 | |
| 		$called = false;
 | |
| 		$function = function ($updateData) use (&$called){
 | |
| 			$called = true;
 | |
| 			$this->assertNotNull($updateData);
 | |
| 			$this->assertObjectHasAttribute("version", $updateData);
 | |
| 		};
 | |
| 
 | |
| 		$updateManager->checkCoreUpdateAsync($function);
 | |
| 
 | |
| 		$maniaControl->run(6);
 | |
| 
 | |
| 		$this->assertTrue($called);
 | |
| 	}
 | |
| }
 |