Browse Source

test for #5486 (closes #5486)

Aleksandr Kuzmenko 6 years ago
parent
commit
3385d1c4dc
1 changed files with 32 additions and 0 deletions
  1. 32 0
      tests/unit/src/unit/issues/Issue5486.hx

+ 32 - 0
tests/unit/src/unit/issues/Issue5486.hx

@@ -0,0 +1,32 @@
+package unit.issues;
+
+import haxe.ds.Option;
+
+class Issue5486 extends unit.Test {
+	function test() {
+		function check(v) {
+			switch v {
+				case Some(10): noAssert();
+				case _: assert();
+			}
+		}
+
+		var inputDynamic:Dynamic = 10;
+		var inputNullDynamic:Null<Dynamic> = 10;
+		var x:Option<Int>;
+		x = Some(inputDynamic);
+		check(x);
+		x = Some(inputNullDynamic);
+		check(x);
+
+		check(broken(10));
+	}
+
+	static function broken(?input:Dynamic):Option<Int>{
+		if(Std.is(input, Int)){
+			return Some(input);
+		} else {
+			return None;
+		}
+	}
+}