Upstream version 11.39.256.0
[platform/framework/web/crosswalk.git] / src / xwalk / application / common / id_util_unittest.cc
index d1ff418..f8adf3d 100644 (file)
@@ -1,7 +1,9 @@
 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
+// Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <string>
 #include "base/basictypes.h"
 #include "xwalk/application/common/id_util.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -9,6 +11,18 @@
 namespace xwalk {
 namespace application {
 
+namespace {
+
+std::string MakePlatformId(const std::string& arg) {
+#if defined(OS_TIZEN)
+  return "xwalk." + arg;
+#else
+  return arg;
+#endif
+}
+
+}  // namespace
+
 TEST(IDUtilTest, GenerateID) {
   const uint8 public_key_info[] = {
     0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
@@ -29,15 +43,51 @@ TEST(IDUtilTest, GenerateID) {
   std::string application_id = GenerateId(
       std::string(reinterpret_cast<const char*>(&public_key_info[0]),
                   arraysize(public_key_info)));
-  EXPECT_EQ("melddjfinppjdikinhbgehiennejpfhp", application_id);
 
-  EXPECT_EQ("jpignaibiiemhngfjkcpokkamffknabf", GenerateId("test"));
+  EXPECT_EQ(MakePlatformId("melddjfinppjdikinhbgehiennejpfhp"),
+      application_id);
+
+  EXPECT_EQ(MakePlatformId("jpignaibiiemhngfjkcpokkamffknabf"),
+      GenerateId("test"));
+
+  EXPECT_EQ(MakePlatformId("ncocknphbhhlhkikpnnlmbcnbgdempcd"),
+      GenerateId("_"));
+
+  EXPECT_EQ(MakePlatformId("jimneklojkjdibfkgiiophfhjhbdgcfi"),
+      GenerateId("this_string_is_longer_than_a_single_sha256_hash_digest"));
+}
+
+TEST(IDUtilTest, IsValidApplicationID) {
+  EXPECT_TRUE(IsValidApplicationID(
+      MakePlatformId("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")));
+  EXPECT_TRUE(IsValidApplicationID(
+      MakePlatformId("pppppppppppppppppppppppppppppppp")));
+  EXPECT_TRUE(IsValidApplicationID(
+      MakePlatformId("abcdefghijklmnopabcdefghijklmnop")));
+  EXPECT_FALSE(IsValidApplicationID(
+      MakePlatformId("abcdefghijklmnopabcdefghijklmno")));
+  EXPECT_FALSE(IsValidApplicationID(
+      MakePlatformId("abcdefghijklmnopabcdefghijklmnopa")));
+  EXPECT_FALSE(IsValidApplicationID(
+      MakePlatformId("0123456789abcdef0123456789abcdef")));
+  EXPECT_FALSE(IsValidApplicationID(
+      MakePlatformId("abcdefghijklmnopabcdefghijklmnoq")));
+  EXPECT_FALSE(IsValidApplicationID(
+      MakePlatformId("abcdefghijklmnopabcdefghijklmno0")));
 
-  EXPECT_EQ("ncocknphbhhlhkikpnnlmbcnbgdempcd", GenerateId("_"));
+// For Tizen platform upper case letters in application id are not allowed
+// so we expect false unlike in the other platforms that accept them.
+#if defined(OS_TIZEN)
+  EXPECT_FALSE(IsValidApplicationID(
+      MakePlatformId("ABCDEFGHIJKLMNOPABCDEFGHIJKLMNOP")));
+#else
+  EXPECT_TRUE(IsValidApplicationID(
+      MakePlatformId("ABCDEFGHIJKLMNOPABCDEFGHIJKLMNOP")));
+#endif
 
-  EXPECT_EQ("jimneklojkjdibfkgiiophfhjhbdgcfi",
-            GenerateId(
-                "this_string_is_longer_than_a_single_sha256_hash_digest"));
+#if defined(OS_TIZEN)
+  EXPECT_FALSE(IsValidApplicationID("abcdefghijklmnopabcdefghijklmnop"));
+#endif
 }
 
 }  // namespace application