blob: b4f1a0c5919bc4a13964ec0585b670b529b5fc23 [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 "content/public/common/manifest_util.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h"
namespace content {
TEST(ManifestUtilTest, WebDisplayModeConversions) {
struct ReversibleConversion {
blink::WebDisplayMode display_mode;
std::string lowercase_display_mode_string;
} reversible_conversions[] = {
{blink::WebDisplayModeUndefined, ""},
{blink::WebDisplayModeBrowser, "browser"},
{blink::WebDisplayModeMinimalUi, "minimal-ui"},
{blink::WebDisplayModeStandalone, "standalone"},
{blink::WebDisplayModeFullscreen, "fullscreen"},
};
for (const ReversibleConversion& conversion : reversible_conversions) {
EXPECT_EQ(
conversion.display_mode,
WebDisplayModeFromString(conversion.lowercase_display_mode_string));
EXPECT_EQ(conversion.lowercase_display_mode_string,
WebDisplayModeToString(conversion.display_mode));
}
// WebDisplayModeFromString() should work with non-lowercase strings.
EXPECT_EQ(blink::WebDisplayModeFullscreen,
WebDisplayModeFromString("Fullscreen"));
// WebDisplayModeFromString() should return
// blink::WebDisplayModeUndefined if the string isn't known.
EXPECT_EQ(blink::WebDisplayModeUndefined,
WebDisplayModeFromString("random"));
}
TEST(ManifestUtilTest, WebScreenOrientationLockTypeConversions) {
struct ReversibleConversion {
blink::WebScreenOrientationLockType orientation;
std::string lowercase_orientation_string;
} reversible_conversions[] = {
{blink::WebScreenOrientationLockDefault, ""},
{blink::WebScreenOrientationLockPortraitPrimary, "portrait-primary"},
{blink::WebScreenOrientationLockPortraitSecondary, "portrait-secondary"},
{blink::WebScreenOrientationLockLandscapePrimary, "landscape-primary"},
{blink::WebScreenOrientationLockLandscapeSecondary,
"landscape-secondary"},
{blink::WebScreenOrientationLockAny, "any"},
{blink::WebScreenOrientationLockLandscape, "landscape"},
{blink::WebScreenOrientationLockPortrait, "portrait"},
{blink::WebScreenOrientationLockNatural, "natural"},
};
for (const ReversibleConversion& conversion : reversible_conversions) {
EXPECT_EQ(conversion.orientation,
WebScreenOrientationLockTypeFromString(
conversion.lowercase_orientation_string));
EXPECT_EQ(conversion.lowercase_orientation_string,
WebScreenOrientationLockTypeToString(conversion.orientation));
}
// WebScreenOrientationLockTypeFromString() should work with non-lowercase
// strings.
EXPECT_EQ(blink::WebScreenOrientationLockNatural,
WebScreenOrientationLockTypeFromString("Natural"));
// WebScreenOrientationLockTypeFromString() should return
// blink::WebScreenOrientationLockDefault if the string isn't known.
EXPECT_EQ(blink::WebScreenOrientationLockDefault,
WebScreenOrientationLockTypeFromString("random"));
}
} // namespace content