summaryrefslogtreecommitdiff
diff options
authorAndrea Azzarone <azzaronea@gmail.com>2012-08-08 14:24:50 +0200
committerAndrea Azzarone <azzaronea@gmail.com>2012-08-08 14:24:50 +0200
commit9de6e1eca64b685b216d3c3470ffe018a6053299 (patch)
tree35c741224a29842182bd853eea9bfe3422d74ee7
parent11bd0c149729700266d59fefb40980fcde16f9d5 (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.h2
-rw-r--r--launcher/MockLauncherIcon.h5
-rw-r--r--tests/test_launcher.cpp69
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, &current);
+
+ EXPECT_THAT(IconBackgroundIntensity(first, current), Gt(0.0f));
+ EXPECT_THAT(IconBackgroundIntensity(second, current), Gt(0.0f));
+ EXPECT_EQ(IconBackgroundIntensity(third, current), 0.0f);
+}
+
+}
}