1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "ui/base/cursor/cursor_loader_x11.h"
6
7 #undef None
8 #undef Bool
9
10 #include "base/logging.h"
11 #include "testing/gtest/include/gtest/gtest.h"
12 #include "third_party/skia/include/core/SkBitmap.h"
13 #include "ui/base/cursor/cursor_util.h"
14
15 namespace ui {
16
TEST(CursorLoaderX11Test,ScaleAndRotate)17 TEST(CursorLoaderX11Test, ScaleAndRotate) {
18 SkBitmap bitmap;
19 bitmap.setConfig(SkBitmap::kARGB_8888_Config, 10, 5);
20 bitmap.allocPixels();
21 bitmap.eraseColor(SK_ColorBLACK);
22
23 gfx::Point hotpoint(3,4);
24
25 ScaleAndRotateCursorBitmapAndHotpoint(1.0f,
26 gfx::Display::ROTATE_0,
27 &bitmap,
28 &hotpoint);
29 EXPECT_EQ(10, bitmap.width());
30 EXPECT_EQ(5, bitmap.height());
31 EXPECT_EQ("3,4", hotpoint.ToString());
32
33 ScaleAndRotateCursorBitmapAndHotpoint(1.0f,
34 gfx::Display::ROTATE_90,
35 &bitmap,
36 &hotpoint);
37
38 EXPECT_EQ(5, bitmap.width());
39 EXPECT_EQ(10, bitmap.height());
40 EXPECT_EQ("1,3", hotpoint.ToString());
41
42 ScaleAndRotateCursorBitmapAndHotpoint(2.0f,
43 gfx::Display::ROTATE_180,
44 &bitmap,
45 &hotpoint);
46 EXPECT_EQ(10, bitmap.width());
47 EXPECT_EQ(20, bitmap.height());
48 EXPECT_EQ("8,14", hotpoint.ToString());
49
50 ScaleAndRotateCursorBitmapAndHotpoint(1.0f,
51 gfx::Display::ROTATE_270,
52 &bitmap,
53 &hotpoint);
54 EXPECT_EQ(20, bitmap.width());
55 EXPECT_EQ(10, bitmap.height());
56 EXPECT_EQ("14,2", hotpoint.ToString());
57 }
58
59 } // namespace ui
60