File tree Expand file tree Collapse file tree 3 files changed +18
-8
lines changed
commonMain/kotlin/com.adamratzman.spotify/models
commonTest/kotlin/com.adamratzman/spotify/utilities Expand file tree Collapse file tree 3 files changed +18
-8
lines changed Original file line number Diff line number Diff line change @@ -10,9 +10,9 @@ import kotlinx.serialization.Serializer
1010import kotlinx.serialization.internal.StringDescriptor
1111
1212private fun String.matchType (type : String ): String? {
13- val typeRegex = " ^spotify:(?:.*:)*$type :([^:]+ )(?::.*)*$|^([^:]+)$" .toRegex()
13+ val typeRegex = " ^spotify:(?:.*:)*$type :([^:]* )(?::.*)*$|^([^:]+)$" .toRegex()
1414 val match = typeRegex.matchEntire(this )?.groupValues ? : return null
15- return match[1 ].takeIf { it.isNotEmpty () } ? : match[2 ].takeIf { it.isNotEmpty() }
15+ return match[1 ].takeIf { it.isNotBlank() || match[ 2 ].isEmpty () } ? : match[2 ].takeIf { it.isNotEmpty() }
1616}
1717
1818private fun String.add (type : String ): String {
Original file line number Diff line number Diff line change @@ -8,15 +8,15 @@ import com.adamratzman.spotify.models.ArtistUri
88import com.adamratzman.spotify.models.CursorBasedPagingObject
99import com.adamratzman.spotify.models.PagingObject
1010import com.adamratzman.spotify.models.Track
11+ import kotlin.test.assertEquals
12+ import kotlin.test.assertTrue
1113import kotlinx.serialization.ImplicitReflectionSerializer
1214import kotlinx.serialization.UnstableDefault
1315import kotlinx.serialization.internal.nullable
1416import kotlinx.serialization.json.Json
1517import kotlinx.serialization.parse
1618import org.spekframework.spek2.Spek
1719import org.spekframework.spek2.style.specification.describe
18- import kotlin.test.assertEquals
19- import kotlin.test.assertTrue
2020
2121@ImplicitReflectionSerializer
2222@UnstableDefault
Original file line number Diff line number Diff line change @@ -10,14 +10,14 @@ import com.adamratzman.spotify.models.SpotifyUri
1010import com.adamratzman.spotify.models.SpotifyUriException
1111import com.adamratzman.spotify.models.TrackUri
1212import com.adamratzman.spotify.models.UserUri
13- import kotlinx.serialization.json.Json
14- import kotlinx.serialization.json.JsonConfiguration
15- import org.spekframework.spek2.Spek
16- import org.spekframework.spek2.style.specification.describe
1713import kotlin.test.assertEquals
1814import kotlin.test.assertFailsWith
1915import kotlin.test.assertFalse
2016import kotlin.test.assertTrue
17+ import kotlinx.serialization.json.Json
18+ import kotlinx.serialization.json.JsonConfiguration
19+ import org.spekframework.spek2.Spek
20+ import org.spekframework.spek2.style.specification.describe
2121
2222class UrisTests : Spek ({
2323 describe("Uris tests") {
@@ -220,6 +220,16 @@ class UrisTests : Spek({
220220 "7r7uq6qxa4ymx3wnjd9mm6i83",
221221 UserUri ("spotify:user:7r7uq6qxa4ymx3wnjd9mm6i83:playlist:66wcLiS5R50akaQ3onDyZd").id
222222 )
223+
224+ assertEquals(
225+ "spotify:user:",
226+ UserUri ("spotify:user:").uri
227+ )
228+
229+ assertEquals(
230+ "",
231+ UserUri ("spotify:user:").id
232+ )
223233 }
224234 }
225235
You can’t perform that action at this time.
0 commit comments