Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / content / renderer / manifest / manifest_parser_unittest.cc
index 32730f7..1e3770b 100644 (file)
@@ -13,7 +13,7 @@ namespace content {
 class ManifestParserTest : public testing::Test  {
  protected:
   ManifestParserTest() {}
-  virtual ~ManifestParserTest() {}
+  ~ManifestParserTest() override {}
 
   Manifest ParseManifest(const base::StringPiece& json,
                          const GURL& document_url = default_document_url,
@@ -580,4 +580,28 @@ TEST_F(ManifestParserTest, IconSizesParseRules) {
   }
 }
 
+TEST_F(ManifestParserTest, GCMSenderIDParseRules) {
+  // Smoke test.
+  {
+    Manifest manifest = ParseManifest("{ \"gcm_sender_id\": \"foo\" }");
+    EXPECT_TRUE(EqualsASCII(manifest.gcm_sender_id.string(), "foo"));
+  }
+
+  // Trim whitespaces.
+  {
+    Manifest manifest = ParseManifest("{ \"gcm_sender_id\": \"  foo  \" }");
+    EXPECT_TRUE(EqualsASCII(manifest.gcm_sender_id.string(), "foo"));
+  }
+
+  // Don't parse if property isn't a string.
+  {
+    Manifest manifest = ParseManifest("{ \"gcm_sender_id\": {} }");
+    EXPECT_TRUE(manifest.gcm_sender_id.is_null());
+  }
+  {
+    Manifest manifest = ParseManifest("{ \"gcm_sender_id\": 42 }");
+    EXPECT_TRUE(manifest.gcm_sender_id.is_null());
+  }
+}
+
 } // namespace content