Index: chromeos_login_unittest.cc |
diff --git a/chromeos_login_unittest.cc b/chromeos_login_unittest.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f98a925cc64a190157393c988a0ee38cd522e54c |
--- /dev/null |
+++ b/chromeos_login_unittest.cc |
@@ -0,0 +1,56 @@ |
+// Copyright (c) 2010 The Chromium OS 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 "chromeos_login.h" |
+#include "chromeos_login_helpers.h" |
+ |
+#include "gtest/gtest.h" |
+ |
+namespace chromeos { |
+ |
+TEST(ChromeOSLoginApiTest, CryptoBlob) { |
+ const char expected[] = "hello"; |
+ GArray* ary = g_array_sized_new(FALSE, FALSE, 1, strlen(expected)); |
+ g_array_append_vals(ary, expected, strlen(expected)); |
+ CryptoBlob* blob = ChromeOSLoginHelpers::CreateCryptoBlob(ary); |
+ |
+ for (int i = 0; i < blob->length; ++i) |
+ EXPECT_EQ(blob->data[i], expected[i]); |
+ EXPECT_EQ(blob->length, strlen(expected)); |
+ |
+ g_array_free(ary, TRUE); |
+ ChromeOSLoginHelpers::FreeCryptoBlob(blob); |
+} |
+ |
+TEST(ChromeOSLoginApiTest, Property) { |
+ const char name[] = "name"; |
+ const char val[] = "val"; |
+ const char expected[] = "hello"; |
+ GArray* ary = g_array_sized_new(FALSE, FALSE, 1, strlen(expected)); |
+ g_array_append_vals(ary, expected, strlen(expected)); |
+ Property* prop = ChromeOSLoginHelpers::CreateProperty(name, val, ary); |
+ |
+ for (int i = 0; i < prop->signature->length; ++i) |
+ EXPECT_EQ(prop->signature->data[i], expected[i]); |
+ EXPECT_EQ(prop->signature->length, strlen(expected)); |
+ EXPECT_EQ(name, std::string(prop->name)); |
+ EXPECT_EQ(val, std::string(prop->value)); |
+ |
+ g_array_free(ary, TRUE); |
+ ChromeOSLoginHelpers::FreeProperty(prop); |
+} |
+ |
+TEST(ChromeOSLoginApiTest, UserList) { |
+ // NULL-terminated array of NULL-terminated strings to mimic a GLib |
+ // "vector" of strings. |
+ const char* names[4] = { "who", "what", "where", NULL }; |
+ UserList* users = ChromeOSLoginHelpers::CreateUserList(names); |
+ int count; |
+ for (count = 0; names[count] != NULL; count++) |
+ EXPECT_EQ(names[count], std::string(users->users[count])); |
+ EXPECT_EQ(count, users->num_users); |
+ ChromeOSLoginHelpers::FreeUserList(users); |
+} |
+ |
+} // namespace chromeos |