Home | History | Annotate | Download | only in autocomplete
      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
      3 // found in the LICENSE file.
      4 
      5 #import "chrome/browser/autocomplete/autocomplete_edit_view_mac.h"
      6 
      7 #include "base/string_util.h"
      8 #include "base/sys_string_conversions.h"
      9 #include "base/utf_string_conversions.h"
     10 #include "chrome/browser/autocomplete/autocomplete.h"
     11 #include "testing/platform_test.h"
     12 #include "ui/base/clipboard/clipboard.h"
     13 #include "ui/base/clipboard/scoped_clipboard_writer.h"
     14 #include "ui/gfx/size.h"
     15 
     16 namespace {
     17 
     18 TEST(AutocompleteEditViewMacTest, GetClipboardText) {
     19   ui::Clipboard clipboard;
     20   string16 text;
     21 
     22   // Does an empty clipboard get empty text?
     23   clipboard.WriteObjects(ui::Clipboard::ObjectMap());
     24   text = AutocompleteEditViewMac::GetClipboardText(&clipboard);
     25   EXPECT_EQ(string16(), text);
     26 
     27   const string16 plainText(ASCIIToUTF16("test text"));
     28   const std::string url("http://www.example.com/");
     29   const string16 title(ASCIIToUTF16("The Example Company")), title_result;
     30 
     31   // Can we pull straight text off the clipboard?
     32   {
     33     ui::ScopedClipboardWriter clipboard_writer(&clipboard);
     34     clipboard_writer.WriteText(plainText);
     35   }
     36 
     37   text = AutocompleteEditViewMac::GetClipboardText(&clipboard);
     38   EXPECT_EQ(plainText, text);
     39 
     40   // Can we pull a bookmark off the clipboard?
     41   {
     42     ui::ScopedClipboardWriter clipboard_writer(&clipboard);
     43     clipboard_writer.WriteBookmark(title, url);
     44   }
     45 
     46   text = AutocompleteEditViewMac::GetClipboardText(&clipboard);
     47   EXPECT_EQ(ASCIIToUTF16(url), text);
     48 
     49   // Do we pull text in preference to a bookmark?
     50   {
     51     ui::ScopedClipboardWriter clipboard_writer(&clipboard);
     52     clipboard_writer.WriteText(plainText);
     53     clipboard_writer.WriteBookmark(title, url);
     54   }
     55 
     56   text = AutocompleteEditViewMac::GetClipboardText(&clipboard);
     57   EXPECT_EQ(plainText, text);
     58 
     59   // Do we get nothing if there is neither text nor a bookmark?
     60   {
     61     const string16 markup(ASCIIToUTF16("<strong>Hi!</string>"));
     62     ui::ScopedClipboardWriter clipboard_writer(&clipboard);
     63     clipboard_writer.WriteHTML(markup, url);
     64   }
     65 
     66   text = AutocompleteEditViewMac::GetClipboardText(&clipboard);
     67   EXPECT_TRUE(text.empty());
     68 }
     69 
     70 TEST(AutocompleteEditViewMacTest, GetFieldFont) {
     71   EXPECT_TRUE(AutocompleteEditViewMac::GetFieldFont());
     72 }
     73 
     74 }  // namespace
     75