Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(68)

Side by Side Diff: third_party/WebKit/Source/core/css/MediaQueryEvaluatorTest.cpp

Issue 2837023005: Move MediaQuery classes off BlinkGC heap (Closed)
Patch Set: fix Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698