1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/common/sync_util.h"
7 #include "base/command_line.h"
8 #include "base/strings/string_util.h"
9 #include "chrome/common/chrome_switches.h"
10 #include "testing/gtest/include/gtest/gtest.h"
15 TEST(SyncUtilTest
, GetSyncServiceURLWithoutCommandLineSwitch
) {
16 // If the command line is not set the url is one of two constants chosen based
17 // on the channel (e.g. beta).
18 base::CommandLine
command_line(base::CommandLine::NO_PROGRAM
);
19 std::string url
= GetSyncServiceURL(command_line
).spec();
20 ASSERT_TRUE(internal::kSyncServerUrl
== url
||
21 internal::kSyncDevServerUrl
== url
);
24 TEST(SyncUtilTest
, GetSyncServiceURLWithCommandLineSwitch
) {
25 // See that we can set the URL via the command line.
26 base::CommandLine
command_line(base::CommandLine::NO_PROGRAM
);
27 command_line
.AppendSwitchASCII(switches::kSyncServiceURL
, "https://foo/bar");
28 ASSERT_EQ("https://foo/bar", GetSyncServiceURL(command_line
).spec());
31 TEST(SyncUtilTest
, GetSyncServiceURLWithBadCommandLineSwitch
) {
32 // If the command line value is not a valid url it is ignored.
33 base::CommandLine
command_line(base::CommandLine::NO_PROGRAM
);
34 command_line
.AppendSwitchASCII(switches::kSyncServiceURL
, "invalid_url");
35 std::string url
= GetSyncServiceURL(command_line
).spec();
36 ASSERT_TRUE(internal::kSyncServerUrl
== url
||
37 internal::kSyncDevServerUrl
== url
);
40 TEST(SyncUtilTest
, MakeUserAgentForSync
) {
41 std::string user_agent
= MakeUserAgentForSync("TEST");
42 ASSERT_TRUE(base::StartsWith(user_agent
, "Chrome TEST",
43 base::CompareCase::SENSITIVE
));