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()) } }