Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(97)

Unified Diff: common/extra_args_parser_unittest.cc

Issue 624713003: Keep only base/extractor.[cc|h]. (Closed) Base URL: https://chromium.googlesource.com/external/omaha.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « common/extra_args_parser.cc ('k') | common/goopdate_command_line_validator.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: common/extra_args_parser_unittest.cc
diff --git a/common/extra_args_parser_unittest.cc b/common/extra_args_parser_unittest.cc
deleted file mode 100644
index 00f96a23959ece1836daffd2a17c0ebb49547a83..0000000000000000000000000000000000000000
--- a/common/extra_args_parser_unittest.cc
+++ /dev/null
@@ -1,1663 +0,0 @@
-// Copyright 2008-2009 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-// ========================================================================
-
-#include "omaha/base/string.h"
-#include "omaha/base/utils.h"
-#include "omaha/common/command_line.h"
-#include "omaha/common/extra_args_parser.h"
-#include "omaha/testing/resource.h"
-#include "omaha/testing/unit_test.h"
-
-namespace omaha {
-
-extern void VerifyCommandLineArgs(const CommandLineArgs& expected,
- const CommandLineArgs& actual);
-
-extern void VerifyCommandLineExtraArgs(const CommandLineExtraArgs& expected,
- const CommandLineExtraArgs& actual);
-
-void VerifyBrowserType(const CommandLineExtraArgs& args,
- const CString& app_guid,
- BrowserType type) {
- CommandLineAppArgs app_args;
- app_args.app_guid = StringToGuid(app_guid);
-
- CommandLineExtraArgs expected;
- expected.browser_type = type;
- expected.apps.push_back(app_args);
-
- VerifyCommandLineExtraArgs(expected, args);
-}
-
-// TODO(omaha): Consider eliminating most uses of this method. The tests will
-// actually be less lines now that the parameters have grown so much.
-void VerifyExtraArgsHaveSpecificValues(
- const CommandLineExtraArgs& args,
- const CString& expected_app_guid,
- const CString& expected_app_name,
- const CString& expected_app_experiment_labels,
- NeedsAdmin expected_needs_admin,
- Tristate expected_usage_stats_enable,
- bool expected_runtime_only,
- const CString& expected_bundle_name,
- const GUID& expected_installation_id,
- const CString& expected_brand_code,
- const CString& expected_client_id,
- const CString& expected_omaha_experiment_labels,
- const CString& expected_referral_id,
- const CString& expected_ap,
- const CString& expected_tt,
- const CString& expected_encoded_installer_data,
- const CString& expected_install_data_index) {
- CommandLineAppArgs app_args;
- app_args.app_guid = StringToGuid(expected_app_guid);
- app_args.app_name = expected_app_name;
- app_args.needs_admin = expected_needs_admin;
- app_args.ap = expected_ap;
- app_args.tt_token = expected_tt;
- app_args.encoded_installer_data = expected_encoded_installer_data;
- app_args.install_data_index = expected_install_data_index;
- app_args.experiment_labels = expected_app_experiment_labels;
-
- CommandLineExtraArgs expected;
- expected.apps.push_back(app_args);
- expected.bundle_name = expected_bundle_name;
- expected.installation_id = expected_installation_id;
- expected.brand_code = expected_brand_code;
- expected.client_id = expected_client_id;
- expected.experiment_labels = expected_omaha_experiment_labels;
- expected.referral_id = expected_referral_id;
- expected.usage_stats_enable = expected_usage_stats_enable;
- expected.runtime_only = expected_runtime_only;
-
- VerifyCommandLineExtraArgs(expected, args);
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsInvalidValueNameIsSupersetOfValidName) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={D0324988-DA8A-49e5-BCE5-925FCD04EAB7}&")
- _T("appname1=Hello");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsAppNameSpaceForValue) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={D0324988-DA8A-49e5-BCE5-925FCD04EAB7}&")
- _T("appname= ");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsAppNameValid) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
-
- CString app_guid = _T("{D0324988-DA8A-49e5-BCE5-925FCD04EAB7}");
- CString extra_args = _T("appguid={D0324988-DA8A-49e5-BCE5-925FCD04EAB7}&")
- _T("appname=Test");
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
-
- CommandLineAppArgs app_args;
-
- app_args.app_name = _T("Test");
- app_args.app_guid = StringToGuid(app_guid);
- CommandLineExtraArgs expected;
- expected.apps.push_back(app_args);
- expected.bundle_name = _T("Test");
-
- VerifyCommandLineExtraArgs(expected, args);
-}
-
-// This must work because the enterprise MSI code assumes spaces are allowed.
-TEST(ExtraArgsParserTest, ExtraArgumentsAppNameWithSpace) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={D0324988-DA8A-49e5-BCE5-925FCD04EAB7}&")
- _T("appname=Test App");
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
-
- CommandLineAppArgs app_args;
- app_args.app_guid =
- StringToGuid(_T("{D0324988-DA8A-49e5-BCE5-925FCD04EAB7}"));
- app_args.app_name = _T("Test App");
-
- CommandLineExtraArgs expected;
- expected.apps.push_back(app_args);
- expected.bundle_name = _T("Test App");
-
- VerifyCommandLineExtraArgs(expected, args);
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsAppNameWithSpaceAtEnd) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={D0324988-DA8A-49e5-BCE5-925FCD04EAB7}&")
- _T("appname= T Ap p ");
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
-
- CommandLineAppArgs app_args;
- app_args.app_guid =
- StringToGuid(_T("{D0324988-DA8A-49e5-BCE5-925FCD04EAB7}"));
- app_args.app_name = _T("T Ap p");
-
- CommandLineExtraArgs expected;
- expected.apps.push_back(app_args);
- expected.bundle_name = _T("T Ap p");
-
- VerifyCommandLineExtraArgs(expected, args);
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsAppNameWithMultipleSpaces) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={D0324988-DA8A-49e5-BCE5-925FCD04EAB7}&")
- _T("appname= T Ap p");
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
-
- CommandLineAppArgs app_args;
- app_args.app_guid =
- StringToGuid(_T("{D0324988-DA8A-49e5-BCE5-925FCD04EAB7}"));
- app_args.app_name = _T("T Ap p");
-
- CommandLineExtraArgs expected;
- expected.apps.push_back(app_args);
- expected.bundle_name = _T("T Ap p");
-
- VerifyCommandLineExtraArgs(expected, args);
-}
-
-// The size of the application name is limited to 512 wide chars.
-TEST(ExtraArgsParserTest, ExtraArgumentsAppNameTooLong) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString str(_T('a'), 513);
- CString extra_args;
- extra_args.Format(_T("appguid={D0324988-DA8A-49e5-BCE5-925FCD04EAB7}&")
- _T("appname=%s"), str);
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsAppNameUnicode) {
- // Read the non-ascii string from the resources, and convert
- // it into a utf8 encoded, url escaped string.
- CString non_ascii_name;
- ASSERT_TRUE(non_ascii_name.LoadString(IDS_ESCAPE_TEST));
-
- CString wide_tag;
- ASSERT_HRESULT_SUCCEEDED(WideStringToUtf8UrlEncodedString(non_ascii_name,
- &wide_tag));
-
- ExtraArgsParser parser;
- CommandLineExtraArgs args;
- CString extra_args;
- extra_args.Format(_T("appguid={D0324988-DA8A-49e5-BCE5-925FCD04EAB7}&")
- _T("appname=%s"), wide_tag);
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
-
- CommandLineAppArgs app_args;
- app_args.app_name = non_ascii_name;
- app_args.app_guid =
- StringToGuid(_T("{D0324988-DA8A-49e5-BCE5-925FCD04EAB7}"));
-
- CommandLineExtraArgs expected;
- expected.apps.push_back(app_args);
- expected.bundle_name = non_ascii_name;
-
- VerifyCommandLineExtraArgs(expected, args);
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsAppNameUnicode2) {
- // Read the non-ascii string from the resources, and convert
- // it into a utf8 encoded, url escaped string.
- CString non_ascii_name;
- ASSERT_TRUE(non_ascii_name.LoadString(IDS_ESCAPE_TEST1));
-
- CString escaped(_T("%E0%A4%B8%E0%A5%8D%E0%A4%A5%E0%A4%BE%E0%A4%AA%E0%A4%BF")
- _T("%E0%A4%A4%20%E0%A4%95%E0%A4%B0%20%E0%A4%B0%E0%A4%B9%E0")
- _T("%A4%BE%20%E0%A4%B9%E0%A5%88%E0%A5%A4"));
-
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
-
- CString extra_args;
- extra_args.Format(_T("appguid={D0324988-DA8A-49e5-BCE5-925FCD04EAB7}&")
- _T("appname=%s"), escaped);
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
-
- CommandLineAppArgs app_args;
- app_args.app_name = non_ascii_name;
- app_args.app_guid =
- StringToGuid(_T("{D0324988-DA8A-49e5-BCE5-925FCD04EAB7}"));
-
- CommandLineExtraArgs expected;
- expected.apps.push_back(app_args);
- expected.bundle_name = non_ascii_name;
-
- VerifyCommandLineExtraArgs(expected, args);
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsAppGuidValid) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}");
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
-
- CommandLineAppArgs app_args;
- const GUID guid = {0x8617EE50, 0xF91C, 0x4DC1,
- {0xB9, 0x37, 0x09, 0x69, 0xEE, 0xF5, 0x9B, 0x0B}};
- app_args.app_guid = guid;
-
- CommandLineExtraArgs expected;
- expected.apps.push_back(app_args);
-
- VerifyCommandLineExtraArgs(expected, args);
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsAppGuidNotAValidGuid) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0}");
- EXPECT_EQ(E_INVALIDARG, parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsAppGuidNotAGuid) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid=myguid");
- EXPECT_EQ(E_INVALIDARG, parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsNeedsAdminInvalid) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("needsadmin=Hello");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsNeedsAdminSpaceForValue) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("needsadmin= ");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsNeedsAdminTrueUpperCaseT) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("")
- _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("needsadmin=True");
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
-
- CommandLineAppArgs app_args;
- app_args.needs_admin = NEEDS_ADMIN_YES;
- app_args.app_guid =
- StringToGuid(_T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"));
-
- CommandLineExtraArgs expected;
- expected.apps.push_back(app_args);
-
- VerifyCommandLineExtraArgs(expected, args);
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsNeedsAdminTrueLowerCaseT) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("")
- _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("needsadmin=true");
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
-
- CommandLineAppArgs app_args;
- app_args.needs_admin = NEEDS_ADMIN_YES;
- app_args.app_guid =
- StringToGuid(_T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"));
-
- CommandLineExtraArgs expected;
- expected.apps.push_back(app_args);
-
- VerifyCommandLineExtraArgs(expected, args);
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsNeedsFalseUpperCaseF) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("")
- _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("needsadmin=False");
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
-
- CommandLineAppArgs app_args;
- app_args.needs_admin = NEEDS_ADMIN_NO;
- app_args.app_guid =
- StringToGuid(_T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"));
-
- CommandLineExtraArgs expected;
- expected.apps.push_back(app_args);
-
- VerifyCommandLineExtraArgs(expected, args);
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsNeedsAdminFalseLowerCaseF) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("")
- _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("needsadmin=false");
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
-
- CommandLineAppArgs app_args;
- app_args.needs_admin = NEEDS_ADMIN_NO;
- app_args.app_guid =
- StringToGuid(_T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"));
-
- CommandLineExtraArgs expected;
- expected.apps.push_back(app_args);
-
- VerifyCommandLineExtraArgs(expected, args);
-}
-
-//
-// Test the handling of the contents of the extra arguments.
-//
-
-TEST(ExtraArgsParserTest, ExtraArgumentsAssignmentOnly) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("=");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsExtraAssignment1) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=1=");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsExtraAssignment2) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("=usagestats=1");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsExtraAssignment3) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=1&=");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsExtraAssignment4) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("=&usagestats=1");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsValueWithoutName) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("=hello");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-
-// Also tests ending extra arguments with '='.
-TEST(ExtraArgsParserTest, ExtraArgumentsNameWithoutValue) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsNameWithoutValueBeforeNextArgument) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("")
- _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=&client=hello");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest,
- ExtraArgumentsNameWithoutArgumentSeparatorAfterIntValue) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("")
- _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=1client=hello");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest,
- ExtraArgumentsNameWithoutArgumentSeparatorAfterStringValue) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("")
- _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=yesclient=hello");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsHaveDoubleAmpersand) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("")
- _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=1&&client=hello");
-
- CString app_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("installerdata=foobar");
-
- // Ideally, this would flag an error.
- EXPECT_SUCCEEDED(parser.Parse(extra_args, app_args, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- _T(""),
- _T(""),
- NEEDS_ADMIN_NO,
- TRISTATE_TRUE,
- false,
- _T(""),
- GUID_NULL,
- _T(""),
- _T("hello"),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T("foobar"),
- _T(""));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsAmpersandOnly) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("&");
-
- // Ideally, this would flag an error.
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{00000000-0000-0000-0000-000000000000}"),
- _T(""),
- _T(""),
- NEEDS_ADMIN_NO,
- TRISTATE_NONE,
- false,
- _T(""),
- GUID_NULL,
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsBeginInAmpersand) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("&appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=1");
-
- // Ideally, this would flag an error.
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- _T(""),
- _T(""),
- NEEDS_ADMIN_NO,
- TRISTATE_TRUE,
- false,
- _T(""),
- GUID_NULL,
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsEndInAmpersand) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("&appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=1&");
-
- // Ideally, this would flag an error.
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- _T(""),
- _T(""),
- NEEDS_ADMIN_NO,
- TRISTATE_TRUE,
- false,
- _T(""),
- GUID_NULL,
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsEmptyString) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsWhiteSpaceOnly1) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T(" ");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsWhiteSpaceOnly2) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("\t");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsWhiteSpaceOnly3) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("\r");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsWhiteSpaceOnly4) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("\n");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsWhiteSpaceOnly5) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("\r\n");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-
-//
-// Test the parsing of the extra command and its arguments into a string.
-//
-
-TEST(ExtraArgsParserTest, ExtraArgumentsOneValid) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("&appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=1");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- _T(""),
- _T(""),
- NEEDS_ADMIN_NO,
- TRISTATE_TRUE,
- false,
- _T(""),
- GUID_NULL,
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsTwoValid) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("&appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=1&client=hello");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- _T(""),
- _T(""),
- NEEDS_ADMIN_NO,
- TRISTATE_TRUE,
- false,
- _T(""),
- GUID_NULL,
- _T(""),
- _T("hello"),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsHaveSwitchInTheMiddle) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=1/other_value=9");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsHaveDoubleQuoteInTheMiddle) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=1\"/other_value=9");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest,
- ExtraArgumentsHaveDoubleQuoteInTheMiddleAndNoForwardSlash) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=1\"other_value=9");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsHaveSpaceAndForwardSlashBeforeQuote) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=1 /other_value=9");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsHaveForwardSlashBeforeQuote) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=1/other_value=9");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsSpecifiedTwice) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=1\" \"client=10");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsWhiteSpaceBeforeArgs1) {
- CommandLineExtraArgs args;
- // TODO(omaha): This one passes now due to different whitespace
- // handling. Remove it? Is this really a problem to have?
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T(" usagestats=1");
- ExtraArgsParser parser;
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsWhiteSpaceBeforeArgs2) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("\tappguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=1");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsWhiteSpaceBeforeArgs3) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("\rappguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=1");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsWhiteSpaceBeforeArgs4) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("\nappguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}")
- _T("&usagestats=1");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsWhiteSpaceBeforeArgs5) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("\r\nusagestats=1");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsForwardSlash1) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("/");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsForwardSlash2) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("/ appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsBackwardSlash1) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("\\");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsBackwardSlash2) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("\\appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ExtraArgumentsBackwardSlash3) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("\\ appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-//
-// Test specific extra commands.
-//
-
-TEST(ExtraArgsParserTest, UsageStatsOutsideExtraCommand) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("/usagestats");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, UsageStatsOn) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=1");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- _T(""),
- _T(""),
- NEEDS_ADMIN_NO,
- TRISTATE_TRUE,
- false,
- _T(""),
- GUID_NULL,
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""));
-}
-
-TEST(ExtraArgsParserTest, UsageStatsOff) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=0");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- _T(""),
- _T(""),
- NEEDS_ADMIN_NO,
- TRISTATE_FALSE,
- false,
- _T(""),
- GUID_NULL,
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""));
-}
-
-// This commandline has no effect, but it's permitted.
-TEST(ExtraArgsParserTest, UsageStatsNone) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=2");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- _T(""),
- _T(""),
- NEEDS_ADMIN_NO,
- TRISTATE_NONE,
- false,
- _T(""),
- GUID_NULL,
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""));
-}
-
-TEST(ExtraArgsParserTest, UsageStatsInvalidPositiveValue) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=3");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, UsageStatsInvalidNegativeValue) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=-1");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, UsageStatsValueIsString) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("usagestats=true");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, BundleNameValid) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("bundlename=Google%20Bundle");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- _T(""),
- _T(""),
- NEEDS_ADMIN_NO,
- TRISTATE_NONE,
- false,
- _T("Google Bundle"),
- GUID_NULL,
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""));
-}
-
-TEST(ExtraArgsParserTest, BundleNameNotPresentButAppNameIs) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("appname=Google%20Chrome");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- _T("Google Chrome"),
- _T(""),
- NEEDS_ADMIN_NO,
- TRISTATE_NONE,
- false,
- _T("Google Chrome"),
- GUID_NULL,
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""));
-}
-TEST(ExtraArgsParserTest, BundleNameNorAppNamePresent) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- _T(""),
- _T(""),
- NEEDS_ADMIN_NO,
- TRISTATE_NONE,
- false,
- _T(""),
- GUID_NULL,
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""));
-}
-
-TEST(ExtraArgsParserTest, BundleNameNotPresentAndNoApp) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("browser=0");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{00000000-0000-0000-0000-000000000000}"),
- _T(""),
- _T(""),
- NEEDS_ADMIN_NO,
- TRISTATE_NONE,
- false,
- _T(""),
- GUID_NULL,
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""));
-}
-
-TEST(ExtraArgsParserTest, InstallationGuidValid) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("iid={98CEC468-9429-4984-AEDE-4F53C6A14869}");
- const GUID expected_guid = {0x98CEC468, 0x9429, 0x4984,
- {0xAE, 0xDE, 0x4F, 0x53, 0xC6, 0xA1, 0x48, 0x69}};
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- _T(""),
- _T(""),
- NEEDS_ADMIN_NO,
- TRISTATE_NONE,
- false,
- _T(""),
- expected_guid,
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""));
-}
-
-TEST(ExtraArgsParserTest, InstallationGuidMissingBraces) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("iid=98CEC468-9429-4984-AEDE-4F53C6A14869");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, InstallationGuidMissingDashes) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("iid=98CEC46894294984AEDE4F53C6A14869");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, InstallationGuidMissingCharacter) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("iid=98CEC468-9429-4984-AEDE-4F53C6A1486");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, InstallationGuidIsString) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("iid=hello");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, BrandCodeValid) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("brand=GOOG");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- _T(""),
- _T(""),
- NEEDS_ADMIN_NO,
- TRISTATE_NONE,
- false,
- _T(""),
- GUID_NULL,
- _T("GOOG"),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""));
-}
-
-TEST(ExtraArgsParserTest, BrandCodeTooLong) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("brand=CHMI\xe3\x83\xbb");
-
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, ClientIdValid) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("client=some_partner");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- _T(""),
- _T(""),
- NEEDS_ADMIN_NO,
- TRISTATE_NONE,
- false,
- _T(""),
- GUID_NULL,
- _T(""),
- _T("some_partner"),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""));
-}
-
-TEST(ExtraArgsParserTest, OmahaExperimentIdValid) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("omahaexperiments=experiment%3DgroupA%7Cexpir");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- _T(""),
- _T(""),
- NEEDS_ADMIN_NO,
- TRISTATE_NONE,
- false,
- _T(""),
- GUID_NULL,
- _T(""),
- _T(""),
- _T("experiment=groupA|expir"),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""));
-}
-
-TEST(ExtraArgsParserTest, AppExperimentIdValid) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("experiments=experiment%3DgroupA%7Cexpir");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- _T(""),
- _T("experiment=groupA|expir"),
- NEEDS_ADMIN_NO,
- TRISTATE_NONE,
- false,
- _T(""),
- GUID_NULL,
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""));
-}
-
-TEST(ExtraArgsParserTest, ReferralIdValid) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("referral=ABCD123");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- _T(""),
- _T(""),
- NEEDS_ADMIN_NO,
- TRISTATE_NONE,
- false,
- _T(""),
- GUID_NULL,
- _T(""),
- _T(""),
- _T(""),
- _T("ABCD123"),
- _T(""),
- _T(""),
- _T(""),
- _T(""));
-}
-
-TEST(ExtraArgsParserTest, ApValid) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("ap=developer");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- _T(""),
- _T(""),
- NEEDS_ADMIN_NO,
- TRISTATE_NONE,
- false,
- _T(""),
- GUID_NULL,
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T("developer"),
- _T(""),
- _T(""),
- _T(""));
-}
-
-TEST(ExtraArgsParserTest, TTValid) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("tttoken=7839g93");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- _T(""),
- _T(""),
- NEEDS_ADMIN_NO,
- TRISTATE_NONE,
- false,
- _T(""),
- GUID_NULL,
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T("7839g93"),
- _T(""),
- _T(""));
-}
-
-TEST(ExtraArgsParserTest, AppArgsValid) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("tttoken=7839g93");
-
- CString app_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("installerdata=%E0%A4foobar");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, app_args, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- _T(""),
- _T(""),
- NEEDS_ADMIN_NO,
- TRISTATE_NONE,
- false,
- _T(""),
- GUID_NULL,
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T("7839g93"),
- _T("%E0%A4foobar"),
- _T(""));
-}
-
-TEST(ExtraArgsParserTest, AppArgsInvalidAppGuid) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("tttoken=7839g93");
-
- CString app_args = _T("appguid={E135384F-85A2-4328-B07D-2CF70313D505}&")
- _T("installerdata=%E0%A4foobar");
-
- EXPECT_EQ(E_INVALIDARG, parser.Parse(extra_args, app_args, &args));
-}
-
-TEST(ExtraArgsParserTest, AppArgsInvalidAttribute) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("tttoken=7839g93");
-
- CString app_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("tttoken=foobar");
-
- EXPECT_EQ(E_INVALIDARG, parser.Parse(extra_args, app_args, &args));
-}
-
-TEST(ExtraArgsParserTest, InstallerDataNotAllowedInExtraArgs) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("appname=TestApp2&")
- _T("needsadmin=true&")
- _T("installerdata=Hello%20World");
-
- EXPECT_EQ(E_INVALIDARG, parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, InstallDataIndexValid) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("installdataindex=foobar");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- _T(""),
- _T(""),
- NEEDS_ADMIN_NO,
- TRISTATE_NONE,
- false,
- _T(""),
- GUID_NULL,
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T("foobar"));
-}
-
-TEST(ExtraArgsParserTest, BrowserTypeValid_0) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("browser=0");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyBrowserType(args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- BROWSER_UNKNOWN);
-}
-
-TEST(ExtraArgsParserTest, BrowserTypeValid_1) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("browser=1");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyBrowserType(args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- BROWSER_DEFAULT);
-}
-
-TEST(ExtraArgsParserTest, BrowserTypeValid_2) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("browser=2");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyBrowserType(args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- BROWSER_IE);
-}
-
-TEST(ExtraArgsParserTest, BrowserTypeValid_3) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("browser=3");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyBrowserType(args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- BROWSER_FIREFOX);
-}
-
-TEST(ExtraArgsParserTest, BrowserTypeValid_4) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("browser=4");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyBrowserType(args,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- BROWSER_CHROME);
-}
-
-TEST(ExtraArgsParserTest, BrowserTypeInvalid) {
- EXPECT_EQ(5, BROWSER_MAX) <<
- _T("Browser type may have been added. Add new Valid_n test and change ")
- _T("browser values in extra args strings below.");
-
- CommandLineExtraArgs args1;
- ExtraArgsParser parser1;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("browser=5");
-
- EXPECT_SUCCEEDED(parser1.Parse(extra_args, NULL, &args1));
- VerifyBrowserType(args1,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- BROWSER_UNKNOWN);
-
- CommandLineExtraArgs args2;
- ExtraArgsParser parser2;
- extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("browser=9");
-
- EXPECT_SUCCEEDED(parser2.Parse(extra_args, NULL, &args2));
- VerifyBrowserType(args2,
- _T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"),
- BROWSER_UNKNOWN);
-}
-
-TEST(ExtraArgsParserTest, ValidLang) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("lang=en");
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- EXPECT_STREQ(_T("en"), args.language);
-}
-
-// Language must be passed even if not supported. See http://b/1336966.
-TEST(ExtraArgsParserTest, UnsupportedLang) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("lang=foobar");
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- EXPECT_STREQ(_T("foobar"), args.language);
-}
-
-TEST(ExtraArgsParserTest, LangTooLong) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("lang=morethan10chars");
- EXPECT_FAILED(parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, RuntimeValid) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("runtime=true");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{00000000-0000-0000-0000-000000000000}"),
- _T(""),
- _T(""),
- NEEDS_ADMIN_NO,
- TRISTATE_NONE,
- true,
- _T(""),
- GUID_NULL,
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""));
-}
-
-TEST(ExtraArgsParserTest, RuntimeWithExtraArgs) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("runtime=true&")
- _T("bundlename=Google%20Bundle&")
- _T("brand=GOOG&")
- _T("usagestats=1");
-
- EXPECT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
- VerifyExtraArgsHaveSpecificValues(
- args,
- _T("{00000000-0000-0000-0000-000000000000}"),
- _T(""),
- _T(""),
- NEEDS_ADMIN_NO,
- TRISTATE_TRUE,
- true,
- _T("Google Bundle"),
- GUID_NULL,
- _T("GOOG"),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""),
- _T(""));
-}
-
-
-TEST(ExtraArgsParserTest, RuntimeBeforeAppGuid) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("runtime=true&")
- _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}");
-
- EXPECT_EQ(E_INVALIDARG, parser.Parse(extra_args, NULL, &args));
-}
-
-TEST(ExtraArgsParserTest, RuntimeAfterAppGuid) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("runtime=true");
-
- EXPECT_EQ(E_INVALIDARG, parser.Parse(extra_args, NULL, &args));
-}
-
-//
-// Test multiple applications in the extra arguments
-//
-TEST(ExtraArgsParserTestMultipleEntries, TestNotStartingWithAppGuid) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appname=TestApp&")
- _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("appname=TestApp&")
- _T("appname=false&")
- _T("iid={98CEC468-9429-4984-AEDE-4F53C6A14869}&")
- _T("ap=test_ap&")
- _T("tttoken=foobar&")
- _T("usagestats=1&")
- _T("browser=2&");
- EXPECT_HRESULT_SUCCEEDED(parser.Parse(extra_args, NULL, &args));
-}
-
-// This also tests that the last occurrence of a global extra arg is the one
-// that is saved.
-TEST(ExtraArgsParserTestMultipleEntries, ThreeApplications) {
- CommandLineExtraArgs args;
- ExtraArgsParser parser;
- CString extra_args = _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("appname=TestApp&")
- _T("needsadmin=false&")
- _T("iid={98CEC468-9429-4984-AEDE-4F53C6A14869}&")
- _T("ap=test_ap&")
- _T("tttoken=foobar&")
- _T("usagestats=1&")
- _T("browser=2&")
- _T("brand=GOOG&")
- _T("client=_some_client&")
- _T("experiments=_experiment_a&")
- _T("referral=A123456789&")
- _T("appguid={5E46DE36-737D-4271-91C1-C062F9FE21D9}&")
- _T("appname=TestApp2&")
- _T("needsadmin=true&")
- _T("experiments=_experiment_b&")
- _T("iid={98CEC468-9429-4984-AEDE-4F53C6A14869}&")
- _T("ap=test_ap2&")
- _T("tttoken=foobar2&")
- _T("usagestats=0&")
- _T("browser=3&")
- _T("brand=g00g&")
- _T("client=_different_client&")
- _T("appguid={5F46DE36-737D-4271-91C1-C062F9FE21D9}&")
- _T("appname=TestApp3&")
- _T("needsadmin=prefers&");
-
- CString app_args = _T("appguid={5F46DE36-737D-4271-91C1-C062F9FE21D9}&")
- _T("installerdata=installerdata_app3&")
- _T("appguid={8617EE50-F91C-4DC1-B937-0969EEF59B0B}&")
- _T("installerdata=installerdata_app1");
-
- EXPECT_HRESULT_SUCCEEDED(parser.Parse(extra_args, app_args, &args));
-
- CommandLineAppArgs input1;
- input1.app_guid = StringToGuid(_T("{8617EE50-F91C-4DC1-B937-0969EEF59B0B}"));
- input1.app_name = _T("TestApp");
- input1.needs_admin = NEEDS_ADMIN_NO;
- input1.ap = _T("test_ap");
- input1.tt_token = _T("foobar");
- input1.encoded_installer_data = _T("installerdata_app1");
- input1.experiment_labels = _T("_experiment_a");
-
- CommandLineAppArgs input2;
- input2.app_guid = StringToGuid(_T("{5E46DE36-737D-4271-91C1-C062F9FE21D9}"));
- input2.app_name = _T("TestApp2");
- input2.needs_admin = NEEDS_ADMIN_YES;
- input2.ap = _T("test_ap2");
- input2.tt_token = _T("foobar2");
- input2.experiment_labels = _T("_experiment_b");
-
- CommandLineAppArgs input3;
- input3.app_guid = StringToGuid(_T("{5F46DE36-737D-4271-91C1-C062F9FE21D9}"));
- input3.app_name = _T("TestApp3");
- input3.encoded_installer_data = _T("installerdata_app3");
- input3.needs_admin = NEEDS_ADMIN_PREFERS;
-
- CommandLineExtraArgs expected;
- expected.apps.push_back(input1);
- expected.apps.push_back(input2);
- expected.apps.push_back(input3);
- expected.bundle_name = _T("TestApp");
- expected.installation_id = StringToGuid(
- _T("{98CEC468-9429-4984-AEDE-4F53C6A14869}"));
- expected.brand_code = _T("g00g");
- expected.client_id = _T("_different_client");
- expected.referral_id = _T("A123456789");
- expected.browser_type = BROWSER_FIREFOX;
- expected.usage_stats_enable = TRISTATE_FALSE;
-
- VerifyCommandLineExtraArgs(expected, args);
-}
-
-} // namespace omaha
« no previous file with comments | « common/extra_args_parser.cc ('k') | common/goopdate_command_line_validator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698