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

Unified Diff: components/open_from_clipboard/clipboard_recent_content_generic_unittest.cc

Issue 2790993003: Add Generic Implementation of ClipboardRecentContent (Closed)
Patch Set: blank line Created 3 years, 9 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: components/open_from_clipboard/clipboard_recent_content_generic_unittest.cc
diff --git a/components/open_from_clipboard/clipboard_recent_content_generic_unittest.cc b/components/open_from_clipboard/clipboard_recent_content_generic_unittest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..53bfb793e63eb018efabecd87e7f8e3ee5a9cf89
--- /dev/null
+++ b/components/open_from_clipboard/clipboard_recent_content_generic_unittest.cc
@@ -0,0 +1,152 @@
+// Copyright 2017 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 "components/open_from_clipboard/clipboard_recent_content_generic.h"
+
+#include <memory>
+
+#include "base/strings/utf_string_conversions.h"
+#include "ui/base/clipboard/clipboard.h"
+
+class MockClipboard : public base::Clipboard {
+ public:
+ void ReadText(ClipboardType type, base::string16* result) const override;
+ base::Time GetClipboardLastModifiedTime() const override;
+
+ // Empty required implementations of Clipboard.
+ void OnPreShutdown() override {}
+ uint64_t GetSequenceNumber(ClipboardType type) const override {}
+ bool IsFormatAvailable(const FormatType& format,
+ ClipboardType type) const override {}
+ void Clear(ClipboardType type) override {}
+ void ReadAvailableTypes(ClipboardType type,
+ std::vector<base::string16>* types,
+ bool* contains_filenames) const override {}
+ void ReadAsciiText(ClipboardType type, std::string* result) const override {}
+ void ReadHTML(ClipboardType type,
+ base::string16* markup,
+ std::string* src_url,
+ uint32_t* fragment_start,
+ uint32_t* fragment_end) const override {}
+ void ReadRTF(ClipboardType type, std::string* result) const override {}
+ SkBitmap ReadImage(ClipboardType type) const override {}
+ void ReadCustomData(ClipboardType clipboard_type,
+ const base::string16& type,
+ base::string16* result) const override {}
+ void ReadBookmark(base::string16* title, std::string* url) const override {}
+ void ReadData(const FormatType& format, std::string* result) const override {}
+
+ protected:
+ void WriteText(const char* text_data, size_t text_len) override;
+ void SetClipboardLastModifiedTime(const base::Time& time);
+
+ // Empty required implementations of Clipboard.
+ void WriteObjects(ClipboardType type, const ObjectMap& objects) override {}
+ void WriteHTML(const char* markup_data,
+ size_t markup_len,
+ const char* url_data,
+ size_t url_len) override {}
+ void WriteRTF(const char* rtf_data, size_t data_len) override {}
+ void WriteBookmark(const char* title_data,
+ size_t title_len,
+ const char* url_data,
+ size_t url_len) override {}
+ void WriteWebSmartPaste() override {}
+ void WriteBitmap(const SkBitmap& bitmap) override {}
+ void WriteData(const FormatType& format,
+ const char* data_data,
+ size_t data_len) override {}
+
+ private:
+ base::string16 contents_;
+ base::Time last_modified_time_;
+};
+
+void MockClipboard::ReadText(ClipboardType type, base::string16* result) const {
+ (*result) = contents_;
+}
+
+base::Time MockClipboard::GetClipboardLastModifiedTime() const {
+ return last_modified_time_;
+}
+
+void MockClipboard::WriteText(const char* text_data, size_t text_len) {
+ base::UTF8ToUTF16(text_data, text_len, &contents_);
+}
+
+void MockClipboard::SetClipboardLastModifiedTime(const base::Time& time) {
+ last_modified_time_ = time;
+}
+
+/*
+class ClipboardRecentContentGenericTest : public ::testing::Test {
+ protected:
+ ClipboardRecentContentGenericTest() {
+ ui::TestClipboard::CreateForCurrentThread();
+ }
+
+ ~ClipboardRecentContentGenericTest() {
+ ui::Clipboard::DestroyClipboardForCurrentThread();
+ }
+
+ void SetClipboardContent(const base::string16& content,
+ const base::TimeDelta& time) {
+ Clipboard* clipboard = ui::Clipboard::GetForCurrentThread();
+ clipboard_content_.reset(new ClipboardRecentContentIOSWithFakeUptime(
+ application_scheme, [NSUserDefaults standardUserDefaults]));
+ clipboard_content_->SetUptime(time_delta);
+ }
+
+ void SetStoredPasteboardChangeDate(NSDate* changeDate) {
+ clipboard_content_->last_pasteboard_change_date_.reset([changeDate copy]);
+ clipboard_content_->SaveToUserDefaults();
+ }
+
+ void SetStoredPasteboardChangeCount(NSInteger newChangeCount) {
+ clipboard_content_->last_pasteboard_change_count_ = newChangeCount;
+ clipboard_content_->SaveToUserDefaults();
+ }
+
+ protected:
+ std::unique_ptr<ClipboardRecentContentIOSWithFakeUptime> clipboard_content_;
+};
+*/
+
+TEST_F(ClipboardRecentContentGenericTest, RecognizesURLs) {
+ /*
+ www
+ query string
+ www.example.com
+ http://www.example.com/
+ // Trailing slash shouldn't matter.
+ http://www.example.com
+ https://another-example.com/
+ ftp://example.com/
+ about:version
+ data:,Hello%2C%20World!
+ http://malformed url
+ http://another.com/malformed url
+ http://xn--c1yn36f
+ http://點看
+ */
+ // ***
+}
+
+TEST_F(ClipboardRecentContentGenericTest, OlderURLsNotSuggested) {
+ // ***
+}
+
+TEST_F(ClipboardRecentContentGenericTest, GetClipboardContentAge) {
+ // ***
+}
+
+TEST_F(ClipboardRecentContentGenericTest, SuppressClipboardContent) {
+ // Make sure the URL is suggested.
+
+ // After suppressing it, it shouldn't be suggested.
+
+ // If the content changes, the new content should be suggested again.
+
+ // ***
+}

Powered by Google App Engine
This is Rietveld 408576698