From 991e739693fde41ed34580fb182bf99c9095a0be Mon Sep 17 00:00:00 2001 From: Burak Eregar Date: Fri, 25 Jan 2019 00:18:26 +0000 Subject: [PATCH] KT-29151 Fix the problematic pages - CharSequence.take() & String.take() --- libraries/stdlib/common/src/generated/_Strings.kt | 4 ++-- libraries/stdlib/samples/test/samples/text/strings.kt | 6 ++++++ .../kotlin-stdlib-gen/src/templates/Filtering.kt | 11 +++++++---- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/libraries/stdlib/common/src/generated/_Strings.kt b/libraries/stdlib/common/src/generated/_Strings.kt index 3c9a2dc3490..67416bb8d11 100644 --- a/libraries/stdlib/common/src/generated/_Strings.kt +++ b/libraries/stdlib/common/src/generated/_Strings.kt @@ -455,7 +455,7 @@ public inline fun String.slice(indices: Iterable): String { /** * Returns a subsequence of this char sequence containing the first [n] characters from this char sequence, or the entire char sequence if this char sequence is shorter. * - * @sample samples.collections.Collections.Transformations.take + * @sample samples.text.Strings.take */ public fun CharSequence.take(n: Int): CharSequence { require(n >= 0) { "Requested character count $n is less than zero." } @@ -465,7 +465,7 @@ public fun CharSequence.take(n: Int): CharSequence { /** * Returns a string containing the first [n] characters from this string, or the entire string if this string is shorter. * - * @sample samples.collections.Collections.Transformations.take + * @sample samples.text.Strings.take */ public fun String.take(n: Int): String { require(n >= 0) { "Requested character count $n is less than zero." } diff --git a/libraries/stdlib/samples/test/samples/text/strings.kt b/libraries/stdlib/samples/test/samples/text/strings.kt index e0b6a540598..64c99932123 100644 --- a/libraries/stdlib/samples/test/samples/text/strings.kt +++ b/libraries/stdlib/samples/test/samples/text/strings.kt @@ -191,4 +191,10 @@ class Strings { assertPrints("Hot_Tea".commonSuffixWith("Hot_Coffee"), "") } + @Sample + fun take() { + val string = "Lorem Ipsum" + assertPrints(string.take(5), "Lorem") + } + } diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Filtering.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Filtering.kt index ee8aedcc542..e4aa0eed017 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/Filtering.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Filtering.kt @@ -128,12 +128,14 @@ object Filtering : TemplateGroupBase() { include(CharSequences, Strings, ArraysOfUnsigned) } builder { val n = "\$n" - doc { + doc { """ Returns a list containing first [n] elements. """ } - sample("samples.collections.Collections.Transformations.take") + specialFor(Iterables, Sequences, ArraysOfObjects, ArraysOfPrimitives) { + sample("samples.collections.Collections.Transformations.take") + } returns("List") body { """ @@ -155,12 +157,13 @@ object Filtering : TemplateGroupBase() { } specialFor(Strings, CharSequences) { + sample("samples.text.Strings.take") returns("SELF") specialFor(Strings) { - doc { "Returns a string containing the first [n] characters from this string, or the entire string if this string is shorter."} + doc { "Returns a string containing the first [n] characters from this string, or the entire string if this string is shorter." } } specialFor(CharSequences) { - doc { "Returns a subsequence of this char sequence containing the first [n] characters from this char sequence, or the entire char sequence if this char sequence is shorter."} + doc { "Returns a subsequence of this char sequence containing the first [n] characters from this char sequence, or the entire char sequence if this char sequence is shorter." } } } body(Strings, CharSequences) {