mirror of https://git.sr.ht/~oppen/ariane
fix path links
This commit is contained in:
parent
907cda5075
commit
43c1f7793e
|
@ -32,11 +32,11 @@ class AddressTests {
|
|||
assertThat(uri.toString()).isEqualTo("gemini://gemini.circumlunar.space/~oppen/index.gmi")
|
||||
assertThat(uri.path).isEqualTo("/~oppen/index.gmi")
|
||||
|
||||
uri = builder.request("/hello/index.gmi").uri()
|
||||
uri = builder.request("hello/index.gmi").uri()
|
||||
|
||||
assertThat(uri.toString()).isEqualTo("gemini://gemini.circumlunar.space/~oppen/hello/index.gmi")
|
||||
|
||||
uri = builder.request("/world/index.gmi").uri()
|
||||
uri = builder.request("world/index.gmi").uri()
|
||||
assertThat(uri.toString()).isEqualTo("gemini://gemini.circumlunar.space/~oppen/hello/world/index.gmi")
|
||||
|
||||
uri = builder.request("./foo/index.gmi").uri()
|
||||
|
@ -70,4 +70,19 @@ class AddressTests {
|
|||
val uri = builder.request("//mycapsule.com").uri()
|
||||
assertThat(uri.toString()).isEqualTo("gemini://mycapsule.com")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun pathTest(){
|
||||
val builder = AddressBuilder()
|
||||
var uri = builder
|
||||
.request("gemini://mycapsule.com")
|
||||
.request("hello/")
|
||||
.uri()
|
||||
assertThat(uri.toString()).isEqualTo("gemini://mycapsule.com/hello/index.gmi")
|
||||
|
||||
uri = builder.request("/world/").uri()
|
||||
|
||||
assertThat(uri.toString()).isEqualTo("gemini://mycapsule.com/world/index.gmi")
|
||||
|
||||
}
|
||||
}
|
|
@ -6,6 +6,7 @@ import oppen.ariane.Ariane
|
|||
import oppen.toURI
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import oppen.ariane.io.GemState
|
||||
import oppen.ariane.io.database.ArianeDatabase
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
|
@ -32,10 +33,9 @@ class GeminiDatasourceTests {
|
|||
val capsule = capsules.random()
|
||||
println("Using $capsule for Gemini tests")
|
||||
capsuleIndex = capsules.indexOf(capsule)
|
||||
gemini = Datasource.factory(
|
||||
InstrumentationRegistry.getInstrumentation().targetContext,
|
||||
db.history()
|
||||
)
|
||||
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
|
||||
val db = ArianeDatabase(appContext)
|
||||
gemini = Datasource.factory(InstrumentationRegistry.getInstrumentation().targetContext, db.history())
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -18,8 +18,19 @@ class AddressBuilder {
|
|||
fun request(link: String): AddressBuilder {
|
||||
val linkUri = Uri.parse(link)
|
||||
when {
|
||||
linkUri.isAbsolute -> uri = linkUri
|
||||
linkUri.toString().startsWith("//") -> uri = Uri.parse("gemini:$link")
|
||||
linkUri.isAbsolute -> {
|
||||
uri = linkUri
|
||||
}
|
||||
linkUri.toString().startsWith("//") -> {
|
||||
uri = Uri.parse("gemini:$link")
|
||||
}
|
||||
linkUri.toString().startsWith("/") -> {
|
||||
val pathLink = "${uri.scheme}://${uri.host}$linkUri"
|
||||
uri = when {
|
||||
pathLink.endsWith("/") -> Uri.parse("${pathLink}index.gmi")
|
||||
else -> Uri.parse(pathLink)
|
||||
}
|
||||
}
|
||||
else -> {
|
||||
val currentAddress = uri.toString()
|
||||
|
||||
|
|
Loading…
Reference in New Issue