OLD | NEW |
| (Empty) |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "chrome/browser/ui/gtk/bookmarks/bookmark_utils_gtk.h" | |
6 | |
7 #include <string> | |
8 | |
9 #include "base/strings/utf_string_conversions.h" | |
10 #include "chrome/browser/bookmarks/bookmark_model.h" | |
11 #include "testing/gtest/include/gtest/gtest.h" | |
12 #include "ui/base/dragdrop/gtk_dnd_util.h" | |
13 #include "url/gurl.h" | |
14 | |
15 TEST(BookmarkUtilsGtkTest, GetNodesFromSelectionInvalid) { | |
16 std::vector<const BookmarkNode*> nodes; | |
17 nodes = GetNodesFromSelection(NULL, NULL, 0, NULL, NULL, NULL); | |
18 EXPECT_EQ(0u, nodes.size()); | |
19 | |
20 GtkSelectionData data; | |
21 data.data = NULL; | |
22 data.length = 0; | |
23 nodes = GetNodesFromSelection(NULL, &data, 0, NULL, NULL, NULL); | |
24 EXPECT_EQ(0u, nodes.size()); | |
25 | |
26 nodes = GetNodesFromSelection( | |
27 NULL, NULL, ui::CHROME_BOOKMARK_ITEM, NULL, NULL, NULL); | |
28 EXPECT_EQ(0u, nodes.size()); | |
29 | |
30 data.data = NULL; | |
31 data.length = 0; | |
32 nodes = GetNodesFromSelection( | |
33 NULL, &data, ui::CHROME_BOOKMARK_ITEM, NULL, NULL, NULL); | |
34 EXPECT_EQ(0u, nodes.size()); | |
35 | |
36 guchar test_data[] = ""; | |
37 data.data = test_data; | |
38 data.length = 0; | |
39 nodes = GetNodesFromSelection( | |
40 NULL, &data, ui::CHROME_BOOKMARK_ITEM, NULL, NULL, NULL); | |
41 EXPECT_EQ(0u, nodes.size()); | |
42 } | |
43 | |
44 TEST(BookmarkUtilsGtkTest, WriteBookmarkToSelectionHTML) { | |
45 BookmarkNode x(GURL("http://www.google.com")); | |
46 x.SetTitle(base::string16(base::ASCIIToUTF16("Google"))); | |
47 GtkSelectionData data; | |
48 data.data = NULL; | |
49 data.length = 0; | |
50 WriteBookmarkToSelection(&x, &data, ui::TEXT_HTML, NULL); | |
51 std::string selection(reinterpret_cast<char*>(data.data), data.length); | |
52 EXPECT_EQ("<a href=\"http://www.google.com/\">Google</a>", selection); | |
53 | |
54 // Free the copied data in GtkSelectionData | |
55 gtk_selection_data_set(&data, data.type, data.format, NULL, -1); | |
56 } | |
OLD | NEW |