diff options
| author | Andrea Azzarone <azzaronea@gmail.com> | 2012-08-08 14:24:50 +0200 |
|---|---|---|
| committer | Andrea Azzarone <azzaronea@gmail.com> | 2012-08-08 14:24:50 +0200 |
| commit | 9de6e1eca64b685b216d3c3470ffe018a6053299 (patch) | |
| tree | 35c741224a29842182bd853eea9bfe3422d74ee7 | |
| parent | 11bd0c149729700266d59fefb40980fcde16f9d5 (diff) | |
Add a test for IconBackgroundItensity with the default option value for backlight mode and start animation.
(bzr r2540.4.3)
| -rw-r--r-- | launcher/Launcher.h | 2 | ||||
| -rw-r--r-- | launcher/MockLauncherIcon.h | 5 | ||||
| -rw-r--r-- | tests/test_launcher.cpp | 69 |
3 files changed, 64 insertions, 12 deletions
diff --git a/launcher/Launcher.h b/launcher/Launcher.h index a44671a3d..15bb176a9 100644 --- a/launcher/Launcher.h +++ b/launcher/Launcher.h @@ -389,6 +389,8 @@ private: UBusManager ubus_; glib::SourceManager sources_; + + friend class TestLauncher; }; } diff --git a/launcher/MockLauncherIcon.h b/launcher/MockLauncherIcon.h index 46b0cbf72..a3cd87e1d 100644 --- a/launcher/MockLauncherIcon.h +++ b/launcher/MockLauncherIcon.h @@ -212,14 +212,14 @@ public: void SetQuirk(Quirk quirk, bool value) { quirks_[quirk] = value; + clock_gettime(CLOCK_MONOTONIC, &(quirk_times_[quirk])); } void ResetQuirkTime(Quirk quirk) {}; struct timespec GetQuirkTime(Quirk quirk) { - timespec tv; - return tv; + return quirk_times_[quirk]; } IconType GetIconType() @@ -345,6 +345,7 @@ private: int sort_priority_; IconType type_; bool quirks_[QUIRK_LAST]; + timespec quirk_times_[QUIRK_LAST]; }; } diff --git a/tests/test_launcher.cpp b/tests/test_launcher.cpp index 21fbe131e..9e2e037f1 100644 --- a/tests/test_launcher.cpp +++ b/tests/test_launcher.cpp @@ -24,15 +24,23 @@ using namespace testing; #include <Nux/Nux.h> #include <Nux/BaseWindow.h> -#include "DNDCollectionWindow.h" -#include "MockLauncherIcon.h" -#include "Launcher.h" +#include "launcher/DNDCollectionWindow.h" +#include "launcher/MockLauncherIcon.h" +#include "launcher/Launcher.h" +#include "unity-shared/PanelStyle.h" +#include "unity-shared/UnitySettings.h" #include "test_utils.h" using namespace unity; +namespace unity +{ +namespace launcher +{ namespace { +const int STARTING_ANIMATION_DURATION = 150; + class MockMockLauncherIcon : public launcher::MockLauncherIcon { public: @@ -41,22 +49,34 @@ public: MOCK_METHOD1(ShouldHighlightOnDrag, bool(DndData const&)); }; +} + class TestLauncher : public Test { public: TestLauncher() : parent_window_(new nux::BaseWindow("TestLauncherWindow")) , dnd_collection_window_(new DNDCollectionWindow) - , model_(new launcher::LauncherModel) - , launcher_(new launcher::Launcher(parent_window_, dnd_collection_window_)) + , model_(new LauncherModel) + , options_(new Options) + , launcher_(new Launcher(parent_window_, dnd_collection_window_)) { + launcher_->options = options_; launcher_->SetModel(model_); } + float IconBackgroundIntensity(AbstractLauncherIcon::Ptr icon, timespec const& current) const + { + return launcher_->IconBackgroundIntensity(icon, current); + } + nux::BaseWindow* parent_window_; nux::ObjectPtr<DNDCollectionWindow> dnd_collection_window_; - launcher::LauncherModel::Ptr model_; - nux::ObjectPtr<launcher::Launcher> launcher_; + Settings settings; + panel::Style panel_style; + LauncherModel::Ptr model_; + Options::Ptr options_; + nux::ObjectPtr<Launcher> launcher_; }; TEST_F(TestLauncher, TestQuirksDuringDnd) @@ -84,9 +104,38 @@ TEST_F(TestLauncher, TestQuirksDuringDnd) Utils::WaitForTimeout(1); - EXPECT_FALSE(first->GetQuirk(launcher::AbstractLauncherIcon::QUIRK_DESAT)); - EXPECT_FALSE(second->GetQuirk(launcher::AbstractLauncherIcon::QUIRK_DESAT)); - EXPECT_TRUE(third->GetQuirk(launcher::AbstractLauncherIcon::QUIRK_DESAT)); + EXPECT_FALSE(first->GetQuirk(AbstractLauncherIcon::QUIRK_DESAT)); + EXPECT_FALSE(second->GetQuirk(AbstractLauncherIcon::QUIRK_DESAT)); + EXPECT_TRUE(third->GetQuirk(AbstractLauncherIcon::QUIRK_DESAT)); } + +TEST_F(TestLauncher, TestIconBackgroundIntensity) +{ + MockMockLauncherIcon::Ptr first(new MockMockLauncherIcon); + model_->AddIcon(first); + + MockMockLauncherIcon::Ptr second(new MockMockLauncherIcon); + model_->AddIcon(second); + + MockMockLauncherIcon::Ptr third(new MockMockLauncherIcon); + model_->AddIcon(third); + + options_->backlight_mode = BACKLIGHT_NORMAL; + options_->launch_animation = LAUNCH_ANIMATION_PULSE; + + first->SetQuirk(AbstractLauncherIcon::QUIRK_RUNNING, true); + second->SetQuirk(AbstractLauncherIcon::QUIRK_RUNNING, true); + third->SetQuirk(AbstractLauncherIcon::QUIRK_RUNNING, false); + + Utils::WaitForTimeoutMSec(STARTING_ANIMATION_DURATION); + timespec current; + clock_gettime(CLOCK_MONOTONIC, ¤t); + + EXPECT_THAT(IconBackgroundIntensity(first, current), Gt(0.0f)); + EXPECT_THAT(IconBackgroundIntensity(second, current), Gt(0.0f)); + EXPECT_EQ(IconBackgroundIntensity(third, current), 0.0f); +} + +} } |
