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.toString()).isEqualTo("gemini://gemini.circumlunar.space/~oppen/index.gmi")
|
||||||
assertThat(uri.path).isEqualTo("/~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")
|
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")
|
assertThat(uri.toString()).isEqualTo("gemini://gemini.circumlunar.space/~oppen/hello/world/index.gmi")
|
||||||
|
|
||||||
uri = builder.request("./foo/index.gmi").uri()
|
uri = builder.request("./foo/index.gmi").uri()
|
||||||
|
@ -70,4 +70,19 @@ class AddressTests {
|
||||||
val uri = builder.request("//mycapsule.com").uri()
|
val uri = builder.request("//mycapsule.com").uri()
|
||||||
assertThat(uri.toString()).isEqualTo("gemini://mycapsule.com")
|
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 oppen.toURI
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
import oppen.ariane.io.GemState
|
import oppen.ariane.io.GemState
|
||||||
|
import oppen.ariane.io.database.ArianeDatabase
|
||||||
import org.junit.Before
|
import org.junit.Before
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import org.junit.runner.RunWith
|
import org.junit.runner.RunWith
|
||||||
|
@ -32,10 +33,9 @@ class GeminiDatasourceTests {
|
||||||
val capsule = capsules.random()
|
val capsule = capsules.random()
|
||||||
println("Using $capsule for Gemini tests")
|
println("Using $capsule for Gemini tests")
|
||||||
capsuleIndex = capsules.indexOf(capsule)
|
capsuleIndex = capsules.indexOf(capsule)
|
||||||
gemini = Datasource.factory(
|
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
|
||||||
InstrumentationRegistry.getInstrumentation().targetContext,
|
val db = ArianeDatabase(appContext)
|
||||||
db.history()
|
gemini = Datasource.factory(InstrumentationRegistry.getInstrumentation().targetContext, db.history())
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
@ -18,8 +18,19 @@ class AddressBuilder {
|
||||||
fun request(link: String): AddressBuilder {
|
fun request(link: String): AddressBuilder {
|
||||||
val linkUri = Uri.parse(link)
|
val linkUri = Uri.parse(link)
|
||||||
when {
|
when {
|
||||||
linkUri.isAbsolute -> uri = linkUri
|
linkUri.isAbsolute -> {
|
||||||
linkUri.toString().startsWith("//") -> uri = Uri.parse("gemini:$link")
|
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 -> {
|
else -> {
|
||||||
val currentAddress = uri.toString()
|
val currentAddress = uri.toString()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue