mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-05 01:50:56 +07:00
[javadoc] Add a test for JavaDocExternalFilter reference conversion
GitOrigin-RevId: 61bc364b81230a8bc9307ec1e7112b3797eea423
This commit is contained in:
committed by
intellij-monorepo-bot
parent
910c9291bd
commit
72ef770aff
@@ -18,6 +18,7 @@ import com.intellij.util.Urls;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.TestOnly;
|
||||
import org.jetbrains.builtInWebServer.BuiltInServerOptions;
|
||||
import org.jetbrains.builtInWebServer.WebServerPathToFileManager;
|
||||
|
||||
@@ -152,4 +153,9 @@ public class JavaDocExternalFilter extends AbstractExternalFilter {
|
||||
protected @NotNull ParseSettings getParseSettings(@NotNull String url) {
|
||||
return url.endsWith(JavaDocumentationProvider.PACKAGE_SUMMARY_FILE) ? ourPackageInfoSettings : super.getParseSettings(url);
|
||||
}
|
||||
|
||||
@TestOnly
|
||||
public void setElement(PsiElement element) {
|
||||
myElement = element;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.java.codeInsight.javadoc
|
||||
|
||||
import com.intellij.codeInsight.javadoc.JavaDocExternalFilter
|
||||
import com.intellij.testFramework.LightJavaCodeInsightTestCase
|
||||
import kotlinx.coroutines.DelicateCoroutinesApi
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.future.future
|
||||
|
||||
class JavaExternalFilterTest: LightJavaCodeInsightTestCase() {
|
||||
|
||||
@OptIn(DelicateCoroutinesApi::class)
|
||||
fun testConvertReference() {
|
||||
val project = getProject()
|
||||
val psiFile = createFile("Test.java", "")
|
||||
|
||||
val filter = GlobalScope.future {
|
||||
val filter = JavaDocExternalFilter(project)
|
||||
filter.setElement(psiFile)
|
||||
return@future filter
|
||||
}.join()
|
||||
|
||||
assertEquals(
|
||||
filter.correctRefs("https://jetbrains.com", """<a href="#foo">""").trim(),
|
||||
"""<a href="psi_element://Test.java###foo">"""
|
||||
)
|
||||
assertEquals(
|
||||
filter.correctRefs("https://jetbrains.com", """<a href="/foo">""").trim(),
|
||||
"""<a href="https://jetbrains.com/foo">"""
|
||||
)
|
||||
assertEquals(
|
||||
filter.correctRefs("https://jetbrains.com", """<a href="/foo#bar">""").trim(),
|
||||
"""<a href="https://jetbrains.com/foo#bar">"""
|
||||
)
|
||||
assertEquals(
|
||||
filter.correctRefs("https://www.jetbrains.com", """<a href="//foo/bar">""").trim(),
|
||||
"""<a href="https://foo/bar">"""
|
||||
)
|
||||
assertEquals(
|
||||
filter.correctRefs("https://jetbrains.com", """<a href="//foo/bar#baz">""").trim(),
|
||||
"""<a href="https://foo/bar#baz">"""
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user