diff --git a/spine/src/commonMain/kotlin/opensavvy.spine/Route.kt b/spine/src/commonMain/kotlin/opensavvy.spine/Route.kt index 181e67c..0d4781e 100644 --- a/spine/src/commonMain/kotlin/opensavvy.spine/Route.kt +++ b/spine/src/commonMain/kotlin/opensavvy.spine/Route.kt @@ -31,8 +31,8 @@ data class Route(val segments: List) { data class Segment(val segment: String) { init { for (char in segment) { - if (!char.isLetterOrDigit() && char != '-' && char != '.' && char != '_' && char != '~') - throw IllegalArgumentException("A route segment can only be composed of letter, digits, and the characters '-', '.', '_' and '~'; found character '$char' in segment '$segment'") + if (char == '&' || char == '/' || char == '?') + throw IllegalArgumentException("A route segment cannot be composed of the characters '&', '/', or '?'; found character '$char' in segment '$segment'") } } diff --git a/spine/src/commonTest/kotlin/opensavvy.spine/RouteTest.kt b/spine/src/commonTest/kotlin/opensavvy.spine/RouteTest.kt index 129b3ca..cd604c8 100644 --- a/spine/src/commonTest/kotlin/opensavvy.spine/RouteTest.kt +++ b/spine/src/commonTest/kotlin/opensavvy.spine/RouteTest.kt @@ -20,7 +20,6 @@ class RouteTest { assertEquals("test", (Route / "test").toString()) assertEquals("test35-7_12~.", (Route / "test35-7_12~.").toString()) - assertFails { Route / "test with a space" } assertFails { Route / "test/with/slashes" } }