Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Side by Side Diff: chrome/browser/cocoa/task_manager_mac_unittest.mm

Issue 2873075: Mac: Add sort support for task manager. (Closed)
Patch Set: comments Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/browser/cocoa/task_manager_mac.mm ('k') | chrome/browser/task_manager.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 <Cocoa/Cocoa.h> 5 #import <Cocoa/Cocoa.h>
6 6
7 #include "base/scoped_nsobject.h" 7 #include "base/scoped_nsobject.h"
8 #include "base/utf_string_conversions.h"
8 #import "chrome/browser/cocoa/task_manager_mac.h" 9 #import "chrome/browser/cocoa/task_manager_mac.h"
9 #import "chrome/browser/cocoa/cocoa_test_helper.h" 10 #import "chrome/browser/cocoa/cocoa_test_helper.h"
11 #include "grit/generated_resources.h"
10 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
11 #include "testing/platform_test.h" 13 #include "testing/platform_test.h"
12 14
13 namespace { 15 namespace {
14 16
15 class TaskManagerWindowControllerTest : public CocoaTest { 17 class TestResource : public TaskManager::Resource {
16 public: 18 public:
17 virtual void SetUp() { 19 TestResource(const string16& title) : title_(title) {}
18 CocoaTest::SetUp(); 20 virtual std::wstring GetTitle() const { return UTF16ToWide(title_); }
19 controller_ = [[TaskManagerWindowController alloc] init]; 21 virtual SkBitmap GetIcon() const { return SkBitmap(); }
22 virtual base::ProcessHandle GetProcess() const {
23 return base::GetCurrentProcessHandle();
20 } 24 }
21 25 virtual bool SupportNetworkUsage() const { return false; }
22 virtual void TearDown() { 26 virtual void SetSupportNetworkUsage() { NOTREACHED(); }
23 [controller_ close]; 27 virtual void Refresh() {}
24 CocoaTest::TearDown(); 28 string16 title_;
25 }
26
27 TaskManagerWindowController *controller_;
28 }; 29 };
29 30
30 // Test creation, to ensure nothing leaks or crashes 31 } // namespace
32
33 class TaskManagerWindowControllerTest : public CocoaTest {
34 };
35
36 // Test creation, to ensure nothing leaks or crashes.
31 TEST_F(TaskManagerWindowControllerTest, Init) { 37 TEST_F(TaskManagerWindowControllerTest, Init) {
38 TaskManager task_manager;
39 TaskManagerMac* bridge(new TaskManagerMac(&task_manager));
40 TaskManagerWindowController* controller = bridge->cocoa_controller();
41
42 // Releases the controller, which in turn deletes |bridge|.
43 [controller close];
32 } 44 }
33 45
34 // TODO(thakis): Add tests for more methods as they become implemented 46 TEST_F(TaskManagerWindowControllerTest, Sort) {
35 // (TaskManager::Show() etc). 47 TaskManager task_manager;
36 48
37 } // namespace 49 TestResource resource1(UTF8ToUTF16("zzz"));
50 TestResource resource2(UTF8ToUTF16("zza"));
51
52 task_manager.AddResource(&resource1);
53 task_manager.AddResource(&resource2); // Will be in the same group.
54
55 TaskManagerMac* bridge(new TaskManagerMac(&task_manager));
56 TaskManagerWindowController* controller = bridge->cocoa_controller();
57 NSTableView* table = [controller tableView];
58 ASSERT_EQ(2, [controller numberOfRowsInTableView:table]);
59
60 // Test that table is sorted on title.
61 NSTableColumn* title_column = [table tableColumnWithIdentifier:
62 [NSNumber numberWithInt:IDS_TASK_MANAGER_PAGE_COLUMN]];
63 NSCell* cell;
64 cell = [controller tableView:table dataCellForTableColumn:title_column row:0];
65 EXPECT_TRUE([@"zza" isEqualToString:[cell title]]);
66 cell = [controller tableView:table dataCellForTableColumn:title_column row:1];
67 EXPECT_TRUE([@"zzz" isEqualToString:[cell title]]);
68
69 // Releases the controller, which in turn deletes |bridge|.
70 [controller close];
71
72 task_manager.RemoveResource(&resource1);
73 task_manager.RemoveResource(&resource2);
74 }
OLDNEW
« no previous file with comments | « chrome/browser/cocoa/task_manager_mac.mm ('k') | chrome/browser/task_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698