diff --git a/web/core/src/jsTest/kotlin/StaticComposableTests.kt b/web/core/src/jsTest/kotlin/StaticComposableTests.kt
index 1b5dc868ee..9cb510b113 100644
--- a/web/core/src/jsTest/kotlin/StaticComposableTests.kt
+++ b/web/core/src/jsTest/kotlin/StaticComposableTests.kt
@@ -2,43 +2,29 @@ package org.jetbrains.compose.web.core.tests
import org.jetbrains.compose.web.css.*
import org.jetbrains.compose.web.dom.Div
-import org.jetbrains.compose.web.dom.Span
import org.jetbrains.compose.web.dom.Text
-import org.jetbrains.compose.web.renderComposable
-import org.w3c.dom.HTMLElement
-import org.w3c.dom.get
+import org.jetbrains.compose.web.testutils.runTest
import kotlin.test.Test
import kotlin.test.assertEquals
-import kotlin.test.assertTrue
-import org.jetbrains.compose.web.testutils.*
class StaticComposableTests {
@Test
- fun emptyComposable() {
- val root = "div".asHtmlElement()
- renderComposable(
- root = root
- ) {}
+ fun emptyComposable() = runTest {
+ composition {}
assertEquals("
", root.outerHTML)
}
@Test
- fun textChild() {
- val root = "div".asHtmlElement()
- renderComposable(
- root = root
- ) {
+ fun textChild() = runTest {
+ composition {
Text("inner text")
}
assertEquals("inner text
", root.outerHTML)
}
@Test
- fun attrs() {
- val root = "div".asHtmlElement()
- renderComposable(
- root = root
- ) {
+ fun attrs() = runTest {
+ composition {
Div(
attrs = {
classes("some", "simple", "classes")
@@ -50,8 +36,7 @@ class StaticComposableTests {
)
}
- val el = root.firstChild
- assertTrue(el is HTMLElement, "element not found")
+ val el = nextChild()
assertEquals("verySpecial", el.getAttribute("id"))
assertEquals("some simple classes", el.getAttribute("class"))
@@ -59,11 +44,8 @@ class StaticComposableTests {
}
@Test
- fun styles() {
- val root = "div".asHtmlElement()
- renderComposable(
- root = root
- ) {
+ fun styles() = runTest {
+ composition {
Div(
{
style {
@@ -76,135 +58,6 @@ class StaticComposableTests {
)
}
- assertEquals("opacity: 0.2; color: green;", (root.children[0] as HTMLElement).style.cssText)
- }
-
-
- @Test
- fun stylesTop() {
- val root = "div".asHtmlElement()
- renderComposable(
- root = root
- ) {
- Div(
- {
- style {
- top(100.px)
- }
- }
- )
- Div(
- {
- style {
- top(100.percent)
- }
- }
- )
- }
-
- assertEquals("top: 100px;", (root.children[0] as HTMLElement).style.cssText)
- assertEquals("top: 100%;", (root.children[1] as HTMLElement).style.cssText)
- }
-
- @Test
- fun stylesBottom() {
- val root = "div".asHtmlElement()
- renderComposable(
- root = root
- ) {
- Div(
- {
- style {
- bottom(100.px)
- }
- }
- )
- Div(
- {
- style {
- bottom(100.percent)
- }
- }
- )
- }
-
- assertEquals("bottom: 100px;", (root.children[0] as HTMLElement).style.cssText)
- assertEquals("bottom: 100%;", (root.children[1] as HTMLElement).style.cssText)
- }
-
- @Test
- fun stylesLeft() {
- val root = "div".asHtmlElement()
- renderComposable(
- root = root
- ) {
- Div(
- {
- style {
- left(100.px)
- }
- }
- )
- Div(
- {
- style {
- left(100.percent)
- }
- }
- )
- }
-
- assertEquals("left: 100px;", (root.children[0] as HTMLElement).style.cssText)
- assertEquals("left: 100%;", (root.children[1] as HTMLElement).style.cssText)
- }
-
- @Test
- fun stylesRight() {
- val root = "div".asHtmlElement()
- renderComposable(
- root = root
- ) {
- Div(
- {
- style {
- right(100.px)
- }
- }
- )
- Div(
- {
- style {
- right(100.percent)
- }
- }
- )
- }
-
- assertEquals("right: 100px;", (root.children[0] as HTMLElement).style.cssText)
- assertEquals("right: 100%;", (root.children[1] as HTMLElement).style.cssText)
- }
-
- @Test
- fun stylesPosition() = runTest {
- val enumValues = Position.values()
-
- composition {
- enumValues.forEach { position ->
- Span(
- {
- style {
- position(position)
- }
- }
- )
- }
- }
-
- enumValues.forEachIndexed { index, position ->
- assertEquals(
- "position: ${position.value};",
- nextChild().style.cssText
- )
- }
+ assertEquals("opacity: 0.2; color: green;", nextChild().style.cssText)
}
}
diff --git a/web/core/src/jsTest/kotlin/css/PositionTests.kt b/web/core/src/jsTest/kotlin/css/PositionTests.kt
new file mode 100644
index 0000000000..adda077e9e
--- /dev/null
+++ b/web/core/src/jsTest/kotlin/css/PositionTests.kt
@@ -0,0 +1,84 @@
+/*
+ * Copyright 2020-2021 JetBrains s.r.o. and respective authors and developers.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE.txt file.
+ */
+
+package org.jetbrains.compose.web.core.tests.css
+
+import org.jetbrains.compose.web.core.tests.values
+import org.jetbrains.compose.web.css.*
+import org.jetbrains.compose.web.dom.Div
+import org.jetbrains.compose.web.dom.Span
+import org.jetbrains.compose.web.testutils.runTest
+import kotlin.test.Test
+import kotlin.test.assertEquals
+
+class PositionTests {
+ @Test
+ fun stylesTop() = runTest {
+ composition {
+ Div({ style { top(100.px) } })
+ Div({ style { top(100.percent) } })
+ }
+
+ assertEquals("100px", nextChild().style.top)
+ assertEquals("100%", nextChild().style.top)
+ }
+
+ @Test
+ fun stylesBottom() = runTest {
+ composition {
+ Div({ style { bottom(100.px) } })
+ Div({ style { bottom(100.percent) } })
+ }
+
+ assertEquals("100px", nextChild().style.bottom)
+ assertEquals("100%", nextChild().style.bottom)
+ }
+
+ @Test
+ fun stylesLeft() = runTest {
+ composition {
+ Div({ style { left(100.px) } })
+ Div({ style { left(100.percent) } })
+ }
+
+ assertEquals("100px", nextChild().style.left)
+ assertEquals("100%", nextChild().style.left)
+ }
+
+ @Test
+ fun stylesRight() = runTest {
+ composition {
+ Div({ style { right(100.px) } })
+ Div({ style { right(100.percent) } })
+ }
+
+ assertEquals("100px", nextChild().style.right)
+ assertEquals("100%", nextChild().style.right)
+ }
+
+ @Test
+ fun stylesPosition() = runTest {
+ val enumValues = Position.values()
+
+ composition {
+ enumValues.forEach { position ->
+ Span(
+ {
+ style {
+ position(position)
+ }
+ }
+ )
+ }
+ }
+
+ enumValues.forEachIndexed { index, position ->
+ assertEquals(
+ "position: ${position.value};",
+ nextChild().style.cssText
+ )
+ }
+ }
+}
\ No newline at end of file