Merge "Persists bubbles to disk (part 5)" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
7e8d487ea4
@@ -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())
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user