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

Unified Diff: chrome/browser/cocoa/nswindow_local_state_unittest.mm

Issue 207027: [Mac] Polish the search engine manager (Closed)
Patch Set: '' Created 11 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/cocoa/nswindow_local_state_unittest.mm
diff --git a/chrome/browser/cocoa/nswindow_local_state_unittest.mm b/chrome/browser/cocoa/nswindow_local_state_unittest.mm
new file mode 100644
index 0000000000000000000000000000000000000000..4ebfa29674d39559e6097d7f2d8101e199213dbb
--- /dev/null
+++ b/chrome/browser/cocoa/nswindow_local_state_unittest.mm
@@ -0,0 +1,64 @@
+// Copyright (c) 2009 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.
+
+#import <Cocoa/Cocoa.h>
+
+#include "base/scoped_nsobject.h"
+#include "chrome/browser/cocoa/browser_test_helper.h"
+#import "chrome/browser/cocoa/cocoa_test_helper.h"
+#import "chrome/browser/cocoa/nswindow_local_state.h"
+#include "chrome/common/pref_service.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "testing/platform_test.h"
+
+class NSWindowLocalStateTest : public PlatformTest {
+ virtual void SetUp() {
+ path_ = L"NSWindowLocalStateTest";
+ window_.reset(
+ [[NSWindow alloc] initWithContentRect:NSMakeRect(100, 100, 20, 20)
+ styleMask:NSTitledWindowMask
+ backing:NSBackingStoreBuffered
+ defer:NO]);
+ browser_helper_.profile()->GetPrefs()->RegisterDictionaryPref(path_);
+ }
+
+ public:
+ CocoaTestHelper cocoa_helper_;
+ BrowserTestHelper browser_helper_;
+ scoped_nsobject<NSWindow> window_;
+ const wchar_t* path_;
+};
+
+TEST_F(NSWindowLocalStateTest, TestSaveWindowPlacement) {
+ PrefService* prefs = browser_helper_.profile()->GetPrefs();
+ ASSERT_TRUE(prefs != NULL);
+
+ // Check to make sure there is no existing pref for window placement.
+ ASSERT_TRUE(prefs->GetDictionary(path_) == NULL);
+
+ // Ask the window to save its position, then check that a preference
+ // exists. We're technically passing in a pointer to the user prefs
+ // and not the local state prefs, but a PrefService* is a
+ // PrefService*, and this is a unittest.
+ [window_ saveWindowPositionToPrefs:prefs withPath:path_];
+ EXPECT_TRUE(prefs->GetDictionary(path_) != NULL);
+ int x, y;
+ DictionaryValue* windowPrefs = prefs->GetMutableDictionary(path_);
+ windowPrefs->GetInteger(L"x", &x);
+ windowPrefs->GetInteger(L"y", &y);
+ EXPECT_EQ(x, [window_ frame].origin.x);
+ EXPECT_EQ(y, [window_ frame].origin.y);
+}
+
+TEST_F(NSWindowLocalStateTest, TestRestoreWindowPlacement) {
+ PrefService* prefs = browser_helper_.profile()->GetPrefs();
+ DictionaryValue* windowPrefs = prefs->GetMutableDictionary(path_);
+
+ const int value = 42;
+ windowPrefs->SetInteger(L"x", value);
+ windowPrefs->SetInteger(L"y", value);
+ [window_ restoreWindowPositionFromPrefs:prefs withPath:path_];
+ EXPECT_LT(value, [window_ frame].origin.x);
+ EXPECT_GT(value, [window_ frame].origin.y);
+}

Powered by Google App Engine
This is Rietveld 408576698