diff options
author | dcheng@chromium.org <dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-16 02:57:02 +0000 |
---|---|---|
committer | dcheng@chromium.org <dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-16 02:57:02 +0000 |
commit | 6e6854b1d85162c84e4bdfbde57b6afc575844b9 (patch) | |
tree | 7ace9ccd1a20f147d793353b7e63b300e5147c22 /ui/base | |
parent | 243fdfe95fef104de35d690ede7471545aa162c7 (diff) | |
download | chromium_src-6e6854b1d85162c84e4bdfbde57b6afc575844b9.zip chromium_src-6e6854b1d85162c84e4bdfbde57b6afc575844b9.tar.gz chromium_src-6e6854b1d85162c84e4bdfbde57b6afc575844b9.tar.bz2 |
Add Clipboard::GetSequenceNumber test and fix Android.
BUG=none
Review URL: https://codereview.chromium.org/136193002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245079 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/base')
-rw-r--r-- | ui/base/clipboard/clipboard_unittest.cc | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/ui/base/clipboard/clipboard_unittest.cc b/ui/base/clipboard/clipboard_unittest.cc index 5ddec42..4f689d8 100644 --- a/ui/base/clipboard/clipboard_unittest.cc +++ b/ui/base/clipboard/clipboard_unittest.cc @@ -10,6 +10,7 @@ #include "base/memory/scoped_ptr.h" #include "base/message_loop/message_loop.h" #include "base/pickle.h" +#include "base/run_loop.h" #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" #include "testing/gtest/include/gtest/gtest.h" @@ -717,6 +718,34 @@ TEST_F(ClipboardTest, WriteEverything) { // Passes if we don't crash. } +// TODO(dcheng): Fix this test for Android. It's rather involved, since the +// clipboard change listener is posted to the Java message loop, and spinning +// that loop from C++ to trigger the callback in the test requires a non-trivial +// amount of additional work. +#if !defined(OS_ANDROID) +// Simple test that the sequence number appears to change when the clipboard is +// written to. +// TODO(dcheng): Add a version to test CLIPBOARD_TYPE_SELECTION. +TEST_F(ClipboardTest, GetSequenceNumber) { + const uint64 first_sequence_number = + clipboard().GetSequenceNumber(CLIPBOARD_TYPE_COPY_PASTE); + + { + ScopedClipboardWriter writer(&clipboard(), CLIPBOARD_TYPE_COPY_PASTE); + writer.WriteText(UTF8ToUTF16("World")); + } + + // On some platforms, the sequence number is updated by a UI callback so pump + // the message loop to make sure we get the notification. + base::RunLoop().RunUntilIdle(); + + const uint64 second_sequence_number = + clipboard().GetSequenceNumber(CLIPBOARD_TYPE_COPY_PASTE); + + EXPECT_NE(first_sequence_number, second_sequence_number); +} +#endif + #if defined(OS_ANDROID) // Test that if another application writes some text to the pasteboard the |