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

Unified Diff: ui/events/test/motion_event_test_utils.cc

Issue 502993004: Remove abstract Clone and Cancel methods from MotionEvent (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Owner for BUILD.gn Created 6 years, 2 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: ui/events/test/motion_event_test_utils.cc
diff --git a/ui/events/test/motion_event_test_utils.cc b/ui/events/test/motion_event_test_utils.cc
new file mode 100644
index 0000000000000000000000000000000000000000..7ddc5b5607d9310eeb96f08a0521429f3d2e3b97
--- /dev/null
+++ b/ui/events/test/motion_event_test_utils.cc
@@ -0,0 +1,72 @@
+// Copyright 2014 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 "ui/events/test/motion_event_test_utils.h"
+
+#include <sstream>
+
+#include "ui/events/gesture_detection/bitset_32.h"
+#include "ui/events/gesture_detection/motion_event.h"
+
+namespace ui {
+
+bool operator==(const MotionEvent& lhs, const MotionEvent& rhs) {
+ // Re-using the string conversion for equality testing is sensible because it
+ // 1) is only used in testing (where performance is not a chief concern), and
+ // 2) simplifies maintenance by consolidating the necessary property checks.
+ std::stringstream lhs_ss, rhs_ss;
+ lhs_ss << lhs;
+ rhs_ss << rhs;
+ return lhs_ss.str() == rhs_ss.str();
+}
+
+std::ostream& operator<<(std::ostream& os, const MotionEvent& event) {
+ os << "MotionEvent {"
+ << "\n ID: " << event.GetId() << "\n Action: " << event.GetAction()
+ << "\n ActionIndex: " << event.GetActionIndex()
+ << "\n Flags: " << event.GetFlags()
+ << "\n ButtonState: " << event.GetButtonState() << "\n Pointers: [";
+ const size_t pointer_count = event.GetPointerCount();
+ const size_t history_size = event.GetHistorySize();
+
+ BitSet32 pointer_ids;
+ for (size_t i = 0; i < pointer_count; ++i) {
+ pointer_ids.mark_bit(event.GetPointerId(i));
+
+ // Print the pointers sorted by id.
+ while (!pointer_ids.is_empty()) {
+ int pi = event.FindPointerIndexOfId(pointer_ids.first_marked_bit());
+ DCHECK_GE(pi, 0);
+ pointer_ids.clear_first_marked_bit();
+ os << "{"
+ << "\n Pos: (" << event.GetX(pi) << ", " << event.GetY(pi) << ")"
+ << "\n RawPos: (" << event.GetX(pi) << ", " << event.GetY(pi) << ")"
+ << "\n Size: (" << event.GetTouchMajor(pi) << ", "
+ << event.GetTouchMinor(pi) << ")"
+ << "\n Orientation: " << event.GetOrientation(pi)
+ << "\n Pressure: " << event.GetOrientation(pi)
+ << "\n Tool: " << event.GetToolType(pi);
+ if (history_size) {
+ os << "\n History: [";
+ for (size_t h = 0; h < history_size; ++h) {
+ os << "\n { " << event.GetHistoricalX(pi, h) << ", "
+ << event.GetHistoricalY(pi, h) << ", "
+ << event.GetHistoricalTouchMajor(pi, h) << ", "
+ << event.GetHistoricalEventTime(pi).ToInternalValue() << " }";
+ if (h + 1 < history_size)
+ os << ",";
+ }
+ os << "\n ]";
+ }
+ os << "\n }";
+ if (i + 1 < pointer_count)
+ os << ", ";
+ }
+ os << "]\n}";
+ }
+
+ return os;
+}
+
+} // namespace ui
« ui/events/test/motion_event_test_utils.h ('K') | « ui/events/test/motion_event_test_utils.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698