summaryrefslogtreecommitdiffstats
path: root/app/slide_animation_unittest.cc
blob: d34b975ed9ff5c0b50a018dd9686348c15e16897 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// 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 "base/scoped_ptr.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());
}