OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_model_observer_for_cocoa.h" |
| 6 |
5 #import <Cocoa/Cocoa.h> | 7 #import <Cocoa/Cocoa.h> |
6 #include <stddef.h> | 8 #include <stddef.h> |
7 | 9 |
8 #include "base/memory/scoped_ptr.h" | 10 #include <memory> |
| 11 |
9 #include "base/strings/utf_string_conversions.h" | 12 #include "base/strings/utf_string_conversions.h" |
10 #include "chrome/browser/bookmarks/bookmark_model_factory.h" | 13 #include "chrome/browser/bookmarks/bookmark_model_factory.h" |
11 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_model_observer_for_cocoa.h" | |
12 #import "chrome/browser/ui/cocoa/cocoa_profile_test.h" | 14 #import "chrome/browser/ui/cocoa/cocoa_profile_test.h" |
13 #include "chrome/test/base/testing_profile.h" | 15 #include "chrome/test/base/testing_profile.h" |
14 | 16 |
15 using bookmarks::BookmarkModel; | 17 using bookmarks::BookmarkModel; |
16 using bookmarks::BookmarkNode; | 18 using bookmarks::BookmarkNode; |
17 | 19 |
18 namespace { | 20 namespace { |
19 | 21 |
20 class BookmarkModelObserverForCocoaTest : public CocoaProfileTest { | 22 class BookmarkModelObserverForCocoaTest : public CocoaProfileTest { |
21 }; | 23 }; |
22 | 24 |
23 | 25 |
24 TEST_F(BookmarkModelObserverForCocoaTest, TestCallback) { | 26 TEST_F(BookmarkModelObserverForCocoaTest, TestCallback) { |
25 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); | 27 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); |
26 const BookmarkNode* node = model->AddURL(model->bookmark_bar_node(), | 28 const BookmarkNode* node = model->AddURL(model->bookmark_bar_node(), |
27 0, base::ASCIIToUTF16("super"), | 29 0, base::ASCIIToUTF16("super"), |
28 GURL("http://www.google.com")); | 30 GURL("http://www.google.com")); |
29 | 31 |
30 __block size_t pings = 0U; | 32 __block size_t pings = 0U; |
31 | 33 |
32 BookmarkModelObserverForCocoa::ChangeCallback callback = ^() { | 34 BookmarkModelObserverForCocoa::ChangeCallback callback = ^() { |
33 ++pings; | 35 ++pings; |
34 }; | 36 }; |
35 | 37 |
36 scoped_ptr<BookmarkModelObserverForCocoa> | 38 std::unique_ptr<BookmarkModelObserverForCocoa> observer( |
37 observer(new BookmarkModelObserverForCocoa(model, | 39 new BookmarkModelObserverForCocoa(model, callback)); |
38 callback)); | |
39 observer->StartObservingNode(node); | 40 observer->StartObservingNode(node); |
40 | 41 |
41 EXPECT_EQ(0U, pings); | 42 EXPECT_EQ(0U, pings); |
42 | 43 |
43 model->SetTitle(node, base::ASCIIToUTF16("duper")); | 44 model->SetTitle(node, base::ASCIIToUTF16("duper")); |
44 EXPECT_EQ(1U, pings); | 45 EXPECT_EQ(1U, pings); |
45 | 46 |
46 model->SetURL(node, GURL("http://www.google.com/reader")); | 47 model->SetURL(node, GURL("http://www.google.com/reader")); |
47 EXPECT_EQ(2U, pings); | 48 EXPECT_EQ(2U, pings); |
48 | 49 |
49 model->Move(node, model->other_node(), 0); | 50 model->Move(node, model->other_node(), 0); |
50 EXPECT_EQ(3U, pings); | 51 EXPECT_EQ(3U, pings); |
51 | 52 |
52 model->Remove(node->parent()->GetChild(0)); | 53 model->Remove(node->parent()->GetChild(0)); |
53 EXPECT_EQ(4U, pings); | 54 EXPECT_EQ(4U, pings); |
54 } | 55 } |
55 | 56 |
56 } // namespace | 57 } // namespace |
OLD | NEW |