diff options
3 files changed, 167 insertions, 0 deletions
diff --git a/packages/SystemUI/tests/src/com/android/systemui/bubbles/storage/BubblePersistentRepositoryTest.kt b/packages/SystemUI/tests/src/com/android/systemui/bubbles/storage/BubblePersistentRepositoryTest.kt new file mode 100644 index 000000000000..d49d0219fa54 --- /dev/null +++ b/packages/SystemUI/tests/src/com/android/systemui/bubbles/storage/BubblePersistentRepositoryTest.kt @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.bubbles.storage + +import android.testing.AndroidTestingRunner +import androidx.test.filters.SmallTest +import com.android.systemui.SysuiTestCase +import junit.framework.Assert.assertEquals +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith + +@SmallTest +@RunWith(AndroidTestingRunner::class) +class BubblePersistentRepositoryTest : SysuiTestCase() { + + private val bubbles = listOf( + BubbleEntity(0, "com.example.messenger", "shortcut-1"), + BubbleEntity(10, "com.example.chat", "alice and bob"), + BubbleEntity(0, "com.example.messenger", "shortcut-2") + ) + private lateinit var repository: BubblePersistentRepository + + @Before + fun setup() { + repository = BubblePersistentRepository(mContext) + } + + @Test + fun testReadWriteOperation() { + repository.persistsToDisk(bubbles) + assertEquals(bubbles, repository.readFromDisk()) + } +}
\ No newline at end of file diff --git a/packages/SystemUI/tests/src/com/android/systemui/bubbles/storage/BubbleVolatileRepositoryTest.kt b/packages/SystemUI/tests/src/com/android/systemui/bubbles/storage/BubbleVolatileRepositoryTest.kt new file mode 100644 index 000000000000..7acc93712d9b --- /dev/null +++ b/packages/SystemUI/tests/src/com/android/systemui/bubbles/storage/BubbleVolatileRepositoryTest.kt @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.bubbles.storage + +import android.testing.AndroidTestingRunner +import androidx.test.filters.SmallTest +import com.android.systemui.SysuiTestCase +import junit.framework.Assert.assertEquals +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith + +@SmallTest +@RunWith(AndroidTestingRunner::class) +class BubbleVolatileRepositoryTest : SysuiTestCase() { + + private val bubble1 = BubbleEntity(0, "com.example.messenger", "shortcut-1") + private val bubble2 = BubbleEntity(10, "com.example.chat", "alice and bob") + private val bubble3 = BubbleEntity(0, "com.example.messenger", "shortcut-2") + private val bubbles = listOf(bubble1, bubble2, bubble3) + + private lateinit var repository: BubbleVolatileRepository + + @Before + fun setup() { + repository = BubbleVolatileRepository() + } + + @Test + fun testAddAndRemoveBubbles() { + repository.addBubbles(bubbles) + assertEquals(bubbles, repository.bubbles) + repository.addBubbles(listOf(bubble1)) + assertEquals(listOf(bubble2, bubble3, bubble1), repository.bubbles) + repository.removeBubbles(listOf(bubble3)) + assertEquals(listOf(bubble2, bubble1), repository.bubbles) + } +}
\ No newline at end of file diff --git a/packages/SystemUI/tests/src/com/android/systemui/bubbles/storage/BubbleXmlHelperTest.kt b/packages/SystemUI/tests/src/com/android/systemui/bubbles/storage/BubbleXmlHelperTest.kt new file mode 100644 index 000000000000..ef4580c6b28d --- /dev/null +++ b/packages/SystemUI/tests/src/com/android/systemui/bubbles/storage/BubbleXmlHelperTest.kt @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.bubbles.storage + +import android.testing.AndroidTestingRunner +import androidx.test.filters.SmallTest +import com.android.systemui.SysuiTestCase +import junit.framework.Assert.assertEquals +import junit.framework.Assert.assertTrue +import org.junit.Test +import org.junit.runner.RunWith +import java.io.ByteArrayInputStream +import java.io.ByteArrayOutputStream + +@SmallTest +@RunWith(AndroidTestingRunner::class) +class BubbleXmlHelperTest : SysuiTestCase() { + + private val bubbles = listOf( + BubbleEntity(0, "com.example.messenger", "shortcut-1"), + BubbleEntity(10, "com.example.chat", "alice and bob"), + BubbleEntity(0, "com.example.messenger", "shortcut-2") + ) + + @Test + fun testWriteXml() { + val expectedEntries = """ + <bb uid="0" pkg="com.example.messenger" sid="shortcut-1" /> + <bb uid="10" pkg="com.example.chat" sid="alice and bob" /> + <bb uid="0" pkg="com.example.messenger" sid="shortcut-2" /> + """.trimIndent() + ByteArrayOutputStream().use { + writeXml(it, bubbles) + val actual = it.toString() + assertTrue("cannot find expected entry in \n$actual", + actual.contains(expectedEntries)) + } + } + + @Test + fun testReadXml() { + val src = """ + <?xml version='1.0' encoding='utf-8' standalone='yes' ?> + <bs> + <bb uid="0" pkg="com.example.messenger" sid="shortcut-1" /> + <bb uid="10" pkg="com.example.chat" sid="alice and bob" /> + <bb uid="0" pkg="com.example.messenger" sid="shortcut-2" /> + </bs> + """.trimIndent() + val actual = readXml(ByteArrayInputStream(src.toByteArray(Charsets.UTF_8))) + assertEquals("failed parsing bubbles from xml\n$src", bubbles, actual) + } +}
\ No newline at end of file |