Index: chrome/browser/ui/cocoa/sprite_view_unittest.mm |
diff --git a/chrome/browser/ui/cocoa/sprite_view_unittest.mm b/chrome/browser/ui/cocoa/sprite_view_unittest.mm |
index be68f19e80ae71cdfcd4bcd81c057d3cfabe8ee6..b0566f5c6bd58004f4749a74b9055e265019b968 100644 |
--- a/chrome/browser/ui/cocoa/sprite_view_unittest.mm |
+++ b/chrome/browser/ui/cocoa/sprite_view_unittest.mm |
@@ -13,6 +13,20 @@ |
#include "ui/gfx/image/image.h" |
#include "ui/resources/grit/ui_resources.h" |
+@interface SpriteView (ExposedForTesting) |
+ |
+- (BOOL)isAnimating; |
+ |
+@end |
+ |
+@implementation SpriteView (ExposedForTesting) |
+ |
+- (BOOL)isAnimating { |
+ return [imageLayer_ animationForKey:[spriteAnimation_ keyPath]] != nil; |
+} |
+ |
+@end |
+ |
namespace { |
class SpriteViewTest : public CocoaTest { |
@@ -41,4 +55,25 @@ TEST_F(SpriteViewTest, TestViewFrame) { |
EXPECT_EQ(imageSize.height, NSHeight(frame)); |
} |
+TEST_F(SpriteViewTest, StopAnimationOnMiniaturize) { |
+ EXPECT_TRUE([view_ isAnimating]); |
+ |
+ [test_window() miniaturize:nil]; |
+ EXPECT_FALSE([view_ isAnimating]); |
+ |
+ [test_window() deminiaturize:nil]; |
+ EXPECT_TRUE([view_ isAnimating]); |
+} |
+ |
+TEST_F(SpriteViewTest, |
+ StopAnimationOnRemoveFromSuperview) { |
+ EXPECT_TRUE([view_ isAnimating]); |
+ |
+ [view_ removeFromSuperview]; |
+ EXPECT_FALSE([view_ isAnimating]); |
+ |
+ [[test_window() contentView] addSubview:view_]; |
+ EXPECT_TRUE([view_ isAnimating]); |
+} |
+ |
} // namespace |