56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
package tests;
 | 
						|
 | 
						|
import sys.FileSystem;
 | 
						|
import sys.io.*;
 | 
						|
import haxe.io.Path;
 | 
						|
import haxe.unit.TestCase;
 | 
						|
 | 
						|
class TestRemoveSymlinks extends TestBase
 | 
						|
{
 | 
						|
	//----------- properties, fields ------------//
 | 
						|
 | 
						|
	static var REPO = "haxelib-repo";
 | 
						|
	var lib:String = "symlinks";
 | 
						|
	var repo:String = null;
 | 
						|
	var origRepo:String;
 | 
						|
 | 
						|
	//--------------- constructor ---------------//
 | 
						|
	public function new()
 | 
						|
	{
 | 
						|
		super();
 | 
						|
		this.repo = Path.join([Sys.getCwd(), "test", REPO]);
 | 
						|
	}
 | 
						|
 | 
						|
	//--------------- initialize ----------------//
 | 
						|
 | 
						|
	override public function setup():Void
 | 
						|
	{
 | 
						|
		origRepo = ~/\r?\n/.split(runHaxelib(["config"]).stdout)[0];
 | 
						|
		origRepo = Path.normalize(origRepo);
 | 
						|
 | 
						|
		var libzip = Path.join([Sys.getCwd(), "test", "libraries", lib + ".zip"]);
 | 
						|
		if (runHaxelib(["setup", repo]).exitCode != 0) {
 | 
						|
			throw "haxelib setup failed";
 | 
						|
		}
 | 
						|
		if (runHaxelib(["local", libzip]).exitCode != 0) {
 | 
						|
			throw "haxelib local failed";
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	override public function tearDown():Void {
 | 
						|
		if (runHaxelib(["setup", origRepo]).exitCode != 0) {
 | 
						|
			throw "haxelib setup failed";
 | 
						|
		}
 | 
						|
		deleteDirectory(repo);
 | 
						|
	}
 | 
						|
 | 
						|
	//----------------- tests -------------------//
 | 
						|
 | 
						|
	public function testRemoveLibWithSymlinks():Void
 | 
						|
	{
 | 
						|
		var code = runHaxelib(["remove", lib]).exitCode;
 | 
						|
		assertEquals(code, 0);
 | 
						|
		assertFalse(FileSystem.exists(Path.join([repo, lib])));
 | 
						|
	}
 | 
						|
}
 |