1 // Copyright (c) 2011 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 #import <Cocoa/Cocoa.h> 6 7 #import "chrome/browser/ui/cocoa/animatable_image.h" 8 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h" 9 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/platform_test.h" 11 12 namespace { 13 14 class AnimatableImageTest : public CocoaTest { 15 public: 16 AnimatableImageTest() { 17 NSRect frame = NSMakeRect(0, 0, 500, 500); 18 NSImage* image = [NSImage imageNamed:NSImageNameComputer]; 19 animation_ = [[AnimatableImage alloc] initWithImage:image 20 animationFrame:frame]; 21 } 22 23 AnimatableImage* animation_; 24 }; 25 26 TEST_F(AnimatableImageTest, BasicAnimation) { 27 [animation_ setStartFrame:CGRectMake(0, 0, 10, 10)]; 28 [animation_ setEndFrame:CGRectMake(500, 500, 100, 100)]; 29 [animation_ setStartOpacity:0.1]; 30 [animation_ setEndOpacity:1.0]; 31 [animation_ setDuration:0.5]; 32 [animation_ startAnimation]; 33 } 34 35 TEST_F(AnimatableImageTest, CancelAnimation) { 36 [animation_ setStartFrame:CGRectMake(0, 0, 10, 10)]; 37 [animation_ setEndFrame:CGRectMake(500, 500, 100, 100)]; 38 [animation_ setStartOpacity:0.1]; 39 [animation_ setEndOpacity:1.0]; 40 [animation_ setDuration:5.0]; // Long enough to be able to test cancelling. 41 [animation_ startAnimation]; 42 [animation_ close]; 43 } 44 45 } // namespace 46