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

Unified Diff: webkit/common/cursors/webcursor_unittest.cc

Issue 201473002: Move webcursors code from webkit/ to content. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: gfx image include Created 6 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
« no previous file with comments | « webkit/common/cursors/webcursor_null.cc ('k') | webkit/common/cursors/webcursor_win.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/common/cursors/webcursor_unittest.cc
diff --git a/webkit/common/cursors/webcursor_unittest.cc b/webkit/common/cursors/webcursor_unittest.cc
deleted file mode 100644
index fe7814437e5017566e4c5add4e2688ddaf0f0850..0000000000000000000000000000000000000000
--- a/webkit/common/cursors/webcursor_unittest.cc
+++ /dev/null
@@ -1,230 +0,0 @@
-// Copyright (c) 2012 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 "base/pickle.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "third_party/WebKit/public/platform/WebCursorInfo.h"
-#include "webkit/common/cursors/webcursor.h"
-
-using blink::WebCursorInfo;
-
-TEST(WebCursorTest, OKCursorSerialization) {
- WebCursor custom_cursor;
- // This is a valid custom cursor.
- Pickle ok_custom_pickle;
- // Type and hotspots.
- ok_custom_pickle.WriteInt(WebCursorInfo::TypeCustom);
- ok_custom_pickle.WriteInt(0);
- ok_custom_pickle.WriteInt(0);
- // X & Y
- ok_custom_pickle.WriteInt(1);
- ok_custom_pickle.WriteInt(1);
- // Scale
- ok_custom_pickle.WriteFloat(1.0);
- // Data len including enough data for a 1x1 image.
- ok_custom_pickle.WriteInt(4);
- ok_custom_pickle.WriteUInt32(0);
- // Custom Windows message.
- ok_custom_pickle.WriteUInt32(0);
- PickleIterator iter(ok_custom_pickle);
- EXPECT_TRUE(custom_cursor.Deserialize(&iter));
-
-#if defined(TOOLKIT_GTK)
- // On GTK+ using platforms, we should get a real native GdkCursor object back
- // (and the memory used should automatically be freed by the WebCursor object
- // for valgrind tests).
- EXPECT_TRUE(custom_cursor.GetCustomCursor());
-#endif
-}
-
-TEST(WebCursorTest, BrokenCursorSerialization) {
- WebCursor custom_cursor;
- // This custom cursor has not been send with enough data.
- Pickle short_custom_pickle;
- // Type and hotspots.
- short_custom_pickle.WriteInt(WebCursorInfo::TypeCustom);
- short_custom_pickle.WriteInt(0);
- short_custom_pickle.WriteInt(0);
- // X & Y
- short_custom_pickle.WriteInt(1);
- short_custom_pickle.WriteInt(1);
- // Scale
- short_custom_pickle.WriteFloat(1.0);
- // Data len not including enough data for a 1x1 image.
- short_custom_pickle.WriteInt(3);
- short_custom_pickle.WriteUInt32(0);
- PickleIterator iter(short_custom_pickle);
- EXPECT_FALSE(custom_cursor.Deserialize(&iter));
-
- // This custom cursor has enough data but is too big.
- Pickle large_custom_pickle;
- // Type and hotspots.
- large_custom_pickle.WriteInt(WebCursorInfo::TypeCustom);
- large_custom_pickle.WriteInt(0);
- large_custom_pickle.WriteInt(0);
- // X & Y
- static const int kTooBigSize = 4096 + 1;
- large_custom_pickle.WriteInt(kTooBigSize);
- large_custom_pickle.WriteInt(1);
- // Scale
- large_custom_pickle.WriteFloat(1.0);
- // Data len including enough data for a 4097x1 image.
- large_custom_pickle.WriteInt(kTooBigSize * 4);
- for (int i = 0; i < kTooBigSize; ++i)
- large_custom_pickle.WriteUInt32(0);
- iter = PickleIterator(large_custom_pickle);
- EXPECT_FALSE(custom_cursor.Deserialize(&iter));
-
- // This custom cursor uses negative lengths.
- Pickle neg_custom_pickle;
- // Type and hotspots.
- neg_custom_pickle.WriteInt(WebCursorInfo::TypeCustom);
- neg_custom_pickle.WriteInt(0);
- neg_custom_pickle.WriteInt(0);
- // X & Y
- neg_custom_pickle.WriteInt(-1);
- neg_custom_pickle.WriteInt(-1);
- // Scale
- neg_custom_pickle.WriteFloat(1.0);
- // Data len including enough data for a 1x1 image.
- neg_custom_pickle.WriteInt(4);
- neg_custom_pickle.WriteUInt32(0);
- // Custom Windows message.
- neg_custom_pickle.WriteUInt32(0);
- iter = PickleIterator(neg_custom_pickle);
- EXPECT_FALSE(custom_cursor.Deserialize(&iter));
-
- // This custom cursor uses zero scale.
- Pickle scale_zero_custom_pickle;
- // Type and hotspots.
- scale_zero_custom_pickle.WriteInt(WebCursorInfo::TypeCustom);
- scale_zero_custom_pickle.WriteInt(0);
- scale_zero_custom_pickle.WriteInt(0);
- // X & Y
- scale_zero_custom_pickle.WriteInt(1);
- scale_zero_custom_pickle.WriteInt(1);
- // Scale
- scale_zero_custom_pickle.WriteFloat(0);
- // Data len including enough data for a 1x1 image.
- scale_zero_custom_pickle.WriteInt(4);
- scale_zero_custom_pickle.WriteUInt32(0);
- // Custom Windows message.
- scale_zero_custom_pickle.WriteUInt32(0);
- iter = PickleIterator(scale_zero_custom_pickle);
- EXPECT_FALSE(custom_cursor.Deserialize(&iter));
-
- // This custom cursor uses tiny scale.
- Pickle scale_tiny_custom_pickle;
- // Type and hotspots.
- scale_tiny_custom_pickle.WriteInt(WebCursorInfo::TypeCustom);
- scale_tiny_custom_pickle.WriteInt(0);
- scale_tiny_custom_pickle.WriteInt(0);
- // X & Y
- scale_tiny_custom_pickle.WriteInt(1);
- scale_tiny_custom_pickle.WriteInt(1);
- // Scale
- scale_tiny_custom_pickle.WriteFloat(0.001f);
- // Data len including enough data for a 1x1 image.
- scale_tiny_custom_pickle.WriteInt(4);
- scale_tiny_custom_pickle.WriteUInt32(0);
- // Custom Windows message.
- scale_tiny_custom_pickle.WriteUInt32(0);
- iter = PickleIterator(scale_tiny_custom_pickle);
- EXPECT_FALSE(custom_cursor.Deserialize(&iter));
-}
-
-TEST(WebCursorTest, ClampHotspot) {
- WebCursor custom_cursor;
- // This is a valid custom cursor.
- Pickle ok_custom_pickle;
- // Type and hotspots.
- ok_custom_pickle.WriteInt(WebCursorInfo::TypeCustom);
- // Hotspot is invalid --- outside the bounds of the image.
- ok_custom_pickle.WriteInt(5);
- ok_custom_pickle.WriteInt(5);
- // X & Y
- ok_custom_pickle.WriteInt(2);
- ok_custom_pickle.WriteInt(2);
- // Scale
- ok_custom_pickle.WriteFloat(1.0);
- // Data len including enough data for a 2x2 image.
- ok_custom_pickle.WriteInt(4 * 4);
- for (size_t i = 0; i < 4; i++)
- ok_custom_pickle.WriteUInt32(0);
- // Custom Windows message.
- ok_custom_pickle.WriteUInt32(0);
- PickleIterator iter(ok_custom_pickle);
- ASSERT_TRUE(custom_cursor.Deserialize(&iter));
-
- // Convert to WebCursorInfo, make sure the hotspot got clamped.
- WebCursor::CursorInfo info;
- custom_cursor.GetCursorInfo(&info);
- EXPECT_EQ(gfx::Point(1, 1), info.hotspot);
-
- // Set hotspot to an invalid point again, pipe back through WebCursor,
- // and make sure the hotspot got clamped again.
- info.hotspot = gfx::Point(-1, -1);
- custom_cursor.InitFromCursorInfo(info);
- custom_cursor.GetCursorInfo(&info);
- EXPECT_EQ(gfx::Point(0, 0), info.hotspot);
-}
-
-TEST(WebCursorTest, EmptyImage) {
- WebCursor custom_cursor;
- Pickle broken_cursor_pickle;
- broken_cursor_pickle.WriteInt(WebCursorInfo::TypeCustom);
- // Hotspot is at origin
- broken_cursor_pickle.WriteInt(0);
- broken_cursor_pickle.WriteInt(0);
- // X & Y are empty
- broken_cursor_pickle.WriteInt(0);
- broken_cursor_pickle.WriteInt(0);
- // Scale
- broken_cursor_pickle.WriteFloat(1.0);
- // No data for the image since the size is 0.
- broken_cursor_pickle.WriteInt(0);
- // Custom Windows message.
- broken_cursor_pickle.WriteInt(0);
-
- // Make sure we can read this on all platforms; it is technicaally a valid
- // cursor.
- PickleIterator iter(broken_cursor_pickle);
- ASSERT_TRUE(custom_cursor.Deserialize(&iter));
-
-#if defined(TOOLKIT_GTK)
- // On GTK+ using platforms, we make sure that we get NULL back from this
- // method; the relevant GDK methods take NULL as a request to use the default
- // cursor.
- EXPECT_EQ(NULL, custom_cursor.GetCustomCursor());
-#endif
-}
-
-TEST(WebCursorTest, Scale2) {
- WebCursor custom_cursor;
- // This is a valid custom cursor.
- Pickle ok_custom_pickle;
- // Type and hotspots.
- ok_custom_pickle.WriteInt(WebCursorInfo::TypeCustom);
- ok_custom_pickle.WriteInt(0);
- ok_custom_pickle.WriteInt(0);
- // X & Y
- ok_custom_pickle.WriteInt(1);
- ok_custom_pickle.WriteInt(1);
- // Scale - 2 image pixels per UI pixel.
- ok_custom_pickle.WriteFloat(2.0);
- // Data len including enough data for a 1x1 image.
- ok_custom_pickle.WriteInt(4);
- ok_custom_pickle.WriteUInt32(0);
- // Custom Windows message.
- ok_custom_pickle.WriteUInt32(0);
- PickleIterator iter(ok_custom_pickle);
- EXPECT_TRUE(custom_cursor.Deserialize(&iter));
-
-#if defined(TOOLKIT_GTK)
- // On GTK+ using platforms, we should get a real native GdkCursor object back
- // (and the memory used should automatically be freed by the WebCursor object
- // for valgrind tests).
- EXPECT_TRUE(custom_cursor.GetCustomCursor());
-#endif
-}
« no previous file with comments | « webkit/common/cursors/webcursor_null.cc ('k') | webkit/common/cursors/webcursor_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698