blob: 6009fc86ad24bdc5e4ba87edcf89b778bc989ed7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "ui/message_center/notification_delegate.h"
#include "base/basictypes.h"
#include "base/bind.h"
#include "base/callback.h"
#include "base/memory/ref_counted.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace message_center {
class NotificationDelegateTest : public testing::Test {
public:
NotificationDelegateTest();
virtual ~NotificationDelegateTest();
void ClickCallback();
int GetClickedCallbackAndReset();
private:
int callback_count_;
DISALLOW_COPY_AND_ASSIGN(NotificationDelegateTest);
};
NotificationDelegateTest::NotificationDelegateTest() : callback_count_(0) {}
NotificationDelegateTest::~NotificationDelegateTest() {}
void NotificationDelegateTest::ClickCallback() {
++callback_count_;
}
int NotificationDelegateTest::GetClickedCallbackAndReset() {
int result = callback_count_;
callback_count_ = 0;
return result;
}
TEST_F(NotificationDelegateTest, ClickedDelegate) {
scoped_refptr<HandleNotificationClickedDelegate> delegate(
new HandleNotificationClickedDelegate(
base::Bind(&NotificationDelegateTest::ClickCallback,
base::Unretained(this))));
EXPECT_TRUE(delegate->HasClickedListener());
delegate->Click();
EXPECT_EQ(1, GetClickedCallbackAndReset());
// ButtonClick doesn't call the callback.
delegate->ButtonClick(0);
EXPECT_EQ(0, GetClickedCallbackAndReset());
}
TEST_F(NotificationDelegateTest, NullClickedDelegate) {
scoped_refptr<HandleNotificationClickedDelegate> delegate(
new HandleNotificationClickedDelegate(base::Closure()));
EXPECT_FALSE(delegate->HasClickedListener());
delegate->Click();
EXPECT_EQ(0, GetClickedCallbackAndReset());
delegate->ButtonClick(0);
EXPECT_EQ(0, GetClickedCallbackAndReset());
}
}
|