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
10
10
import kotlinx.serialization.internal.StringDescriptor
11
11
12
12
private fun String.matchType (type : String ): String? {
13
- val typeRegex = " ^spotify:(?:.*:)*$type :([^:]+ )(?::.*)*$|^([^:]+)$" .toRegex()
13
+ val typeRegex = " ^spotify:(?:.*:)*$type :([^:]* )(?::.*)*$|^([^:]+)$" .toRegex()
14
14
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() }
16
16
}
17
17
18
18
private 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
8
8
import com.adamratzman.spotify.models.CursorBasedPagingObject
9
9
import com.adamratzman.spotify.models.PagingObject
10
10
import com.adamratzman.spotify.models.Track
11
+ import kotlin.test.assertEquals
12
+ import kotlin.test.assertTrue
11
13
import kotlinx.serialization.ImplicitReflectionSerializer
12
14
import kotlinx.serialization.UnstableDefault
13
15
import kotlinx.serialization.internal.nullable
14
16
import kotlinx.serialization.json.Json
15
17
import kotlinx.serialization.parse
16
18
import org.spekframework.spek2.Spek
17
19
import org.spekframework.spek2.style.specification.describe
18
- import kotlin.test.assertEquals
19
- import kotlin.test.assertTrue
20
20
21
21
@ImplicitReflectionSerializer
22
22
@UnstableDefault
Original file line number Diff line number Diff line change @@ -10,14 +10,14 @@ import com.adamratzman.spotify.models.SpotifyUri
10
10
import com.adamratzman.spotify.models.SpotifyUriException
11
11
import com.adamratzman.spotify.models.TrackUri
12
12
import 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
17
13
import kotlin.test.assertEquals
18
14
import kotlin.test.assertFailsWith
19
15
import kotlin.test.assertFalse
20
16
import 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
21
21
22
22
class UrisTests : Spek ({
23
23
describe("Uris tests") {
@@ -220,6 +220,16 @@ class UrisTests : Spek({
220
220
"7r7uq6qxa4ymx3wnjd9mm6i83",
221
221
UserUri ("spotify:user:7r7uq6qxa4ymx3wnjd9mm6i83:playlist:66wcLiS5R50akaQ3onDyZd").id
222
222
)
223
+
224
+ assertEquals(
225
+ "spotify:user:",
226
+ UserUri ("spotify:user:").uri
227
+ )
228
+
229
+ assertEquals(
230
+ "",
231
+ UserUri ("spotify:user:").id
232
+ )
223
233
}
224
234
}
225
235
You can’t perform that action at this time.
0 commit comments