Parcourir la source

[display] expose filterString and add tests

closes #8651
closes #8659
Simon Krajewski il y a 6 ans
Parent
commit
e3de9627e6
2 fichiers modifiés avec 27 ajouts et 0 suppressions
  1. 1 0
      std/haxe/display/Display.hx
  2. 26 0
      tests/server/src/DisplayTests.hx

+ 1 - 0
std/haxe/display/Display.hx

@@ -435,6 +435,7 @@ typedef CompletionResponse<T1, T2> = {
 	var mode:CompletionMode<T2>;
 	var mode:CompletionMode<T2>;
 	var ?replaceRange:Range;
 	var ?replaceRange:Range;
 	var ?isIncomplete:Bool;
 	var ?isIncomplete:Bool;
+	var ?filterString:String;
 }
 }
 
 
 typedef CompletionResult = Response<Null<CompletionResponse<Dynamic, Dynamic>>>;
 typedef CompletionResult = Response<Null<CompletionResponse<Dynamic, Dynamic>>>;

+ 26 - 0
tests/server/src/DisplayTests.hx

@@ -150,4 +150,30 @@ typedef Foo = {
 			case _: false;
 			case _: false;
 		});
 		});
 	}
 	}
+
+	function testIssue8651() {
+		var content = "class Main { static function main() { {-1-}buffer{-2-} } }";
+		vfs.putContent("Main.hx", content);
+		var transform = Marker.extractMarkers(content);
+		vfs.putContent("Main.hx", transform.source);
+		runHaxeJson([], DisplayMethods.Completion, {file: new FsPath("Main.hx"), offset: transform.markers[2], wasAutoTriggered: true});
+		var result = parseCompletion();
+		var r = result.result;
+		Assert.equals("buffer", r.filterString);
+		Assert.equals(transform.markers[1], r.replaceRange.start.character);
+		Assert.equals(transform.markers[2], r.replaceRange.end.character);
+	}
+
+	function testIssue8659() {
+		var content = "class Main extends {-1-}StreamTokenizer{-2-} { }";
+		vfs.putContent("Main.hx", content);
+		var transform = Marker.extractMarkers(content);
+		vfs.putContent("Main.hx", transform.source);
+		runHaxeJson([], DisplayMethods.Completion, {file: new FsPath("Main.hx"), offset: transform.markers[2], wasAutoTriggered: true});
+		var result = parseCompletion();
+		var r = result.result;
+		Assert.equals("StreamTokenizer", r.filterString);
+		Assert.equals(transform.markers[1], r.replaceRange.start.character);
+		Assert.equals(transform.markers[2], r.replaceRange.end.character);
+	}
 }
 }