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

Unified Diff: ppapi/tests/test_flash_clipboard.cc

Issue 136183002: Add GetSequenceNumber function to PPB_Flash_Clipboard (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 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
« no previous file with comments | « ppapi/tests/test_flash_clipboard.h ('k') | ppapi/thunk/interfaces_ppb_private_flash.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/tests/test_flash_clipboard.cc
diff --git a/ppapi/tests/test_flash_clipboard.cc b/ppapi/tests/test_flash_clipboard.cc
index 8eb756bd47903a7f8b05d18839a990510bd8be20..537dde84950a780c5d3455d1392dc2a5bd6241b1 100644
--- a/ppapi/tests/test_flash_clipboard.cc
+++ b/ppapi/tests/test_flash_clipboard.cc
@@ -39,6 +39,7 @@ void TestFlashClipboard::RunTests(const std::string& filter) {
RUN_TEST(Clear, filter);
RUN_TEST(InvalidFormat, filter);
RUN_TEST(RegisterCustomFormat, filter);
+ RUN_TEST(GetSequenceNumber, filter);
}
bool TestFlashClipboard::ReadStringVar(uint32_t format, std::string* result) {
@@ -113,6 +114,19 @@ bool TestFlashClipboard::ReadHTMLMatches(const std::string& expected) {
return false;
}
+uint64_t TestFlashClipboard::GetSequenceNumber(uint64_t last_sequence_number) {
+ uint64_t next_sequence_number = last_sequence_number;
+ for (int i = 0; i < kMaxIntervals; ++i) {
+ pp::flash::Clipboard::GetSequenceNumber(
+ instance_, PP_FLASH_CLIPBOARD_TYPE_STANDARD, &next_sequence_number);
+ if (next_sequence_number != last_sequence_number)
+ return next_sequence_number;
+
+ PlatformSleep(kIntervalMs);
+ }
+ return next_sequence_number;
+}
+
std::string TestFlashClipboard::TestReadWritePlainText() {
std::string input = "Hello world plain text!";
ASSERT_TRUE(WriteStringVar(PP_FLASH_CLIPBOARD_FORMAT_PLAINTEXT, input));
@@ -276,3 +290,55 @@ std::string TestFlashClipboard::TestRegisterCustomFormat() {
PASS();
}
+
+std::string TestFlashClipboard::TestGetSequenceNumber() {
+ uint64_t sequence_number_before = 0;
+ uint64_t sequence_number_after = 0;
+ ASSERT_TRUE(pp::flash::Clipboard::GetSequenceNumber(
+ instance_, PP_FLASH_CLIPBOARD_TYPE_STANDARD, &sequence_number_before));
+
+ // Test the sequence number changes after writing html.
+ ASSERT_TRUE(WriteStringVar(PP_FLASH_CLIPBOARD_FORMAT_HTML, "<html>"));
+ sequence_number_after = GetSequenceNumber(sequence_number_before);
+ ASSERT_NE(sequence_number_before, sequence_number_after);
+ sequence_number_before = sequence_number_after;
+
+ // Test the sequence number changes after writing some custom data.
+ std::string custom_data = "custom_data";
+ pp::VarArrayBuffer array_buffer(custom_data.size());
+ char* bytes = static_cast<char*>(array_buffer.Map());
+ std::copy(custom_data.begin(), custom_data.end(), bytes);
+ uint32_t format_id =
+ pp::flash::Clipboard::RegisterCustomFormat(instance_, "my-format");
+ std::vector<uint32_t> formats_vector(1, format_id);
+ std::vector<pp::Var> data_vector(1, array_buffer);
+ ASSERT_TRUE(pp::flash::Clipboard::WriteData(instance_,
+ PP_FLASH_CLIPBOARD_TYPE_STANDARD,
+ formats_vector,
+ data_vector));
+ sequence_number_after = GetSequenceNumber(sequence_number_before);
+ ASSERT_NE(sequence_number_before, sequence_number_after);
+ sequence_number_before = sequence_number_after;
+
+ // Read the data and make sure the sequence number doesn't change.
+ pp::Var custom_data_result;
+ ASSERT_TRUE(pp::flash::Clipboard::ReadData(
+ instance_,
+ PP_FLASH_CLIPBOARD_TYPE_STANDARD,
+ format_id,
+ &custom_data_result));
+ ASSERT_TRUE(pp::flash::Clipboard::GetSequenceNumber(
+ instance_, PP_FLASH_CLIPBOARD_TYPE_STANDARD, &sequence_number_after));
+ ASSERT_EQ(sequence_number_before, sequence_number_after);
+ sequence_number_before = sequence_number_after;
+
+ // Clear the clipboard and check the sequence number changes.
+ pp::flash::Clipboard::WriteData(instance_,
+ PP_FLASH_CLIPBOARD_TYPE_STANDARD,
+ std::vector<uint32_t>(),
+ std::vector<pp::Var>());
+ sequence_number_after = GetSequenceNumber(sequence_number_before);
+ ASSERT_NE(sequence_number_before, sequence_number_after);
+
+ PASS();
+}
« no previous file with comments | « ppapi/tests/test_flash_clipboard.h ('k') | ppapi/thunk/interfaces_ppb_private_flash.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698