Skip to content

Commit 3369550

Browse files
committed
Move helper method to utility class, simplify test
1 parent edd87d1 commit 3369550

4 files changed

Lines changed: 28 additions & 73 deletions

File tree

org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/edit/LSPEclipseUtilsTest.java

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,7 @@
1313
*******************************************************************************/
1414
package org.eclipse.lsp4e.test.edit;
1515

16-
import static org.junit.jupiter.api.Assertions.assertEquals;
17-
import static org.junit.jupiter.api.Assertions.assertFalse;
18-
import static org.junit.jupiter.api.Assertions.assertNotEquals;
19-
import static org.junit.jupiter.api.Assertions.assertNotNull;
20-
import static org.junit.jupiter.api.Assertions.assertNull;
21-
import static org.junit.jupiter.api.Assertions.assertTrue;
16+
import static org.junit.jupiter.api.Assertions.*;
2217

2318
import java.io.ByteArrayInputStream;
2419
import java.io.ByteArrayOutputStream;
@@ -81,6 +76,7 @@
8176
import org.junit.jupiter.api.io.TempDir;
8277
import org.junit.jupiter.params.ParameterizedTest;
8378
import org.junit.jupiter.params.provider.Arguments;
79+
import org.junit.jupiter.params.provider.CsvSource;
8480
import org.junit.jupiter.params.provider.MethodSource;
8581

8682
public class LSPEclipseUtilsTest extends AbstractTestWithProject {
@@ -637,5 +633,18 @@ public static Stream<Arguments> getHtmlDocString() {
637633
void getHtmlDocString(Either<@Nullable String, MarkupContent> arg, String expected) throws Exception {
638634
assertEquals(expected, LSPEclipseUtils.getHtmlDocString(arg));
639635
}
636+
637+
@ParameterizedTest
638+
@CsvSource({
639+
"file:///C:/Users/username/path/to/SomeDir/SomeType.hpp, SomeType.hpp",
640+
"file:///home/username/path/to/SomeDir/SomeType.hpp, SomeType.hpp",
641+
"file:///,"
642+
})
643+
public void testReadingFileNameFromUri(String uriText, String expectedFileName) throws Exception {
644+
URI uri = URI.create(uriText);
645+
646+
String actualFileName = assertDoesNotThrow(() -> LSPEclipseUtils.getFileName(uri));
647+
assertEquals(expectedFileName, actualFileName);
648+
}
640649

641650
}

org.eclipse.lsp4e.test/src/org/eclipse/lsp4e/test/operations/symbols/SymbolIconProviderRegistryTest.java

Lines changed: 0 additions & 56 deletions
This file was deleted.

org.eclipse.lsp4e/src/org/eclipse/lsp4e/LSPEclipseUtils.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
*******************************************************************************/
2222
package org.eclipse.lsp4e;
2323

24-
import static org.eclipse.lsp4e.internal.NullSafetyHelper.castNonNull;
24+
import static org.eclipse.lsp4e.internal.NullSafetyHelper.*;
2525

2626
import java.io.ByteArrayInputStream;
2727
import java.io.ByteArrayOutputStream;
@@ -431,6 +431,15 @@ public static CallHierarchyPrepareParams toCallHierarchyPrepareParams(int offset
431431
return toPath(toBuffer(document));
432432
}
433433

434+
public static @Nullable String getFileName(URI uri) {
435+
try {
436+
return java.nio.file.Path.of(uri).getFileName().toString();
437+
} catch (Exception e) {
438+
LanguageServerPlugin.logWarning("Failed to parse file name from URI " + uri, e); //$NON-NLS-1$
439+
}
440+
return null;
441+
}
442+
434443
public static int toEclipseMarkerSeverity(@Nullable DiagnosticSeverity lspSeverity) {
435444
if (lspSeverity == null) {
436445
// if severity is empty it is up to the client to interpret diagnostics

org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/symbols/internal/SymbolIconProviderRegistry.java

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
package org.eclipse.lsp4e.operations.symbols.internal;
1313

1414
import java.net.URI;
15-
import java.nio.file.Path;
1615
import java.util.HashMap;
1716
import java.util.Map;
1817

@@ -22,6 +21,7 @@
2221
import org.eclipse.core.runtime.Platform;
2322
import org.eclipse.core.runtime.content.IContentType;
2423
import org.eclipse.jdt.annotation.Nullable;
24+
import org.eclipse.lsp4e.LSPEclipseUtils;
2525
import org.eclipse.lsp4e.LanguageServerPlugin;
2626
import org.eclipse.lsp4e.outline.SymbolsModel.DocumentSymbolWithURI;
2727
import org.eclipse.lsp4e.ui.SymbolIconProvider;
@@ -106,11 +106,8 @@ private SymbolIconProvider getIconProvider(Object symbol) {
106106
return defaultIconProvider;
107107
}
108108

109-
String fileName = null;
110-
try {
111-
fileName = getFileName(uri);
112-
} catch (Exception e) {
113-
LanguageServerPlugin.logWarning("Failed to parse file name from URI " + uri, e); //$NON-NLS-1$
109+
String fileName = LSPEclipseUtils.getFileName(uri);
110+
if (fileName == null) {
114111
return defaultIconProvider;
115112
}
116113

@@ -129,10 +126,6 @@ private SymbolIconProvider getIconProvider(Object symbol) {
129126
return defaultIconProvider;
130127
}
131128

132-
private String getFileName(URI uri) {
133-
return Path.of(uri).getFileName().toString();
134-
}
135-
136129
private @Nullable URI getUri(Object symbol) {
137130
return switch (symbol) {
138131
case SymbolInformation info -> toUri(info.getLocation().getUri());

0 commit comments

Comments
 (0)