| Index: content/renderer/manifest/manifest_parser_unittest.cc
|
| diff --git a/content/renderer/manifest/manifest_parser_unittest.cc b/content/renderer/manifest/manifest_parser_unittest.cc
|
| index 2497cd2d38238b2498f99bac8fcb03e7ff14fb9f..12ea5d61f365365b62a49a08dbaf561893852863 100644
|
| --- a/content/renderer/manifest/manifest_parser_unittest.cc
|
| +++ b/content/renderer/manifest/manifest_parser_unittest.cc
|
| @@ -42,6 +42,7 @@ TEST_F(ManifestParserTest, EmptyStringNull) {
|
| ASSERT_TRUE(manifest.short_name.is_null());
|
| ASSERT_TRUE(manifest.start_url.is_empty());
|
| ASSERT_EQ(manifest.display, Manifest::DISPLAY_MODE_UNSPECIFIED);
|
| + ASSERT_EQ(manifest.orientation, blink::WebScreenOrientationLockDefault);
|
| }
|
|
|
| TEST_F(ManifestParserTest, ValidNoContentParses) {
|
| @@ -53,6 +54,7 @@ TEST_F(ManifestParserTest, ValidNoContentParses) {
|
| ASSERT_TRUE(manifest.short_name.is_null());
|
| ASSERT_TRUE(manifest.start_url.is_empty());
|
| ASSERT_EQ(manifest.display, Manifest::DISPLAY_MODE_UNSPECIFIED);
|
| + ASSERT_EQ(manifest.orientation, blink::WebScreenOrientationLockDefault);
|
| }
|
|
|
| TEST_F(ManifestParserTest, NameParseRules) {
|
| @@ -228,4 +230,99 @@ TEST_F(ManifestParserTest, DisplayParserRules) {
|
| }
|
| }
|
|
|
| +TEST_F(ManifestParserTest, OrientationParserRules) {
|
| + // Smoke test.
|
| + {
|
| + Manifest manifest = ParseManifest("{ \"orientation\": \"natural\" }");
|
| + EXPECT_EQ(manifest.orientation, blink::WebScreenOrientationLockNatural);
|
| + EXPECT_FALSE(manifest.IsEmpty());
|
| + }
|
| +
|
| + // Trim whitespaces.
|
| + {
|
| + Manifest manifest = ParseManifest("{ \"orientation\": \"natural\" }");
|
| + EXPECT_EQ(manifest.orientation, blink::WebScreenOrientationLockNatural);
|
| + }
|
| +
|
| + // Don't parse if name isn't a string.
|
| + {
|
| + Manifest manifest = ParseManifest("{ \"orientation\": {} }");
|
| + EXPECT_EQ(manifest.orientation, blink::WebScreenOrientationLockDefault);
|
| + }
|
| +
|
| + // Don't parse if name isn't a string.
|
| + {
|
| + Manifest manifest = ParseManifest("{ \"orientation\": 42 }");
|
| + EXPECT_EQ(manifest.orientation, blink::WebScreenOrientationLockDefault);
|
| + }
|
| +
|
| + // Parse fails if string isn't known.
|
| + {
|
| + Manifest manifest = ParseManifest("{ \"orientation\": \"naturalish\" }");
|
| + EXPECT_EQ(manifest.orientation, blink::WebScreenOrientationLockDefault);
|
| + }
|
| +
|
| + // Accept 'any'.
|
| + {
|
| + Manifest manifest = ParseManifest("{ \"orientation\": \"any\" }");
|
| + EXPECT_EQ(manifest.orientation, blink::WebScreenOrientationLockAny);
|
| + }
|
| +
|
| + // Accept 'natural'.
|
| + {
|
| + Manifest manifest = ParseManifest("{ \"orientation\": \"natural\" }");
|
| + EXPECT_EQ(manifest.orientation, blink::WebScreenOrientationLockNatural);
|
| + }
|
| +
|
| + // Accept 'landscape'.
|
| + {
|
| + Manifest manifest = ParseManifest("{ \"orientation\": \"landscape\" }");
|
| + EXPECT_EQ(manifest.orientation, blink::WebScreenOrientationLockLandscape);
|
| + }
|
| +
|
| + // Accept 'landscape-primary'.
|
| + {
|
| + Manifest manifest =
|
| + ParseManifest("{ \"orientation\": \"landscape-primary\" }");
|
| + EXPECT_EQ(manifest.orientation,
|
| + blink::WebScreenOrientationLockLandscapePrimary);
|
| + }
|
| +
|
| + // Accept 'landscape-secondary'.
|
| + {
|
| + Manifest manifest =
|
| + ParseManifest("{ \"orientation\": \"landscape-secondary\" }");
|
| + EXPECT_EQ(manifest.orientation,
|
| + blink::WebScreenOrientationLockLandscapeSecondary);
|
| + }
|
| +
|
| + // Accept 'portrait'.
|
| + {
|
| + Manifest manifest = ParseManifest("{ \"orientation\": \"portrait\" }");
|
| + EXPECT_EQ(manifest.orientation, blink::WebScreenOrientationLockPortrait);
|
| + }
|
| +
|
| + // Accept 'portrait-primary'.
|
| + {
|
| + Manifest manifest =
|
| + ParseManifest("{ \"orientation\": \"portrait-primary\" }");
|
| + EXPECT_EQ(manifest.orientation,
|
| + blink::WebScreenOrientationLockPortraitPrimary);
|
| + }
|
| +
|
| + // Accept 'portrait-secondary'.
|
| + {
|
| + Manifest manifest =
|
| + ParseManifest("{ \"orientation\": \"portrait-secondary\" }");
|
| + EXPECT_EQ(manifest.orientation,
|
| + blink::WebScreenOrientationLockPortraitSecondary);
|
| + }
|
| +
|
| + // Case insensitive.
|
| + {
|
| + Manifest manifest = ParseManifest("{ \"orientation\": \"LANDSCAPE\" }");
|
| + EXPECT_EQ(manifest.orientation, blink::WebScreenOrientationLockLandscape);
|
| + }
|
| +}
|
| +
|
| } // namespace content
|
|
|