| 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 |