Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright 2015 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 "base/memory/scoped_ptr.h" | |
| 6 #include "ui/base/cocoa/three_part_image.h" | |
|
Robert Sesek
2015/02/12 21:56:37
This should be the first #include and then separat
Andre
2015/02/12 22:10:37
Done.
| |
| 7 #include "testing/gtest_mac.h" | |
| 8 #import "ui/gfx/test/ui_cocoa_test_helper.h" | |
| 9 #include "ui/resources/grit/ui_resources.h" | |
| 10 | |
| 11 #define EXPECT_EQ_RECT(a, b) \ | |
|
Robert Sesek
2015/02/12 21:56:37
There's EXPECT_NSRECT_EQ.
Andre
2015/02/12 22:10:38
Done.
| |
| 12 EXPECT_NSEQ(NSStringFromRect(a), NSStringFromRect(b)) | |
| 13 | |
| 14 namespace ui { | |
| 15 namespace test { | |
| 16 | |
| 17 TEST(ThreePartImageTest, GetRects) { | |
| 18 ThreePartImage image(IDR_BROWSER_ACTION_BADGE_LEFT, | |
| 19 IDR_BROWSER_ACTION_BADGE_CENTER, | |
| 20 IDR_BROWSER_ACTION_BADGE_RIGHT); | |
| 21 NSRect bounds = NSMakeRect(0, 0, 20, 11); | |
| 22 EXPECT_EQ_RECT(NSMakeRect(0, 0, 4, 11), image.GetLeftRect(bounds)); | |
| 23 EXPECT_EQ_RECT(NSMakeRect(4, 0, 12, 11), image.GetMiddleRect(bounds)); | |
| 24 EXPECT_EQ_RECT(NSMakeRect(16, 0, 4, 11), image.GetRightRect(bounds)); | |
| 25 } | |
| 26 | |
| 27 TEST(ThreePartImageTest, GetRectsWithoutMiddle) { | |
| 28 ThreePartImage image(IDR_BROWSER_ACTION_BADGE_LEFT, | |
| 29 0, | |
| 30 IDR_BROWSER_ACTION_BADGE_RIGHT); | |
| 31 NSRect bounds = NSMakeRect(0, 0, 20, 11); | |
| 32 EXPECT_EQ_RECT(NSMakeRect(0, 0, 4, 11), image.GetLeftRect(bounds)); | |
| 33 EXPECT_EQ_RECT(NSMakeRect(4, 0, 12, 11), image.GetMiddleRect(bounds)); | |
| 34 EXPECT_EQ_RECT(NSMakeRect(16, 0, 4, 11), image.GetRightRect(bounds)); | |
| 35 } | |
| 36 | |
| 37 TEST(ThreePartImageTest, HitTest) { | |
| 38 ThreePartImage image(IDR_BACK_ARROW, 0, IDR_FORWARD_ARROW); | |
| 39 NSRect bounds = NSMakeRect(0, 0, 512, 128); | |
| 40 | |
| 41 // The middle of the arrows are hits. | |
| 42 EXPECT_TRUE(image.HitTest(NSMakePoint(64, 64), bounds)); | |
| 43 EXPECT_TRUE(image.HitTest(NSMakePoint(448, 64), bounds)); | |
| 44 | |
| 45 // No middle image means the middle rect is a hit. | |
| 46 EXPECT_TRUE(image.HitTest(NSMakePoint(256, 64), bounds)); | |
| 47 | |
| 48 // The corners are transparent. | |
| 49 EXPECT_FALSE(image.HitTest(NSMakePoint(0, 0), bounds)); | |
| 50 EXPECT_FALSE(image.HitTest(NSMakePoint(0, 127), bounds)); | |
| 51 EXPECT_FALSE(image.HitTest(NSMakePoint(511, 0), bounds)); | |
| 52 EXPECT_FALSE(image.HitTest(NSMakePoint(511, 127), bounds)); | |
| 53 } | |
| 54 | |
| 55 } // namespace test | |
| 56 } // namespace ui | |
| OLD | NEW |