summaryrefslogtreecommitdiff
diff options
authorMarco Trevisan (TreviƱo) <mail@3v1n0.net>2013-02-06 01:41:52 +0000
committerTarmac <>2013-02-06 01:41:52 +0000
commit6d5eb571fc134c6e54048b09809a330dfa9ea595 (patch)
tree5f45236010faf35814af42fb835850af6e4b3d2c
parent6950bee7c6925bd3887634d6081df7b3860ff5a0 (diff)
parent4a4381a05c9e1fdce493178fdaf2688b0540794a (diff)
TestSwitcherView: use TEST_P to perform multiple animation tests.
Approved by Andrea Azzarone. (bzr r3130)
-rw-r--r--tests/test_switcher_view.cpp64
1 files changed, 33 insertions, 31 deletions
diff --git a/tests/test_switcher_view.cpp b/tests/test_switcher_view.cpp
index 4838cb98d..52db1d962 100644
--- a/tests/test_switcher_view.cpp
+++ b/tests/test_switcher_view.cpp
@@ -131,9 +131,13 @@ TEST_F(TestSwitcherView, SetModel)
EXPECT_FALSE(switcher.model_->detail_selection_index.changed.empty());
}
-TEST_F(TestSwitcherView, UpdateRenderTargets)
+
+struct AnimationProgress : TestSwitcherView, testing::WithParamInterface<double> {};
+INSTANTIATE_TEST_CASE_P(TestSwitcherView, AnimationProgress, testing::Range(0.0, 1.0, 0.1));
+
+TEST_P(AnimationProgress, UpdateRenderTargets)
{
- float progress = 0.55;
+ float progress = GetParam();
AddFakeApplicationToSwitcher();
auto const& model = switcher.GetModel();
@@ -156,42 +160,40 @@ TEST_F(TestSwitcherView, UpdateRenderTargets)
}
}
-TEST_F(TestSwitcherView, ResizeRenderTargets)
+TEST_P(AnimationProgress, ResizeRenderTargets)
{
AddFakeApplicationToSwitcher();
- for (float progress = 0.1f; progress <= 1.0f; progress += 0.1f)
- {
- auto const& layout_geo = switcher.UpdateRenderTargets(progress);
- std::map<Window, nux::Geometry> old_thumbs;
+ float progress = GetParam();
+ auto const& layout_geo = switcher.UpdateRenderTargets(progress);
+ std::map<Window, nux::Geometry> old_thumbs;
- for (auto const& win : switcher.ExternalTargets())
- old_thumbs[win->xid] = win->result;
+ for (auto const& win : switcher.ExternalTargets())
+ old_thumbs[win->xid] = win->result;
- float to_finish = 1.0f - progress;
- nux::Point layout_abs_center((layout_geo.x + layout_geo.width/2.0f) * to_finish,
- (layout_geo.y + layout_geo.height/2.0f) * to_finish);
+ float to_finish = 1.0f - progress;
+ nux::Point layout_abs_center((layout_geo.x + layout_geo.width/2.0f) * to_finish,
+ (layout_geo.y + layout_geo.height/2.0f) * to_finish);
- switcher.ResizeRenderTargets(layout_geo, progress);
+ switcher.ResizeRenderTargets(layout_geo, progress);
- for (auto const& win : switcher.ExternalTargets())
- {
- auto const& thumb_geo = win->result;
- auto const& old_thumb_geo = old_thumbs[win->xid];
-
- nux::Geometry expected_geo;
- expected_geo.x = old_thumb_geo.x * progress + layout_abs_center.x;
- expected_geo.y = old_thumb_geo.y * progress + layout_abs_center.y;
- expected_geo.width = old_thumb_geo.width * progress;
- expected_geo.height = old_thumb_geo.height * progress;
-
- // Like ASSERT_EQ(thumb_geo, expected_geo), but more informative on failure
- ASSERT_EQ(thumb_geo.x, expected_geo.x);
- ASSERT_EQ(thumb_geo.y, expected_geo.y);
- ASSERT_EQ(thumb_geo.width, expected_geo.width);
- ASSERT_EQ(thumb_geo.height, expected_geo.height);
- ASSERT_EQ(thumb_geo, expected_geo);
- }
+ for (auto const& win : switcher.ExternalTargets())
+ {
+ auto const& thumb_geo = win->result;
+ auto const& old_thumb_geo = old_thumbs[win->xid];
+
+ nux::Geometry expected_geo;
+ expected_geo.x = old_thumb_geo.x * progress + layout_abs_center.x;
+ expected_geo.y = old_thumb_geo.y * progress + layout_abs_center.y;
+ expected_geo.width = old_thumb_geo.width * progress;
+ expected_geo.height = old_thumb_geo.height * progress;
+
+ // Like ASSERT_EQ(thumb_geo, expected_geo), but more informative on failure
+ ASSERT_EQ(thumb_geo.x, expected_geo.x);
+ ASSERT_EQ(thumb_geo.y, expected_geo.y);
+ ASSERT_EQ(thumb_geo.width, expected_geo.width);
+ ASSERT_EQ(thumb_geo.height, expected_geo.height);
+ ASSERT_EQ(thumb_geo, expected_geo);
}
}