Chromium Code Reviews| Index: chrome/browser/chromeos/setting_level_bubble_browsertest.cc |
| diff --git a/chrome/browser/chromeos/setting_level_bubble_browsertest.cc b/chrome/browser/chromeos/setting_level_bubble_browsertest.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..46b16dcca006ceee9759d1874ef9621f7425f967 |
| --- /dev/null |
| +++ b/chrome/browser/chromeos/setting_level_bubble_browsertest.cc |
| @@ -0,0 +1,73 @@ |
| +// Copyright (c) 2011 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 "base/message_loop.h" |
| +#include "chrome/browser/chromeos/setting_level_bubble.h" |
| +#include "chrome/browser/chromeos/setting_level_bubble_view.h" |
| +#include "chrome/test/base/in_process_browser_test.h" |
| +#include "third_party/skia/include/core/SkBitmap.h" |
| +#include "views/controls/progress_bar.h" |
| +#include "views/view.h" |
| + |
| + |
| +typedef InProcessBrowserTest SettingLevelBubbleTest; |
| + |
| +namespace chromeos { |
| + |
| +IN_PROC_BROWSER_TEST_F(SettingLevelBubbleTest, CreateAndUpdate) { |
| + SkBitmap up_icon; |
| + up_icon.setConfig(SkBitmap::kARGB_8888_Config, 10, 10); |
| + SkBitmap down_icon; |
| + down_icon.setConfig(SkBitmap::kARGB_8888_Config, 5, 5); |
| + SkBitmap mute_icon; |
| + mute_icon.setConfig(SkBitmap::kARGB_8888_Config, 1, 1); |
| + SettingLevelBubble bubble(&up_icon, |
| + &down_icon, |
| + &mute_icon); |
| + EXPECT_FALSE(bubble.view_ != NULL); |
|
msw
2011/10/26 18:51:42
Use EXPECT_EQ and EXPECT_NE here.
alicet1
2011/10/27 00:34:51
EXPECT_NE needs a casting for the null pointer, or
|
| + EXPECT_EQ(&up_icon, bubble.increase_icon_); |
| + EXPECT_EQ(&down_icon, bubble.decrease_icon_); |
| + EXPECT_EQ(&mute_icon, bubble.disabled_icon_); |
| + |
| + // Update setting: |
| + // Old target is 50, new target is 70, set enable = false. |
| + bubble.ShowBubble(70, false); |
| + EXPECT_TRUE(bubble.view_->GetWidget()->IsVisible()); |
| + EXPECT_EQ(&mute_icon, bubble.view_->icon_); |
| + EXPECT_FALSE(bubble.view_->progress_bar_->IsEnabled()); |
| + |
| + // Old target is 70, new target is 30, set enable = true. |
| + bubble.ShowBubble(30, true); |
| + EXPECT_EQ(&down_icon, bubble.view_->icon_); |
| + EXPECT_TRUE(bubble.view_->progress_bar_->IsEnabled()); |
| + |
| + // Old target is 30, new target is 0, set enable = true. |
| + bubble.ShowBubble(0, true); |
| + EXPECT_EQ(&mute_icon, bubble.view_->icon_); |
| + EXPECT_TRUE(bubble.view_->progress_bar_->IsEnabled()); |
| + |
| + MessageLoop::current()->RunAllPending(); |
| +} |
| + |
| +IN_PROC_BROWSER_TEST_F(SettingLevelBubbleTest, ShowBubble) { |
| + SkBitmap* dummy_icon = new SkBitmap; |
| + dummy_icon->setConfig(SkBitmap::kARGB_8888_Config, 50, 50); |
| + // Create setting at 30 percent, enabled. |
| + SettingLevelBubble bubble(dummy_icon, dummy_icon, dummy_icon); |
| + bubble.UpdateWithoutShowingBubble(30, false); |
| + EXPECT_FALSE(bubble.view_ != NULL); |
|
msw
2011/10/26 18:51:42
ditto here and line 65.
alicet1
2011/10/27 00:34:51
Done.
|
| + EXPECT_EQ(30, bubble.current_percent_); |
| + |
| + // Show bubble at 40 percent, enabled. |
| + bubble.ShowBubble(40, true); |
| + EXPECT_TRUE(bubble.view_ != NULL); |
| + EXPECT_TRUE(bubble.view_->GetWidget()->IsVisible()); |
| + |
| + // Update to 0 percent and close. |
| + bubble.UpdateWithoutShowingBubble(0, true); |
| + bubble.OnWidgetClosing(bubble.view_->GetWidget()); |
| + EXPECT_EQ(0, bubble.current_percent_); |
| +} |
| + |
| +} // namespace chromeos |