Shagen Ogandzhanian
3 years ago
1 changed files with 79 additions and 0 deletions
@ -0,0 +1,79 @@
|
||||
/* |
||||
* 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 |
||||
|
||||
import org.jetbrains.compose.web.css.CSSMediaQuery |
||||
import org.jetbrains.compose.web.css.CSSMediaRuleDeclaration |
||||
import org.jetbrains.compose.web.css.StyleSheet |
||||
import org.jetbrains.compose.web.css.and |
||||
import org.jetbrains.compose.web.css.maxHeight |
||||
import org.jetbrains.compose.web.css.maxWidth |
||||
import org.jetbrains.compose.web.css.media |
||||
import org.jetbrains.compose.web.css.minHeight |
||||
import org.jetbrains.compose.web.css.minWidth |
||||
import org.jetbrains.compose.web.css.px |
||||
import kotlin.test.Test |
||||
import kotlin.test.assertEquals |
||||
|
||||
class MediaQueryTests { |
||||
|
||||
private object CombinedMediaQueries : StyleSheet() { |
||||
val combine by style { |
||||
media(minWidth(200.px).and(maxWidth(400.px))) { |
||||
} |
||||
|
||||
media(minWidth(300.px), maxWidth(500.px)) { |
||||
} |
||||
} |
||||
} |
||||
|
||||
private object MediaFeatures : StyleSheet() { |
||||
val features by style { |
||||
media(minWidth(200.px)) {} |
||||
media(minHeight(300.px)) {} |
||||
media(maxWidth(500.px)) {} |
||||
media(maxHeight(600.px)) {} |
||||
} |
||||
} |
||||
|
||||
@Test |
||||
fun mediaFeatures() { |
||||
assertEquals( |
||||
"@media (min-width: 200px)", |
||||
(MediaFeatures.cssRules[1] as CSSMediaRuleDeclaration).header |
||||
) |
||||
|
||||
assertEquals( |
||||
"@media (min-height: 300px)", |
||||
(MediaFeatures.cssRules[2] as CSSMediaRuleDeclaration).header |
||||
) |
||||
|
||||
assertEquals( |
||||
"@media (max-width: 500px)", |
||||
(MediaFeatures.cssRules[3] as CSSMediaRuleDeclaration).header |
||||
) |
||||
|
||||
assertEquals( |
||||
"@media (max-height: 600px)", |
||||
(MediaFeatures.cssRules[4] as CSSMediaRuleDeclaration).header |
||||
) |
||||
} |
||||
|
||||
|
||||
@Test |
||||
fun combineMediaQueries() { |
||||
assertEquals( |
||||
"@media (min-width: 200px) and (max-width: 400px)", |
||||
(CombinedMediaQueries.cssRules[1] as CSSMediaRuleDeclaration).header |
||||
) |
||||
|
||||
assertEquals( |
||||
"@media (min-width: 300px), (max-width: 500px)", |
||||
(CombinedMediaQueries.cssRules[2] as CSSMediaRuleDeclaration).header |
||||
) |
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue