| // Copyright (c) 2011 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 "login_manager/session_manager_service.h" |
| |
| #include <gtest/gtest.h> |
| |
| namespace login_manager { |
| |
| TEST(SessionManagerTestStatic, EmailAddressTest) { |
| const char valid[] = "user_who+we.like@some-where.com"; |
| EXPECT_TRUE(SessionManagerService::ValidateEmail(valid)); |
| } |
| |
| TEST(SessionManagerTestStatic, EmailAddressNonAsciiTest) { |
| char invalid[4] = "a@m"; |
| invalid[2] = 254; |
| EXPECT_FALSE(SessionManagerService::ValidateEmail(invalid)); |
| } |
| |
| TEST(SessionManagerTestStatic, EmailAddressNoAtTest) { |
| const char no_at[] = "user"; |
| EXPECT_FALSE(SessionManagerService::ValidateEmail(no_at)); |
| } |
| |
| TEST(SessionManagerTestStatic, EmailAddressTooMuchAtTest) { |
| const char extra_at[] = "user@what@where"; |
| EXPECT_FALSE(SessionManagerService::ValidateEmail(extra_at)); |
| } |
| |
| TEST(SessionManagerTestStatic, GetArgLists0) { |
| std::vector<std::string> args; |
| std::vector<std::vector<std::string> > arg_lists = |
| SessionManagerService::GetArgLists(args); |
| EXPECT_EQ(0, arg_lists.size()); |
| } |
| |
| namespace { |
| |
| static std::vector<std::vector<std::string> > GetArgs(const char** c_args) { |
| std::vector<std::string> args; |
| while (*c_args) { |
| args.push_back(*c_args); |
| c_args++; |
| } |
| return SessionManagerService::GetArgLists(args); |
| } |
| |
| } // anonymous namespace |
| |
| TEST(SessionManagerTestStatic, GetArgLists1) { |
| const char* c_args[] = {"a", "b", "c", NULL}; |
| std::vector<std::vector<std::string> > arg_lists = GetArgs(c_args); |
| EXPECT_EQ(1, arg_lists.size()); |
| EXPECT_EQ(3, arg_lists[0].size()); |
| } |
| |
| TEST(SessionManagerTestStatic, GetArgLists2) { |
| const char* c_args[] = {"a", "b", "c", "--", "d", NULL}; |
| std::vector<std::vector<std::string> > arg_lists = GetArgs(c_args); |
| EXPECT_EQ(2, arg_lists.size()); |
| EXPECT_EQ(3, arg_lists[0].size()); |
| EXPECT_EQ(1, arg_lists[1].size()); |
| } |
| |
| TEST(SessionManagerTestStatic, GetArgLists_TrailingDashes) { |
| const char* c_args[] = {"a", "b", "c", "--", NULL}; |
| std::vector<std::vector<std::string> > arg_lists = GetArgs(c_args); |
| EXPECT_EQ(1, arg_lists.size()); |
| EXPECT_EQ(3, arg_lists[0].size()); |
| } |
| |
| TEST(SessionManagerTestStatic, GetArgLists3_InitialDashes) { |
| const char* c_args[] = {"--", "a", "b", "c", NULL}; |
| std::vector<std::vector<std::string> > arg_lists = GetArgs(c_args); |
| EXPECT_EQ(1, arg_lists.size()); |
| EXPECT_EQ(3, arg_lists[0].size()); |
| } |
| |
| } // namespace login_manager |