| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "core/css/MediaQueryEvaluator.h" | 5 #include "core/css/MediaQueryEvaluator.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include "core/MediaTypeNames.h" | 8 #include "core/MediaTypeNames.h" |
| 9 #include "core/css/MediaList.h" | 9 #include "core/css/MediaList.h" |
| 10 #include "core/css/MediaValuesCached.h" | 10 #include "core/css/MediaValuesCached.h" |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 132 | 132 |
| 133 TestCase g_print_test_cases[] = { | 133 TestCase g_print_test_cases[] = { |
| 134 {"print and (min-resolution: 1dppx)", 1}, | 134 {"print and (min-resolution: 1dppx)", 1}, |
| 135 {"print and (min-resolution: 118dpcm)", 1}, | 135 {"print and (min-resolution: 118dpcm)", 1}, |
| 136 {"print and (min-resolution: 119dpcm)", 0}, | 136 {"print and (min-resolution: 119dpcm)", 0}, |
| 137 {0, 0} // Do not remove the terminator line. | 137 {0, 0} // Do not remove the terminator line. |
| 138 }; | 138 }; |
| 139 | 139 |
| 140 void TestMQEvaluator(TestCase* test_cases, | 140 void TestMQEvaluator(TestCase* test_cases, |
| 141 const MediaQueryEvaluator& media_query_evaluator) { | 141 const MediaQueryEvaluator& media_query_evaluator) { |
| 142 Persistent<MediaQuerySet> query_set = nullptr; | 142 RefPtr<MediaQuerySet> query_set = nullptr; |
| 143 for (unsigned i = 0; test_cases[i].input; ++i) { | 143 for (unsigned i = 0; test_cases[i].input; ++i) { |
| 144 query_set = MediaQuerySet::Create(test_cases[i].input); | 144 query_set = MediaQuerySet::Create(test_cases[i].input); |
| 145 EXPECT_EQ(test_cases[i].output, | 145 EXPECT_EQ(test_cases[i].output, media_query_evaluator.Eval(*query_set)); |
| 146 media_query_evaluator.Eval(query_set.Get())); | |
| 147 } | 146 } |
| 148 } | 147 } |
| 149 | 148 |
| 150 TEST(MediaQueryEvaluatorTest, Cached) { | 149 TEST(MediaQueryEvaluatorTest, Cached) { |
| 151 MediaValuesCached::MediaValuesCachedData data; | 150 MediaValuesCached::MediaValuesCachedData data; |
| 152 data.viewport_width = 500; | 151 data.viewport_width = 500; |
| 153 data.viewport_height = 500; | 152 data.viewport_height = 500; |
| 154 data.device_width = 500; | 153 data.device_width = 500; |
| 155 data.device_height = 500; | 154 data.device_height = 500; |
| 156 data.device_pixel_ratio = 2.0; | 155 data.device_pixel_ratio = 2.0; |
| (...skipping 30 matching lines...) Expand all Loading... |
| 187 TestMQEvaluator(g_print_test_cases, media_query_evaluator); | 186 TestMQEvaluator(g_print_test_cases, media_query_evaluator); |
| 188 } | 187 } |
| 189 | 188 |
| 190 TEST(MediaQueryEvaluatorTest, DynamicNoView) { | 189 TEST(MediaQueryEvaluatorTest, DynamicNoView) { |
| 191 std::unique_ptr<DummyPageHolder> page_holder = | 190 std::unique_ptr<DummyPageHolder> page_holder = |
| 192 DummyPageHolder::Create(IntSize(500, 500)); | 191 DummyPageHolder::Create(IntSize(500, 500)); |
| 193 LocalFrame* frame = &page_holder->GetFrame(); | 192 LocalFrame* frame = &page_holder->GetFrame(); |
| 194 page_holder.reset(); | 193 page_holder.reset(); |
| 195 ASSERT_EQ(nullptr, frame->View()); | 194 ASSERT_EQ(nullptr, frame->View()); |
| 196 MediaQueryEvaluator media_query_evaluator(frame); | 195 MediaQueryEvaluator media_query_evaluator(frame); |
| 197 MediaQuerySet* query_set = MediaQuerySet::Create("foobar"); | 196 RefPtr<MediaQuerySet> query_set = MediaQuerySet::Create("foobar"); |
| 198 EXPECT_FALSE(media_query_evaluator.Eval(query_set)); | 197 EXPECT_FALSE(media_query_evaluator.Eval(*query_set)); |
| 199 } | 198 } |
| 200 | 199 |
| 201 TEST(MediaQueryEvaluatorTest, CachedFloatViewport) { | 200 TEST(MediaQueryEvaluatorTest, CachedFloatViewport) { |
| 202 MediaValuesCached::MediaValuesCachedData data; | 201 MediaValuesCached::MediaValuesCachedData data; |
| 203 data.viewport_width = 600.5; | 202 data.viewport_width = 600.5; |
| 204 data.viewport_height = 700.125; | 203 data.viewport_height = 700.125; |
| 205 MediaValues* media_values = MediaValuesCached::Create(data); | 204 MediaValues* media_values = MediaValuesCached::Create(data); |
| 206 | 205 |
| 207 MediaQueryEvaluator media_query_evaluator(*media_values); | 206 MediaQueryEvaluator media_query_evaluator(*media_values); |
| 208 TestMQEvaluator(g_float_viewport_test_cases, media_query_evaluator); | 207 TestMQEvaluator(g_float_viewport_test_cases, media_query_evaluator); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 227 page_holder->GetFrameView().SetInitialViewportSize(IntSize(500, 500)); | 226 page_holder->GetFrameView().SetInitialViewportSize(IntSize(500, 500)); |
| 228 page_holder->GetFrameView().SetLayoutSize(IntSize(800, 800)); | 227 page_holder->GetFrameView().SetLayoutSize(IntSize(800, 800)); |
| 229 page_holder->GetFrameView().SetFrameRect(IntRect(0, 0, 800, 800)); | 228 page_holder->GetFrameView().SetFrameRect(IntRect(0, 0, 800, 800)); |
| 230 | 229 |
| 231 MediaQueryEvaluator media_query_evaluator( | 230 MediaQueryEvaluator media_query_evaluator( |
| 232 MediaValuesInitialViewport::Create(page_holder->GetFrame())); | 231 MediaValuesInitialViewport::Create(page_holder->GetFrame())); |
| 233 TestMQEvaluator(g_viewport_test_cases, media_query_evaluator); | 232 TestMQEvaluator(g_viewport_test_cases, media_query_evaluator); |
| 234 } | 233 } |
| 235 | 234 |
| 236 } // namespace blink | 235 } // namespace blink |
| OLD | NEW |