diff options
author | ilya-g <ilya.gorbunov@jetbrains.com> | 2023-02-17 16:42:28 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-17 16:42:28 +0100 |
commit | 1fd045904e94d68878b3a5f748bf20f7c61a1cf7 (patch) | |
tree | 6e5e63033f654abc4e5c61278a4eeb39330977be /plugins/base/src/test/kotlin/renderers | |
parent | daed35f92b3b482688856d139da6849c8e6b4ab1 (diff) | |
download | dokka-1fd045904e94d68878b3a5f748bf20f7c61a1cf7.tar.gz dokka-1fd045904e94d68878b3a5f748bf20f7c61a1cf7.tar.bz2 dokka-1fd045904e94d68878b3a5f748bf20f7c61a1cf7.zip |
Consistent alphabetical order of element groups in index and navigation (#2861)
* Sort groups of divergent elements by their key first ignoring case, then preserving it
* Add tests for sorting groups and navigation
Diffstat (limited to 'plugins/base/src/test/kotlin/renderers')
-rw-r--r-- | plugins/base/src/test/kotlin/renderers/html/NavigationTest.kt | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/plugins/base/src/test/kotlin/renderers/html/NavigationTest.kt b/plugins/base/src/test/kotlin/renderers/html/NavigationTest.kt index 13a9e711..21b4ea3c 100644 --- a/plugins/base/src/test/kotlin/renderers/html/NavigationTest.kt +++ b/plugins/base/src/test/kotlin/renderers/html/NavigationTest.kt @@ -20,6 +20,80 @@ class NavigationTest : BaseAbstractTest() { } @Test + fun `should sort alphabetically ignoring case`() { + val writerPlugin = TestOutputWriterPlugin() + testInline( + """ + |/src/main/kotlin/com/example/Sequences.kt + |package com.example + | + |fun <T> sequence(): Sequence<T> + | + |fun <T> Sequence(): Sequence<T> + | + |fun <T> Sequence<T>.any() {} + | + |interface Sequence<T> + """.trimMargin(), + configuration, + pluginOverrides = listOf(writerPlugin) + ) { + renderingStage = { _, _ -> + val content = writerPlugin.writer.navigationHtml().select("div.sideMenuPart") + assertEquals(6, content.size) + + // Navigation menu should be the following: + // - root + // - com.example + // - any() + // - Sequence interface + // - Sequence() + // - sequence() + + content[0].assertNavigationLink( + id = "root-nav-submenu", + text = "root", + address = "index.html", + ) + + content[1].assertNavigationLink( + id = "root-nav-submenu-0", + text = "com.example", + address = "root/com.example/index.html", + ) + + content[2].assertNavigationLink( + id = "root-nav-submenu-0-0", + text = "any()", + address = "root/com.example/any.html", + icon = NavigationNodeIcon.FUNCTION + ) + + content[3].assertNavigationLink( + id = "root-nav-submenu-0-1", + text = "Sequence", + address = "root/com.example/-sequence/index.html", + icon = NavigationNodeIcon.INTERFACE_KT + ) + + content[4].assertNavigationLink( + id = "root-nav-submenu-0-2", + text = "Sequence()", + address = "root/com.example/-sequence.html", + icon = NavigationNodeIcon.FUNCTION + ) + + content[5].assertNavigationLink( + id = "root-nav-submenu-0-3", + text = "sequence()", + address = "root/com.example/sequence.html", + icon = NavigationNodeIcon.FUNCTION + ) + } + } + } + + @Test fun `should strike deprecated class link`() { val writerPlugin = TestOutputWriterPlugin() testInline( |