blob: eb56372607537b5aee258c0a944c105784fdc7df [file] [log] [blame] [edit]
// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/viz/common/display/overlay_strategy.h"
#include <string>
#include <vector>
#include "components/viz/common/buildflags.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
using testing::IsEmpty;
using testing::UnorderedElementsAre;
namespace viz {
TEST(ParseOverlayStrategiesTest, ParseEmptyList) {
std::vector<OverlayStrategy> strategies = ParseOverlayStrategies("");
EXPECT_THAT(strategies, IsEmpty());
}
TEST(ParseOverlayStrategiesTest, ParseFullList) {
std::vector<OverlayStrategy> strategies =
ParseOverlayStrategies("single-fullscreen,single-on-top,underlay,cast");
EXPECT_THAT(strategies, UnorderedElementsAre(OverlayStrategy::kFullscreen,
OverlayStrategy::kSingleOnTop,
OverlayStrategy::kUnderlay
#if BUILDFLAG(ENABLE_CAST_OVERLAY_STRATEGY)
,
OverlayStrategy::kUnderlayCast
#endif
));
}
TEST(ParseOverlayStrategiesTest, BadValue) {
std::vector<OverlayStrategy> strategies =
ParseOverlayStrategies("single-fullscreen,bad-value,underlay");
// The string "bad-value" doesn't correspond to an overlay strategy so it
// should be skipped.
EXPECT_THAT(strategies, UnorderedElementsAre(OverlayStrategy::kFullscreen,
OverlayStrategy::kUnderlay));
}
} // namespace viz