mirror of
https://github.com/mamoe/mirai.git
synced 2025-03-03 23:22:29 +08:00
Add ConsoleDataScopeImpl.set for test onlyˆ
This commit is contained in:
parent
603e29d739
commit
b1d66c0d20
@ -15,6 +15,7 @@ import net.mamoe.mirai.console.data.AutoSavePluginDataHolder
|
|||||||
import net.mamoe.mirai.console.data.PluginConfig
|
import net.mamoe.mirai.console.data.PluginConfig
|
||||||
import net.mamoe.mirai.console.data.PluginData
|
import net.mamoe.mirai.console.data.PluginData
|
||||||
import net.mamoe.mirai.console.data.PluginDataStorage
|
import net.mamoe.mirai.console.data.PluginDataStorage
|
||||||
|
import net.mamoe.mirai.utils.TestOnly
|
||||||
import net.mamoe.mirai.utils.childScope
|
import net.mamoe.mirai.utils.childScope
|
||||||
import net.mamoe.mirai.utils.minutesToMillis
|
import net.mamoe.mirai.utils.minutesToMillis
|
||||||
import java.util.concurrent.ConcurrentLinkedQueue
|
import java.util.concurrent.ConcurrentLinkedQueue
|
||||||
@ -45,6 +46,15 @@ internal class ConsoleDataScopeImpl(
|
|||||||
return (data.find { type.isInstance(it) } ?: configs.find { type.isInstance(it) }) as T?
|
return (data.find { type.isInstance(it) } ?: configs.find { type.isInstance(it) }) as T?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set and override, for tests only.
|
||||||
|
*/
|
||||||
|
@TestOnly
|
||||||
|
inline fun <reified T : PluginData> set(value: T) {
|
||||||
|
data.removeIf { value::class.isInstance(it) }
|
||||||
|
data.add(value)
|
||||||
|
}
|
||||||
|
|
||||||
override fun reloadAll() {
|
override fun reloadAll() {
|
||||||
data.forEach { dt ->
|
data.forEach { dt ->
|
||||||
dataStorage.load(dataHolder, dt)
|
dataStorage.load(dataHolder, dt)
|
||||||
|
Loading…
Reference in New Issue
Block a user