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 "core/MediaTypeNames.h" | 7 #include "core/MediaTypeNames.h" |
8 #include "core/css/MediaList.h" | 8 #include "core/css/MediaList.h" |
9 #include "core/css/MediaValuesCached.h" | 9 #include "core/css/MediaValuesCached.h" |
10 #include "core/css/MediaValuesInitialViewport.h" | 10 #include "core/css/MediaValuesInitialViewport.h" |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 | 132 |
133 TestCase printTestCases[] = { | 133 TestCase printTestCases[] = { |
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* testCases, | 140 void testMQEvaluator(TestCase* testCases, |
141 const MediaQueryEvaluator& mediaQueryEvaluator) { | 141 const MediaQueryEvaluator& mediaQueryEvaluator) { |
142 Persistent<MediaQuerySet> querySet = nullptr; | 142 RefPtr<MediaQuerySet> querySet = nullptr; |
143 for (unsigned i = 0; testCases[i].input; ++i) { | 143 for (unsigned i = 0; testCases[i].input; ++i) { |
144 querySet = MediaQuerySet::create(testCases[i].input); | 144 querySet = MediaQuerySet::create(testCases[i].input); |
145 EXPECT_EQ(testCases[i].output, mediaQueryEvaluator.eval(querySet.get())); | 145 EXPECT_EQ(testCases[i].output, mediaQueryEvaluator.eval(*querySet)); |
146 } | 146 } |
147 } | 147 } |
148 | 148 |
149 TEST(MediaQueryEvaluatorTest, Cached) { | 149 TEST(MediaQueryEvaluatorTest, Cached) { |
150 MediaValuesCached::MediaValuesCachedData data; | 150 MediaValuesCached::MediaValuesCachedData data; |
151 data.viewportWidth = 500; | 151 data.viewportWidth = 500; |
152 data.viewportHeight = 500; | 152 data.viewportHeight = 500; |
153 data.deviceWidth = 500; | 153 data.deviceWidth = 500; |
154 data.deviceHeight = 500; | 154 data.deviceHeight = 500; |
155 data.devicePixelRatio = 2.0; | 155 data.devicePixelRatio = 2.0; |
(...skipping 30 matching lines...) Expand all Loading... |
186 testMQEvaluator(printTestCases, mediaQueryEvaluator); | 186 testMQEvaluator(printTestCases, mediaQueryEvaluator); |
187 } | 187 } |
188 | 188 |
189 TEST(MediaQueryEvaluatorTest, DynamicNoView) { | 189 TEST(MediaQueryEvaluatorTest, DynamicNoView) { |
190 std::unique_ptr<DummyPageHolder> pageHolder = | 190 std::unique_ptr<DummyPageHolder> pageHolder = |
191 DummyPageHolder::create(IntSize(500, 500)); | 191 DummyPageHolder::create(IntSize(500, 500)); |
192 LocalFrame* frame = &pageHolder->frame(); | 192 LocalFrame* frame = &pageHolder->frame(); |
193 pageHolder.reset(); | 193 pageHolder.reset(); |
194 ASSERT_EQ(nullptr, frame->view()); | 194 ASSERT_EQ(nullptr, frame->view()); |
195 MediaQueryEvaluator mediaQueryEvaluator(frame); | 195 MediaQueryEvaluator mediaQueryEvaluator(frame); |
196 MediaQuerySet* querySet = MediaQuerySet::create("foobar"); | 196 RefPtr<MediaQuerySet> querySet = MediaQuerySet::create("foobar"); |
197 EXPECT_FALSE(mediaQueryEvaluator.eval(querySet)); | 197 EXPECT_FALSE(mediaQueryEvaluator.eval(*querySet)); |
198 } | 198 } |
199 | 199 |
200 TEST(MediaQueryEvaluatorTest, CachedFloatViewport) { | 200 TEST(MediaQueryEvaluatorTest, CachedFloatViewport) { |
201 MediaValuesCached::MediaValuesCachedData data; | 201 MediaValuesCached::MediaValuesCachedData data; |
202 data.viewportWidth = 600.5; | 202 data.viewportWidth = 600.5; |
203 data.viewportHeight = 700.125; | 203 data.viewportHeight = 700.125; |
204 MediaValues* mediaValues = MediaValuesCached::create(data); | 204 MediaValues* mediaValues = MediaValuesCached::create(data); |
205 | 205 |
206 MediaQueryEvaluator mediaQueryEvaluator(*mediaValues); | 206 MediaQueryEvaluator mediaQueryEvaluator(*mediaValues); |
207 testMQEvaluator(floatViewportTestCases, mediaQueryEvaluator); | 207 testMQEvaluator(floatViewportTestCases, mediaQueryEvaluator); |
(...skipping 17 matching lines...) Expand all Loading... |
225 pageHolder->frameView().setInitialViewportSize(IntSize(500, 500)); | 225 pageHolder->frameView().setInitialViewportSize(IntSize(500, 500)); |
226 pageHolder->frameView().setLayoutSize(IntSize(800, 800)); | 226 pageHolder->frameView().setLayoutSize(IntSize(800, 800)); |
227 pageHolder->frameView().setFrameRect(IntRect(0, 0, 800, 800)); | 227 pageHolder->frameView().setFrameRect(IntRect(0, 0, 800, 800)); |
228 | 228 |
229 MediaQueryEvaluator mediaQueryEvaluator( | 229 MediaQueryEvaluator mediaQueryEvaluator( |
230 MediaValuesInitialViewport::create(pageHolder->frame())); | 230 MediaValuesInitialViewport::create(pageHolder->frame())); |
231 testMQEvaluator(viewportTestCases, mediaQueryEvaluator); | 231 testMQEvaluator(viewportTestCases, mediaQueryEvaluator); |
232 } | 232 } |
233 | 233 |
234 } // namespace blink | 234 } // namespace blink |
OLD | NEW |