Selaa lähdekoodia

[tests] add failing tests for known unbound ttp hxb issues

Rudy Ges 1 vuosi sitten
vanhempi
commit
7e32aacfd3

+ 24 - 0
tests/server/src/cases/ServerTests.hx

@@ -446,6 +446,30 @@ class ServerTests extends TestCase {
 		assertSuccess();
 	}
 
+	function testHxbUnbound1() {
+		vfs.putContent("Main.hx", getTemplate("hxb/UnboundLocalFunGeneric.hx"));
+		var args = ["-main", "Main"];
+		runHaxe(args);
+		assertSuccess();
+		Assert.equals("", lastResult.stderr);
+	}
+
+	function testHxbUnbound2() {
+		vfs.putContent("Main.hx", getTemplate("hxb/UnboundAbstractUnderlyingAnonField.hx"));
+		var args = ["-main", "Main"];
+		runHaxe(args);
+		assertSuccess();
+		Assert.equals("", lastResult.stderr);
+
+		runHaxe(args);
+		assertSuccess();
+		Assert.equals("", lastResult.stderr);
+
+		runHaxe(args);
+		assertSuccess();
+		Assert.equals("", lastResult.stderr);
+	}
+
 	// See https://github.com/HaxeFoundation/haxe/issues/8368#issuecomment-525379060
 	#if false
 	function testXRedefinedFromX() {

+ 11 - 0
tests/server/test/templates/hxb/UnboundAbstractUnderlyingAnonField.hx

@@ -0,0 +1,11 @@
+function main() {}
+
+typedef Foo = {
+	function get<TField>():Null<TField>;
+}
+
+abstract HaxeMemento(Foo) {
+	public function getInner<TAbstract>():Null<TAbstract> {
+		return this.get();
+	}
+}

+ 11 - 0
tests/server/test/templates/hxb/UnboundLocalFunGeneric.hx

@@ -0,0 +1,11 @@
+class Main {
+	static function main() {
+		function foo<T>(arr:Array<T>) sortDesc(arr);
+
+		foo([""]);
+		foo([42]);
+	}
+
+	@:generic
+	public inline static function sortDesc<T>(array : Array<T>) {}
+}