blob: cbfc92d105b29558e000941442cb6e40d45e056c [file] [log] [blame]
// Copyright 2017 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 "chromecast/graphics/cast_window_manager_aura.h"
#include "ui/aura/test/aura_test_base.h"
#include "ui/aura/window.h"
#include "ui/views/controls/progress_bar.h"
#include "ui/views/widget/widget.h"
namespace chromecast {
namespace test {
using CastViewsTest = aura::test::AuraTestBase;
TEST_F(CastViewsTest, ProgressBar) {
std::unique_ptr<CastWindowManager> window_manager =
std::make_unique<CastWindowManagerAura>(true /* enable input */);
gfx::Rect bounds = window_manager->GetRootWindow()->bounds();
views::ProgressBar* progress_bar = new views::ProgressBar(bounds.height());
progress_bar->SetValue(0.5);
// Create the window. We close the window by deleting it, so we take
// ownership of the widget + native widget.
views::Widget::InitParams params;
params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
params.context = window_manager->GetRootWindow();
params.type = views::Widget::InitParams::TYPE_WINDOW_FRAMELESS;
params.opacity = views::Widget::InitParams::TRANSLUCENT_WINDOW;
params.shadow_type = views::Widget::InitParams::SHADOW_TYPE_NONE;
params.bounds = bounds;
std::unique_ptr<views::Widget> widget(new views::Widget);
widget->Init(params);
widget->SetOpacity(0.6);
widget->SetContentsView(progress_bar);
window_manager->SetWindowId(widget->GetNativeView(),
CastWindowManager::VOLUME);
widget->Show();
EXPECT_TRUE(progress_bar->GetWidget());
EXPECT_TRUE(progress_bar->GetWidget()->IsVisible());
EXPECT_TRUE(progress_bar->visible());
EXPECT_TRUE(progress_bar->enabled());
widget.reset();
window_manager.reset();
}
} // namespace test
} // namespace chromecast