mirror of https://github.com/tasks/tasks
Add OCOwnerPrincipal property
parent
af28d42e2e
commit
4e36ddcd74
@ -0,0 +1,19 @@
|
||||
package org.tasks.caldav.property
|
||||
|
||||
import at.bitfire.dav4jvm.Property
|
||||
import at.bitfire.dav4jvm.PropertyFactory
|
||||
import at.bitfire.dav4jvm.XmlUtils
|
||||
import org.xmlpull.v1.XmlPullParser
|
||||
|
||||
data class OCOwnerPrincipal(val owner: String): Property {
|
||||
companion object {
|
||||
@JvmField
|
||||
val NAME = Property.Name(PropertyUtils.NS_OWNCLOUD, "owner-principal")
|
||||
}
|
||||
|
||||
class Factory: PropertyFactory {
|
||||
override fun getName() = NAME
|
||||
override fun create(parser: XmlPullParser): OCOwnerPrincipal? =
|
||||
XmlUtils.readText(parser)?.let { OCOwnerPrincipal(it) }
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
package org.tasks.caldav.property
|
||||
|
||||
import at.bitfire.dav4jvm.PropertyFactory
|
||||
import at.bitfire.dav4jvm.PropertyRegistry
|
||||
|
||||
object PropertyUtils {
|
||||
const val NS_OWNCLOUD = "http://owncloud.org/ns"
|
||||
|
||||
fun PropertyRegistry.register(vararg factories: PropertyFactory) = register(factories.toList())
|
||||
}
|
||||
@ -0,0 +1,22 @@
|
||||
package org.tasks.caldav.property
|
||||
|
||||
import at.bitfire.dav4jvm.PropertyRegistry
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
import org.tasks.caldav.property.TestPropertyUtils.toProperty
|
||||
|
||||
class OCOwnerPrincipalTest {
|
||||
@Before
|
||||
fun setUp() {
|
||||
PropertyRegistry.register(OCOwnerPrincipal.Factory())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun ownerPrincipal() {
|
||||
val owner = "<oc:owner-principal>principals/users/test</oc:owner-principal>"
|
||||
.toProperty<OCOwnerPrincipal>("oc='${PropertyUtils.NS_OWNCLOUD}'")
|
||||
|
||||
assertEquals("principals/users/test", owner.owner)
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue