Index: chrome/browser/views/extensions/browser_action_drag_data_unittest.cc |
=================================================================== |
--- chrome/browser/views/extensions/browser_action_drag_data_unittest.cc (revision 0) |
+++ chrome/browser/views/extensions/browser_action_drag_data_unittest.cc (revision 0) |
@@ -0,0 +1,54 @@ |
+// Copyright (c) 2010 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 "app/os_exchange_data.h" |
+#include "app/os_exchange_data_provider_win.h" |
+#include "base/pickle.h" |
+#include "chrome/browser/views/extensions/browser_action_drag_data.h" |
+#include "chrome/test/testing_profile.h" |
+#include "testing/gtest/include/gtest/gtest.h" |
+ |
+namespace { |
+ |
+OSExchangeData::Provider* CloneProvider(const OSExchangeData& data) { |
+ return new OSExchangeDataProviderWin( |
+ OSExchangeDataProviderWin::GetIDataObject(data)); |
+} |
+ |
+} // namespace |
+ |
+typedef testing::Test BrowserActionDragDataTest; |
+ |
+TEST_F(BrowserActionDragDataTest, ArbitraryFormat) { |
+ TestingProfile profile; |
+ profile.SetID(L"id"); |
+ |
+ OSExchangeData data; |
+ data.SetURL(GURL("http://www.google.com"), L"Title"); |
+ |
+ // We only support our format, so this should not succeed. |
+ BrowserActionDragData drag_data; |
+ EXPECT_FALSE(drag_data.Read(OSExchangeData(CloneProvider(data)))); |
+} |
+ |
+TEST_F(BrowserActionDragDataTest, BrowserActionDragDataFormat) { |
+ TestingProfile profile; |
+ profile.SetID(L"id"); |
+ |
+ const std::string extension_id = "42"; |
+ Pickle pickle; |
+ pickle.WriteWString(profile.GetPath().ToWStringHack()); |
+ pickle.WriteString(extension_id); |
+ pickle.WriteInt(42); |
+ |
+ OSExchangeData data; |
+ data.SetPickledData(BrowserActionDragData::GetBrowserActionCustomFormat(), |
+ pickle); |
+ |
+ BrowserActionDragData drag_data; |
+ EXPECT_TRUE(drag_data.Read(OSExchangeData(CloneProvider(data)))); |
+ ASSERT_TRUE(drag_data.IsFromProfile(profile.GetOriginalProfile())); |
+ ASSERT_STREQ(extension_id.c_str(), drag_data.id().c_str()); |
+ ASSERT_EQ(42, drag_data.index()); |
+} |
Property changes on: chrome\browser\views\extensions\browser_action_drag_data_unittest.cc |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |