diff options
Diffstat (limited to 'app/slide_animation_unittest.cc')
-rw-r--r-- | app/slide_animation_unittest.cc | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/app/slide_animation_unittest.cc b/app/slide_animation_unittest.cc new file mode 100644 index 0000000..8bc947f --- /dev/null +++ b/app/slide_animation_unittest.cc @@ -0,0 +1,29 @@ +// Copyright (c) 2010 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 "app/slide_animation.h" +#include "app/test_animation_delegate.h" +#include "testing/gtest/include/gtest/gtest.h" + +class SlideAnimationTest: public testing::Test { + private: + MessageLoopForUI message_loop_; +}; + +// Tests that delegate is not notified when animation is running and is deleted. +// (Such a scenario would cause problems for BoundsAnimator). +TEST_F(SlideAnimationTest, DontNotifyOnDelete) { + TestAnimationDelegate delegate; + scoped_ptr<SlideAnimation> animation(new SlideAnimation(&delegate)); + + // Start the animation. + animation->Show(); + + // Delete the animation. + animation.reset(); + + // Make sure the delegate wasn't notified. + EXPECT_FALSE(delegate.finished()); + EXPECT_FALSE(delegate.canceled()); +} |