parsec3/src/jsTest/kotlin/testBrowserKVStorage.kt

36 lines
1005 B
Kotlin

import kotlinx.browser.sessionStorage
import net.sergeych.parsec3.BrowserKVStorage
import net.sergeych.parsec3.optStored
import kotlin.test.*
class testBrowserKVStorage {
@Test
fun testStorage() {
val st = BrowserKVStorage("tpr", sessionStorage)
var foo: String? by st.optStored()
assertNull(foo)
foo = "bar"
assertEquals("bar", foo)
println(st.keys)
assertTrue { "foo" in st.keys }
assertFalse { "bar" in st.keys }
var bar: Int? by st.optStored()
assertNull(bar)
bar = 42
assertEquals(42, bar)
assertTrue { "foo" in st.keys }
assertTrue { "bar" in st.keys }
assertEquals("bar", foo)
val st2 = BrowserKVStorage("tpr", sessionStorage)
val foo2: String? by st.optStored(overrideName = "foo")
assertEquals("bar", foo2)
assertTrue(st2.isNotEmpty())
assertTrue(st.isNotEmpty())
st.clear()
assertTrue(st.isEmpty())
}
}