blob: b710eb8248187065ba66152bbdf3d2e31765ac5a [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 "ui/views/test/test_layout_provider.h"
namespace views {
namespace test {
TestLayoutProvider::TestLayoutProvider() = default;
TestLayoutProvider::~TestLayoutProvider() = default;
void TestLayoutProvider::SetDistanceMetric(int metric, int value) {
distance_metrics_[metric] = value;
}
void TestLayoutProvider::SetSnappedDialogWidth(int width) {
snapped_dialog_width_ = width;
}
void TestLayoutProvider::SetFontDetails(
int context,
int style,
const ui::ResourceBundle::FontDetails& details) {
details_[{context, style}] = details;
}
int TestLayoutProvider::GetDistanceMetric(int metric) const {
if (distance_metrics_.count(metric))
return distance_metrics_.find(metric)->second;
return LayoutProvider::GetDistanceMetric(metric);
}
const TypographyProvider& TestLayoutProvider::GetTypographyProvider() const {
return *this;
}
int TestLayoutProvider::GetSnappedDialogWidth(int min_width) const {
return snapped_dialog_width_ ? snapped_dialog_width_ : min_width;
}
ui::ResourceBundle::FontDetails TestLayoutProvider::GetFontDetails(
int context,
int style) const {
auto it = details_.find({context, style});
return it != details_.end()
? it->second
: TypographyProvider::GetFontDetails(context, style);
}
} // namespace test
} // namespace views