diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/css/media_query_evaluator_test.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/core/css/media_query_evaluator_test.cc | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/chromium/third_party/blink/renderer/core/css/media_query_evaluator_test.cc b/chromium/third_party/blink/renderer/core/css/media_query_evaluator_test.cc index 998370f4203..bb2e9e00608 100644 --- a/chromium/third_party/blink/renderer/core/css/media_query_evaluator_test.cc +++ b/chromium/third_party/blink/renderer/core/css/media_query_evaluator_test.cc @@ -7,6 +7,7 @@ #include <memory> #include "testing/gtest/include/gtest/gtest.h" #include "third_party/blink/public/common/css/forced_colors.h" +#include "third_party/blink/public/common/css/screen_spanning.h" #include "third_party/blink/renderer/core/css/media_list.h" #include "third_party/blink/renderer/core/css/media_values_cached.h" #include "third_party/blink/renderer/core/css/media_values_initial_viewport.h" @@ -199,6 +200,32 @@ MediaQueryEvaluatorTestCase g_navigationcontrols_none_cases[] = { {nullptr, 0} // Do not remove the terminator line. }; +MediaQueryEvaluatorTestCase g_screen_spanning_none_cases[] = { + {"(screen-spanning)", 0}, + {"(screen-spanning: single-fold-vertical)", 0}, + {"(screen-spanning: single-fold-horizontal)", 0}, + {"(screen-spanning: none)", 1}, + {"(screen-spanning: 1px)", 0}, + {"(screen-spanning: 16/9)", 0}, + {nullptr, 0} // Do not remove the terminator line. +}; + +MediaQueryEvaluatorTestCase g_screen_spanning_single_fold_vertical_cases[] = { + {"(screen-spanning)", 1}, + {"(screen-spanning: single-fold-vertical)", 1}, + {"(screen-spanning: single-fold-horizontal)", 0}, + {"(screen-spanning: none)", 0}, + {nullptr, 0} // Do not remove the terminator line. +}; + +MediaQueryEvaluatorTestCase g_screen_spanning_single_fold_horizontal_cases[] = { + {"(screen-spanning)", 1}, + {"(screen-spanning: single-fold-vertical)", 0}, + {"(screen-spanning: single-fold-horizontal)", 1}, + {"(screen-spanning: none)", 0}, + {nullptr, 0} // Do not remove the terminator line. +}; + void TestMQEvaluator(MediaQueryEvaluatorTestCase* test_cases, const MediaQueryEvaluator& media_query_evaluator, CSSParserMode mode) { @@ -373,4 +400,33 @@ TEST(MediaQueryEvaluatorTest, CachedForcedColors) { } } +TEST(MediaQueryEvaluatorTest, CachedScreenSpanning) { + ScopedCSSFoldablesForTest scoped_feature(true); + + MediaValuesCached::MediaValuesCachedData data; + { + data.screen_spanning = ScreenSpanning::kNone; + MediaValues* media_values = MakeGarbageCollected<MediaValuesCached>(data); + + MediaQueryEvaluator media_query_evaluator(*media_values); + TestMQEvaluator(g_screen_spanning_none_cases, media_query_evaluator); + } + + { + data.screen_spanning = ScreenSpanning::kSingleFoldVertical; + MediaValues* media_values = MakeGarbageCollected<MediaValuesCached>(data); + MediaQueryEvaluator media_query_evaluator(*media_values); + TestMQEvaluator(g_screen_spanning_single_fold_vertical_cases, + media_query_evaluator); + } + + { + data.screen_spanning = ScreenSpanning::kSingleFoldHorizontal; + MediaValues* media_values = MakeGarbageCollected<MediaValuesCached>(data); + MediaQueryEvaluator media_query_evaluator(*media_values); + TestMQEvaluator(g_screen_spanning_single_fold_horizontal_cases, + media_query_evaluator); + } +} + } // namespace blink |