blob: 43bc2a37de5f7375dbe8bd107704314bbd3adc14 [file] [log] [blame]
// Copyright 2016 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 "ash/test/test_system_tray_item.h"
#include "ash/test/ash_test_base.h"
#include "base/strings/utf_string_conversions.h"
#include "ui/views/controls/label.h"
#include "ui/views/layout/fill_layout.h"
#include "ui/views/view.h"
namespace ash {
namespace test {
TestSystemTrayItem::TestSystemTrayItem() : TestSystemTrayItem(UMA_TEST) {}
TestSystemTrayItem::TestSystemTrayItem(SystemTrayItem::UmaType uma_type)
: SystemTrayItem(AshTestBase::GetPrimarySystemTray(), uma_type),
has_views_(true),
views_are_visible_(true),
tray_view_(nullptr),
default_view_(nullptr),
detailed_view_(nullptr) {}
TestSystemTrayItem::~TestSystemTrayItem() {}
views::View* TestSystemTrayItem::CreateTrayView(LoginStatus status) {
if (!has_views_) {
tray_view_ = nullptr;
return tray_view_;
}
tray_view_ = new views::View;
// Add a label so it has non-zero width.
tray_view_->SetLayoutManager(new views::FillLayout);
tray_view_->AddChildView(new views::Label(base::UTF8ToUTF16("Tray")));
tray_view_->SetVisible(views_are_visible_);
return tray_view_;
}
views::View* TestSystemTrayItem::CreateDefaultView(LoginStatus status) {
if (!has_views_) {
default_view_ = nullptr;
return default_view_;
}
default_view_ = new views::View;
default_view_->SetLayoutManager(new views::FillLayout);
default_view_->AddChildView(new views::Label(base::UTF8ToUTF16("Default")));
default_view_->SetVisible(views_are_visible_);
return default_view_;
}
views::View* TestSystemTrayItem::CreateDetailedView(LoginStatus status) {
if (!has_views_) {
detailed_view_ = nullptr;
return detailed_view_;
}
detailed_view_ = new views::View;
detailed_view_->SetLayoutManager(new views::FillLayout);
detailed_view_->AddChildView(new views::Label(base::UTF8ToUTF16("Detailed")));
detailed_view_->SetVisible(views_are_visible_);
return detailed_view_;
}
void TestSystemTrayItem::DestroyTrayView() {
tray_view_ = nullptr;
}
void TestSystemTrayItem::DestroyDefaultView() {
default_view_ = nullptr;
}
void TestSystemTrayItem::DestroyDetailedView() {
detailed_view_ = nullptr;
}
void TestSystemTrayItem::UpdateAfterLoginStatusChange(LoginStatus status) {}
} // namespace test
} // namespace ash