aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/SelectInputSpec.kt29
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/SelectOptGroupSpec.kt26
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/SelectOptionSpec.kt28
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/SelectSpec.kt31
4 files changed, 114 insertions, 0 deletions
diff --git a/src/test/kotlin/test/pl/treksoft/kvision/form/SelectInputSpec.kt b/src/test/kotlin/test/pl/treksoft/kvision/form/SelectInputSpec.kt
new file mode 100644
index 00000000..988fabbf
--- /dev/null
+++ b/src/test/kotlin/test/pl/treksoft/kvision/form/SelectInputSpec.kt
@@ -0,0 +1,29 @@
+package test.pl.treksoft.kvision.form
+
+import pl.treksoft.kvision.core.Root
+import pl.treksoft.kvision.form.SELECTWIDTHTYPE
+import pl.treksoft.kvision.form.SelectInput
+import test.pl.treksoft.kvision.DomSpec
+import kotlin.browser.document
+import kotlin.test.Test
+import kotlin.test.assertTrue
+
+class SelectInputSpec : DomSpec {
+
+ @Test
+ fun render() {
+ run {
+ val root = Root("test")
+ val selectInput = SelectInput(listOf("test1" to "Test 1", "test2" to "Test 2"), "test1", true).apply {
+ liveSearch = true
+ placeholder = "Choose ..."
+ selectWidthType = SELECTWIDTHTYPE.FIT
+ emptyOption = true
+ }
+ root.add(selectInput)
+ val element = document.getElementById("test")
+ assertTrue(true == element?.innerHTML?.endsWith("<select class=\"selectpicker\" multiple=\"\" data-live-search=\"true\" title=\"Choose ...\" data-style=\"btn-default\" data-width=\"fit\" tabindex=\"-98\"><option value=\"#kvnull\"></option><option value=\"test1\">Test 1</option><option value=\"test2\">Test 2</option></select></div>"), "Should render correct select input")
+ }
+ }
+
+} \ No newline at end of file
diff --git a/src/test/kotlin/test/pl/treksoft/kvision/form/SelectOptGroupSpec.kt b/src/test/kotlin/test/pl/treksoft/kvision/form/SelectOptGroupSpec.kt
new file mode 100644
index 00000000..5c77152e
--- /dev/null
+++ b/src/test/kotlin/test/pl/treksoft/kvision/form/SelectOptGroupSpec.kt
@@ -0,0 +1,26 @@
+package test.pl.treksoft.kvision.form
+
+import pl.treksoft.kvision.core.Root
+import pl.treksoft.kvision.form.SelectOptGroup
+import pl.treksoft.kvision.form.SelectOption
+import test.pl.treksoft.kvision.DomSpec
+import kotlin.browser.document
+import kotlin.test.Test
+import kotlin.test.assertEquals
+
+class SelectOptGroupSpec : DomSpec {
+
+ @Test
+ fun render() {
+ run {
+ val root = Root("test")
+ val selectOptGroup = SelectOptGroup("Group", listOf("test1" to "Test 1", "test2" to "Test 2"), 2)
+ root.add(selectOptGroup)
+ val element = document.getElementById("test")
+ assertEquals("<optgroup label=\"Group\" data-max-options=\"2\"><option value=\"test1\">Test 1</option><option value=\"test2\">Test 2</option></optgroup>", element?.innerHTML, "Should render correct select option group")
+ selectOptGroup.add(SelectOption("test3", "Test 3"))
+ assertEquals("<optgroup label=\"Group\" data-max-options=\"2\"><option value=\"test1\">Test 1</option><option value=\"test2\">Test 2</option><option value=\"test3\">Test 3</option></optgroup>", element?.innerHTML, "Should render correct select option group with added option")
+ }
+ }
+
+} \ No newline at end of file
diff --git a/src/test/kotlin/test/pl/treksoft/kvision/form/SelectOptionSpec.kt b/src/test/kotlin/test/pl/treksoft/kvision/form/SelectOptionSpec.kt
new file mode 100644
index 00000000..a1808d20
--- /dev/null
+++ b/src/test/kotlin/test/pl/treksoft/kvision/form/SelectOptionSpec.kt
@@ -0,0 +1,28 @@
+package test.pl.treksoft.kvision.form
+
+import pl.treksoft.kvision.core.Root
+import pl.treksoft.kvision.form.Password
+import pl.treksoft.kvision.form.SelectOption
+import test.pl.treksoft.kvision.DomSpec
+import kotlin.browser.document
+import kotlin.test.Test
+import kotlin.test.assertEquals
+
+class SelectOptionSpec : DomSpec {
+
+ @Test
+ fun render() {
+ run {
+ val root = Root("test")
+ val selectOption = SelectOption("testValue", "testLabel")
+ root.add(selectOption)
+ val element = document.getElementById("test")
+ assertEquals("<option value=\"testValue\">testLabel</option>", element?.innerHTML, "Should render correct select option")
+ selectOption.icon = "fa-flag"
+ assertEquals("<option value=\"testValue\" data-icon=\"fa fa-flag\">testLabel</option>", element?.innerHTML, "Should render correct select option with icon")
+ selectOption.divider = true
+ assertEquals("<option data-divider=\"true\"></option>", element?.innerHTML, "Should render correct divider option")
+ }
+ }
+
+} \ No newline at end of file
diff --git a/src/test/kotlin/test/pl/treksoft/kvision/form/SelectSpec.kt b/src/test/kotlin/test/pl/treksoft/kvision/form/SelectSpec.kt
new file mode 100644
index 00000000..92e4689a
--- /dev/null
+++ b/src/test/kotlin/test/pl/treksoft/kvision/form/SelectSpec.kt
@@ -0,0 +1,31 @@
+package test.pl.treksoft.kvision.form
+
+import pl.treksoft.kvision.core.Root
+import pl.treksoft.kvision.form.SELECTWIDTHTYPE
+import pl.treksoft.kvision.form.Select
+import test.pl.treksoft.kvision.DomSpec
+import kotlin.browser.document
+import kotlin.test.Test
+import kotlin.test.assertTrue
+
+class SelectSpec : DomSpec {
+
+ @Test
+ fun render() {
+ run {
+ val root = Root("test")
+ val select = Select(listOf("test1" to "Test 1", "test2" to "Test 2"), "test1", true, "Label").apply {
+ liveSearch = true
+ placeholder = "Choose ..."
+ selectWidthType = SELECTWIDTHTYPE.FIT
+ emptyOption = true
+ }
+ root.add(select)
+ val element = document.getElementById("test")
+ val id = select.input.id
+ assertTrue(true == element?.innerHTML?.startsWith("<div class=\"form-group\"><label for=\"$id\">Label</label>"), "Should render correct select form field")
+ assertTrue(true == element?.innerHTML?.endsWith("<select class=\"form-control selectpicker\" id=\"$id\" multiple=\"\" data-live-search=\"true\" title=\"Choose ...\" data-style=\"btn-default\" data-width=\"fit\" tabindex=\"-98\"><option value=\"#kvnull\"></option><option value=\"test1\">Test 1</option><option value=\"test2\">Test 2</option></select></div></div>"), "Should render correct select form field")
+ }
+ }
+
+} \ No newline at end of file