Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 055da9b7 authored by Ricki Hirner's avatar Ricki Hirner
Browse files

Always add FN also for vCard 4 (resolves bitfireAT/davx5#31); update dependencies

parent 6ae4fdbd
Loading
Loading
Loading
Loading
+2 −11
Original line number Diff line number Diff line

buildscript {
    ext.versions = [
        kotlin: '1.6.0',
        dokka: '1.5.0',
        kotlin: '1.6.10',
        dokka: '1.5.31',
        // latest Apache Commons versions that don't require Java 8 (Android 7)
        commonsIO: '2.6',
        commonsText: '1.3'
@@ -62,15 +62,6 @@ android {
    defaultConfig {
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    // TODO currently doesn't work with dokka 1.5.0, but dokka 0.10.1 doesn't work with new gradle
    /*dokka.configuration {
        sourceLink {
            remoteUrl.set(java.net.URL("https://gitlab.com/bitfireAT/vcard4android/tree/master/"))
            remoteLineSuffix.set("#L")
        }
        jdkVersion = 7
    }*/
}

dependencies {
+16 −20
Original line number Diff line number Diff line
@@ -116,11 +116,8 @@ class ContactWriter private constructor(val contact: Contact, val version: VCard
    }

    private fun addFormattedName() {
        if (version == VCardVersion.V4_0) {
            contact.displayName?.let { fn -> vCard.setFormattedName(fn) }

        } else /* version == VCardVersion.V3_0 */ {
        // vCard 3 REQUIRES FN [RFC 2426 p. 29]
        // vCard 4 REQUIRES FN [RFC 6350 6.2.1 FN]
        val fn =
            // use display name, if available
            StringUtils.trimToNull(contact.displayName) ?:
@@ -136,7 +133,6 @@ class ContactWriter private constructor(val contact: Contact, val version: VCard
            contact.uid ?: ""
        vCard.setFormattedName(fn)
    }
    }

    private fun addKindAndMembers() {
        if (contact.group) {
+6 −5
Original line number Diff line number Diff line
@@ -169,7 +169,7 @@ class ContactWriterTest {
    @Test
    fun testFn_vCard4_NoFn() {
        val vCard = generate(version = VCardVersion.V4_0) { }
        assertNull(vCard.formattedName)
        assertEquals("", vCard.formattedName.value)
    }

    @Test
@@ -432,7 +432,7 @@ class ContactWriterTest {
                values.add("nick1")
            })
        }
        assertEquals(2 /* NICK + REV */, vCard.properties.size)
        assertEquals(3 /* NICK + REV + FN */, vCard.properties.size)
        assertEquals("nick1", vCard.nickname.values.first())
    }

@@ -443,7 +443,7 @@ class ContactWriterTest {
                values.add("nick1")
            }, "label1")
        }
        assertEquals(3 /* NICK + X-ABLABEL + REV */, vCard.properties.size)
        assertEquals(4 /* NICK + X-ABLABEL + FN + REV */, vCard.properties.size)
        vCard.nickname.apply {
            assertEquals("nick1", values.first())
            assertEquals("item1", group)
@@ -464,7 +464,7 @@ class ContactWriterTest {
                values.add("nick1")
            }, "label1")
        }
        assertEquals(4 /* X-TEST + NICK + X-ABLABEL + REV */, vCard.properties.size)
        assertEquals(5 /* X-TEST + NICK + X-ABLABEL + FN + REV */, vCard.properties.size)
        vCard.nickname.apply {
            assertEquals("nick1", values.first())
            assertEquals("item2", group)
@@ -546,7 +546,7 @@ class ContactWriterTest {

        val stream = ByteArrayOutputStream()
        generator.writeCard(stream, true)
        assertEquals("[\"vcard\",[[\"version\",{},\"text\",\"4.0\"],[\"prodid\",{},\"text\",\"ez-vcard 0.11.3\"],[\"rev\",{},\"timestamp\",\"2021-07-30T01:02:03Z\"]]]", stream.toString())
        assertEquals("[\"vcard\",[[\"version\",{},\"text\",\"4.0\"],[\"prodid\",{},\"text\",\"ez-vcard 0.11.3\"],[\"fn\",{},\"text\",\"\"],[\"rev\",{},\"timestamp\",\"2021-07-30T01:02:03Z\"]]]", stream.toString())
    }


@@ -562,6 +562,7 @@ class ContactWriterTest {
        assertEquals("BEGIN:VCARD\r\n" +
                "VERSION:4.0\r\n" +
                "PRODID:ez-vcard 0.11.3\r\n" +
                "FN:\r\n" +
                "REV:20210730T010203Z\r\n" +
                "END:VCARD\r\n", stream.toString())
    }