diff --git a/test/Lsp.Tests/Matchers/TextDocumentMatcherTests.cs b/test/Lsp.Tests/Matchers/TextDocumentMatcherTests.cs index 110473a89..68d494720 100644 --- a/test/Lsp.Tests/Matchers/TextDocumentMatcherTests.cs +++ b/test/Lsp.Tests/Matchers/TextDocumentMatcherTests.cs @@ -75,6 +75,30 @@ public void Should_Return_Did_Open_Text_Document_Handler_Descriptor() result.Should().Contain(x => x.Method == DocumentNames.DidOpen); } + [Fact] + public void Should_Return_Did_Open_Text_Document_Handler_Descriptor_With_Sepcial_Character() + { + // Given + var textDocumentSyncHandler = + TextDocumentSyncHandlerExtensions.With(DocumentSelector.ForPattern("**/*.cshtml")); + var collection = new HandlerCollection(SupportedCapabilitiesFixture.AlwaysTrue) { textDocumentSyncHandler }; + AutoSubstitute.Provide(collection); + AutoSubstitute.Provide>(collection); + var handlerMatcher = AutoSubstitute.Resolve(); + + // When + var result = handlerMatcher.FindHandler(new DidOpenTextDocumentParams() { + TextDocument = new TextDocumentItem { + Uri = new Uri("file://c:/users/myøasdf/d.cshtml") + } + }, + collection.Where(x => x.Method == DocumentNames.DidOpen)); + + // Then + result.Should().NotBeNullOrEmpty(); + result.Should().Contain(x => x.Method == DocumentNames.DidOpen); + } + [Fact] public void Should_Return_Did_Change_Text_Document_Descriptor() {