aboutsummaryrefslogtreecommitdiff
path: root/core/content-matcher-test-utils/src
diff options
context:
space:
mode:
Diffstat (limited to 'core/content-matcher-test-utils/src')
-rw-r--r--core/content-matcher-test-utils/src/main/kotlin/matchers/content/ContentMatchersDsl.kt18
1 files changed, 18 insertions, 0 deletions
diff --git a/core/content-matcher-test-utils/src/main/kotlin/matchers/content/ContentMatchersDsl.kt b/core/content-matcher-test-utils/src/main/kotlin/matchers/content/ContentMatchersDsl.kt
index 08442536..13780718 100644
--- a/core/content-matcher-test-utils/src/main/kotlin/matchers/content/ContentMatchersDsl.kt
+++ b/core/content-matcher-test-utils/src/main/kotlin/matchers/content/ContentMatchersDsl.kt
@@ -3,6 +3,7 @@ package matchers.content
import assertk.assertThat
import assertk.assertions.contains
import assertk.assertions.isEqualTo
+import assertk.assertions.isNotNull
import org.jetbrains.dokka.model.withDescendants
import org.jetbrains.dokka.pages.*
import org.jetbrains.dokka.test.tools.matchers.content.*
@@ -70,6 +71,23 @@ fun ContentMatcherBuilder<*>.skipAllNotMatching() {
// Convenience functions:
fun ContentMatcherBuilder<*>.group(block: ContentMatcherBuilder<ContentGroup>.() -> Unit) = composite(block)
+fun ContentMatcherBuilder<*>.tabbedGroup(
+ block: ContentMatcherBuilder<ContentGroup>.() -> Unit
+) = composite<ContentGroup> {
+ block()
+ check { assertThat(this::style).transform { style -> style.contains(ContentStyle.TabbedContent) }.isEqualTo(true) }
+}
+
+fun ContentMatcherBuilder<*>.tab(
+ tabbedContentType: TabbedContentType, block: ContentMatcherBuilder<ContentGroup>.() -> Unit
+) = composite<ContentGroup> {
+ block()
+ check {
+ assertThat(this::extra).transform { extra -> extra[TabbedContentTypeExtra]?.value }
+ .isEqualTo(tabbedContentType)
+ }
+}
+
fun ContentMatcherBuilder<*>.header(expectedLevel: Int? = null, block: ContentMatcherBuilder<ContentHeader>.() -> Unit) =
composite<ContentHeader> {
block()