36 lines
1005 B
Kotlin
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())
|
|
|
|
}
|
|
} |