Fix this test

This commit is contained in:
Mike Griese 2021-11-11 17:04:25 -06:00
parent 1b4efadbd8
commit 7a3ec1ed08

View file

@ -1271,7 +1271,7 @@ namespace TerminalAppLocalTests
void SettingsTests::TestElevateArg() void SettingsTests::TestElevateArg()
{ {
const std::string settingsJson{ R"( static constexpr std::wstring_view settingsJson{ LR"(
{ {
"defaultProfile": "{6239a42c-0000-49a3-80bd-e8fdd045185c}", "defaultProfile": "{6239a42c-0000-49a3-80bd-e8fdd045185c}",
"profiles": [ "profiles": [
@ -1312,20 +1312,20 @@ namespace TerminalAppLocalTests
const winrt::guid guid1{ ::Microsoft::Console::Utils::GuidFromString(L"{6239a42c-1111-49a3-80bd-e8fdd045185c}") }; const winrt::guid guid1{ ::Microsoft::Console::Utils::GuidFromString(L"{6239a42c-1111-49a3-80bd-e8fdd045185c}") };
const winrt::guid guid2{ ::Microsoft::Console::Utils::GuidFromString(L"{6239a42c-2222-49a3-80bd-e8fdd045185c}") }; const winrt::guid guid2{ ::Microsoft::Console::Utils::GuidFromString(L"{6239a42c-2222-49a3-80bd-e8fdd045185c}") };
CascadiaSettings settings{ til::u8u16(settingsJson) }; CascadiaSettings settings{ settingsJson, {} };
auto keymap = settings.GlobalSettings().KeyMap(); auto keymap = settings.GlobalSettings().ActionMap();
VERIFY_ARE_EQUAL(3u, settings.ActiveProfiles().Size()); VERIFY_ARE_EQUAL(3u, settings.ActiveProfiles().Size());
const auto profile2Guid = settings.ActiveProfiles().GetAt(2).Guid(); const auto profile2Guid = settings.ActiveProfiles().GetAt(2).Guid();
VERIFY_ARE_NOT_EQUAL(winrt::guid{}, profile2Guid); VERIFY_ARE_NOT_EQUAL(winrt::guid{}, profile2Guid);
VERIFY_ARE_EQUAL(9u, keymap.Size()); VERIFY_ARE_EQUAL(9u, keymap.KeyBindings().Size());
{ {
Log::Comment(L"profile.elevate=omitted, action.elevate=nullopt: don't auto elevate"); Log::Comment(L"profile.elevate=omitted, action.elevate=nullopt: don't auto elevate");
KeyChord kc{ true, false, false, static_cast<int32_t>('A') }; KeyChord kc{ true, false, false, false, static_cast<int32_t>('A'), 0 };
auto actionAndArgs = TestUtils::GetActionAndArgs(keymap, kc); auto actionAndArgs = TestUtils::GetActionAndArgs(keymap, kc);
VERIFY_ARE_EQUAL(ShortcutAction::NewTab, actionAndArgs.Action()); VERIFY_ARE_EQUAL(ShortcutAction::NewTab, actionAndArgs.Action());
const auto& realArgs = actionAndArgs.Args().try_as<NewTabArgs>(); const auto& realArgs = actionAndArgs.Args().try_as<NewTabArgs>();
@ -1339,15 +1339,15 @@ namespace TerminalAppLocalTests
VERIFY_ARE_EQUAL(L"profile0", realArgs.TerminalArgs().Profile()); VERIFY_ARE_EQUAL(L"profile0", realArgs.TerminalArgs().Profile());
VERIFY_IS_NULL(realArgs.TerminalArgs().Elevate()); VERIFY_IS_NULL(realArgs.TerminalArgs().Elevate());
const auto [guid, termSettings] = winrt::TerminalApp::implementation::TerminalSettings::BuildSettings(settings, realArgs.TerminalArgs(), nullptr); const auto termSettingsResult = TerminalSettings::CreateWithNewTerminalArgs(settings, realArgs.TerminalArgs(), nullptr);
VERIFY_ARE_EQUAL(guid0, guid); const auto termSettings = termSettingsResult.DefaultSettings();
VERIFY_ARE_EQUAL(L"cmd.exe", termSettings.Commandline()); VERIFY_ARE_EQUAL(L"cmd.exe", termSettings.Commandline());
VERIFY_ARE_EQUAL(false, termSettings.Elevate()); VERIFY_ARE_EQUAL(false, termSettings.Elevate());
} }
{ {
Log::Comment(L"profile.elevate=true, action.elevate=nullopt: DO auto elevate"); Log::Comment(L"profile.elevate=true, action.elevate=nullopt: DO auto elevate");
KeyChord kc{ true, false, false, static_cast<int32_t>('B') }; KeyChord kc{ true, false, false, false, static_cast<int32_t>('B'), 0 };
auto actionAndArgs = TestUtils::GetActionAndArgs(keymap, kc); auto actionAndArgs = TestUtils::GetActionAndArgs(keymap, kc);
VERIFY_ARE_EQUAL(ShortcutAction::NewTab, actionAndArgs.Action()); VERIFY_ARE_EQUAL(ShortcutAction::NewTab, actionAndArgs.Action());
const auto& realArgs = actionAndArgs.Args().try_as<NewTabArgs>(); const auto& realArgs = actionAndArgs.Args().try_as<NewTabArgs>();
@ -1361,15 +1361,15 @@ namespace TerminalAppLocalTests
VERIFY_ARE_EQUAL(L"profile1", realArgs.TerminalArgs().Profile()); VERIFY_ARE_EQUAL(L"profile1", realArgs.TerminalArgs().Profile());
VERIFY_IS_NULL(realArgs.TerminalArgs().Elevate()); VERIFY_IS_NULL(realArgs.TerminalArgs().Elevate());
const auto [guid, termSettings] = winrt::TerminalApp::implementation::TerminalSettings::BuildSettings(settings, realArgs.TerminalArgs(), nullptr); const auto termSettingsResult = TerminalSettings::CreateWithNewTerminalArgs(settings, realArgs.TerminalArgs(), nullptr);
VERIFY_ARE_EQUAL(guid1, guid); const auto termSettings = termSettingsResult.DefaultSettings();
VERIFY_ARE_EQUAL(L"pwsh.exe", termSettings.Commandline()); VERIFY_ARE_EQUAL(L"pwsh.exe", termSettings.Commandline());
VERIFY_ARE_EQUAL(true, termSettings.Elevate()); VERIFY_ARE_EQUAL(true, termSettings.Elevate());
} }
{ {
Log::Comment(L"profile.elevate=false, action.elevate=nullopt: don't auto elevate"); Log::Comment(L"profile.elevate=false, action.elevate=nullopt: don't auto elevate");
KeyChord kc{ true, false, false, static_cast<int32_t>('C') }; KeyChord kc{ true, false, false, false, static_cast<int32_t>('C'), 0 };
auto actionAndArgs = TestUtils::GetActionAndArgs(keymap, kc); auto actionAndArgs = TestUtils::GetActionAndArgs(keymap, kc);
VERIFY_ARE_EQUAL(ShortcutAction::NewTab, actionAndArgs.Action()); VERIFY_ARE_EQUAL(ShortcutAction::NewTab, actionAndArgs.Action());
const auto& realArgs = actionAndArgs.Args().try_as<NewTabArgs>(); const auto& realArgs = actionAndArgs.Args().try_as<NewTabArgs>();
@ -1383,8 +1383,8 @@ namespace TerminalAppLocalTests
VERIFY_ARE_EQUAL(L"profile2", realArgs.TerminalArgs().Profile()); VERIFY_ARE_EQUAL(L"profile2", realArgs.TerminalArgs().Profile());
VERIFY_IS_NULL(realArgs.TerminalArgs().Elevate()); VERIFY_IS_NULL(realArgs.TerminalArgs().Elevate());
const auto [guid, termSettings] = winrt::TerminalApp::implementation::TerminalSettings::BuildSettings(settings, realArgs.TerminalArgs(), nullptr); const auto termSettingsResult = TerminalSettings::CreateWithNewTerminalArgs(settings, realArgs.TerminalArgs(), nullptr);
VERIFY_ARE_EQUAL(guid2, guid); const auto termSettings = termSettingsResult.DefaultSettings();
VERIFY_ARE_EQUAL(L"wsl.exe", termSettings.Commandline()); VERIFY_ARE_EQUAL(L"wsl.exe", termSettings.Commandline());
VERIFY_ARE_EQUAL(false, termSettings.Elevate()); VERIFY_ARE_EQUAL(false, termSettings.Elevate());
} }
@ -1392,7 +1392,7 @@ namespace TerminalAppLocalTests
{ {
Log::Comment(L"profile.elevate=omitted, action.elevate=false: don't auto elevate"); Log::Comment(L"profile.elevate=omitted, action.elevate=false: don't auto elevate");
KeyChord kc{ true, false, false, static_cast<int32_t>('D') }; KeyChord kc{ true, false, false, false, static_cast<int32_t>('D'), 0 };
auto actionAndArgs = TestUtils::GetActionAndArgs(keymap, kc); auto actionAndArgs = TestUtils::GetActionAndArgs(keymap, kc);
VERIFY_ARE_EQUAL(ShortcutAction::NewTab, actionAndArgs.Action()); VERIFY_ARE_EQUAL(ShortcutAction::NewTab, actionAndArgs.Action());
const auto& realArgs = actionAndArgs.Args().try_as<NewTabArgs>(); const auto& realArgs = actionAndArgs.Args().try_as<NewTabArgs>();
@ -1407,15 +1407,15 @@ namespace TerminalAppLocalTests
VERIFY_IS_NOT_NULL(realArgs.TerminalArgs().Elevate()); VERIFY_IS_NOT_NULL(realArgs.TerminalArgs().Elevate());
VERIFY_IS_FALSE(realArgs.TerminalArgs().Elevate().Value()); VERIFY_IS_FALSE(realArgs.TerminalArgs().Elevate().Value());
const auto [guid, termSettings] = winrt::TerminalApp::implementation::TerminalSettings::BuildSettings(settings, realArgs.TerminalArgs(), nullptr); const auto termSettingsResult = TerminalSettings::CreateWithNewTerminalArgs(settings, realArgs.TerminalArgs(), nullptr);
VERIFY_ARE_EQUAL(guid0, guid); const auto termSettings = termSettingsResult.DefaultSettings();
VERIFY_ARE_EQUAL(L"cmd.exe", termSettings.Commandline()); VERIFY_ARE_EQUAL(L"cmd.exe", termSettings.Commandline());
VERIFY_ARE_EQUAL(false, termSettings.Elevate()); VERIFY_ARE_EQUAL(false, termSettings.Elevate());
} }
{ {
Log::Comment(L"profile.elevate=true, action.elevate=false: don't auto elevate"); Log::Comment(L"profile.elevate=true, action.elevate=false: don't auto elevate");
KeyChord kc{ true, false, false, static_cast<int32_t>('E') }; KeyChord kc{ true, false, false, false, static_cast<int32_t>('E'), 0 };
auto actionAndArgs = TestUtils::GetActionAndArgs(keymap, kc); auto actionAndArgs = TestUtils::GetActionAndArgs(keymap, kc);
VERIFY_ARE_EQUAL(ShortcutAction::NewTab, actionAndArgs.Action()); VERIFY_ARE_EQUAL(ShortcutAction::NewTab, actionAndArgs.Action());
const auto& realArgs = actionAndArgs.Args().try_as<NewTabArgs>(); const auto& realArgs = actionAndArgs.Args().try_as<NewTabArgs>();
@ -1430,15 +1430,15 @@ namespace TerminalAppLocalTests
VERIFY_IS_NOT_NULL(realArgs.TerminalArgs().Elevate()); VERIFY_IS_NOT_NULL(realArgs.TerminalArgs().Elevate());
VERIFY_IS_FALSE(realArgs.TerminalArgs().Elevate().Value()); VERIFY_IS_FALSE(realArgs.TerminalArgs().Elevate().Value());
const auto [guid, termSettings] = winrt::TerminalApp::implementation::TerminalSettings::BuildSettings(settings, realArgs.TerminalArgs(), nullptr); const auto termSettingsResult = TerminalSettings::CreateWithNewTerminalArgs(settings, realArgs.TerminalArgs(), nullptr);
VERIFY_ARE_EQUAL(guid1, guid); const auto termSettings = termSettingsResult.DefaultSettings();
VERIFY_ARE_EQUAL(L"pwsh.exe", termSettings.Commandline()); VERIFY_ARE_EQUAL(L"pwsh.exe", termSettings.Commandline());
VERIFY_ARE_EQUAL(false, termSettings.Elevate()); VERIFY_ARE_EQUAL(false, termSettings.Elevate());
} }
{ {
Log::Comment(L"profile.elevate=false, action.elevate=false: don't auto elevate"); Log::Comment(L"profile.elevate=false, action.elevate=false: don't auto elevate");
KeyChord kc{ true, false, false, static_cast<int32_t>('F') }; KeyChord kc{ true, false, false, false, static_cast<int32_t>('F'), 0 };
auto actionAndArgs = TestUtils::GetActionAndArgs(keymap, kc); auto actionAndArgs = TestUtils::GetActionAndArgs(keymap, kc);
VERIFY_ARE_EQUAL(ShortcutAction::NewTab, actionAndArgs.Action()); VERIFY_ARE_EQUAL(ShortcutAction::NewTab, actionAndArgs.Action());
const auto& realArgs = actionAndArgs.Args().try_as<NewTabArgs>(); const auto& realArgs = actionAndArgs.Args().try_as<NewTabArgs>();
@ -1453,8 +1453,8 @@ namespace TerminalAppLocalTests
VERIFY_IS_NOT_NULL(realArgs.TerminalArgs().Elevate()); VERIFY_IS_NOT_NULL(realArgs.TerminalArgs().Elevate());
VERIFY_IS_FALSE(realArgs.TerminalArgs().Elevate().Value()); VERIFY_IS_FALSE(realArgs.TerminalArgs().Elevate().Value());
const auto [guid, termSettings] = winrt::TerminalApp::implementation::TerminalSettings::BuildSettings(settings, realArgs.TerminalArgs(), nullptr); const auto termSettingsResult = TerminalSettings::CreateWithNewTerminalArgs(settings, realArgs.TerminalArgs(), nullptr);
VERIFY_ARE_EQUAL(guid2, guid); const auto termSettings = termSettingsResult.DefaultSettings();
VERIFY_ARE_EQUAL(L"wsl.exe", termSettings.Commandline()); VERIFY_ARE_EQUAL(L"wsl.exe", termSettings.Commandline());
VERIFY_ARE_EQUAL(false, termSettings.Elevate()); VERIFY_ARE_EQUAL(false, termSettings.Elevate());
} }
@ -1462,7 +1462,7 @@ namespace TerminalAppLocalTests
{ {
Log::Comment(L"profile.elevate=omitted, action.elevate=true: DO auto elevate"); Log::Comment(L"profile.elevate=omitted, action.elevate=true: DO auto elevate");
KeyChord kc{ true, false, false, static_cast<int32_t>('G') }; KeyChord kc{ true, false, false, false, static_cast<int32_t>('G'), 0 };
auto actionAndArgs = TestUtils::GetActionAndArgs(keymap, kc); auto actionAndArgs = TestUtils::GetActionAndArgs(keymap, kc);
VERIFY_ARE_EQUAL(ShortcutAction::NewTab, actionAndArgs.Action()); VERIFY_ARE_EQUAL(ShortcutAction::NewTab, actionAndArgs.Action());
const auto& realArgs = actionAndArgs.Args().try_as<NewTabArgs>(); const auto& realArgs = actionAndArgs.Args().try_as<NewTabArgs>();
@ -1477,14 +1477,14 @@ namespace TerminalAppLocalTests
VERIFY_IS_NOT_NULL(realArgs.TerminalArgs().Elevate()); VERIFY_IS_NOT_NULL(realArgs.TerminalArgs().Elevate());
VERIFY_IS_TRUE(realArgs.TerminalArgs().Elevate().Value()); VERIFY_IS_TRUE(realArgs.TerminalArgs().Elevate().Value());
const auto [guid, termSettings] = winrt::TerminalApp::implementation::TerminalSettings::BuildSettings(settings, realArgs.TerminalArgs(), nullptr); const auto termSettingsResult = TerminalSettings::CreateWithNewTerminalArgs(settings, realArgs.TerminalArgs(), nullptr);
VERIFY_ARE_EQUAL(guid0, guid); const auto termSettings = termSettingsResult.DefaultSettings();
VERIFY_ARE_EQUAL(L"cmd.exe", termSettings.Commandline()); VERIFY_ARE_EQUAL(L"cmd.exe", termSettings.Commandline());
VERIFY_ARE_EQUAL(true, termSettings.Elevate()); VERIFY_ARE_EQUAL(true, termSettings.Elevate());
} }
{ {
Log::Comment(L"profile.elevate=true, action.elevate=true: DO auto elevate"); Log::Comment(L"profile.elevate=true, action.elevate=true: DO auto elevate");
KeyChord kc{ true, false, false, static_cast<int32_t>('H') }; KeyChord kc{ true, false, false, false, static_cast<int32_t>('H'), 0 };
auto actionAndArgs = TestUtils::GetActionAndArgs(keymap, kc); auto actionAndArgs = TestUtils::GetActionAndArgs(keymap, kc);
VERIFY_ARE_EQUAL(ShortcutAction::NewTab, actionAndArgs.Action()); VERIFY_ARE_EQUAL(ShortcutAction::NewTab, actionAndArgs.Action());
const auto& realArgs = actionAndArgs.Args().try_as<NewTabArgs>(); const auto& realArgs = actionAndArgs.Args().try_as<NewTabArgs>();
@ -1499,15 +1499,15 @@ namespace TerminalAppLocalTests
VERIFY_IS_NOT_NULL(realArgs.TerminalArgs().Elevate()); VERIFY_IS_NOT_NULL(realArgs.TerminalArgs().Elevate());
VERIFY_IS_TRUE(realArgs.TerminalArgs().Elevate().Value()); VERIFY_IS_TRUE(realArgs.TerminalArgs().Elevate().Value());
const auto [guid, termSettings] = winrt::TerminalApp::implementation::TerminalSettings::BuildSettings(settings, realArgs.TerminalArgs(), nullptr); const auto termSettingsResult = TerminalSettings::CreateWithNewTerminalArgs(settings, realArgs.TerminalArgs(), nullptr);
VERIFY_ARE_EQUAL(guid1, guid); const auto termSettings = termSettingsResult.DefaultSettings();
VERIFY_ARE_EQUAL(L"pwsh.exe", termSettings.Commandline()); VERIFY_ARE_EQUAL(L"pwsh.exe", termSettings.Commandline());
VERIFY_ARE_EQUAL(true, termSettings.Elevate()); VERIFY_ARE_EQUAL(true, termSettings.Elevate());
} }
{ {
Log::Comment(L"profile.elevate=false, action.elevate=true: DO auto elevate"); Log::Comment(L"profile.elevate=false, action.elevate=true: DO auto elevate");
KeyChord kc{ true, false, false, static_cast<int32_t>('I') }; KeyChord kc{ true, false, false, false, static_cast<int32_t>('I'), 0 };
auto actionAndArgs = TestUtils::GetActionAndArgs(keymap, kc); auto actionAndArgs = TestUtils::GetActionAndArgs(keymap, kc);
VERIFY_ARE_EQUAL(ShortcutAction::NewTab, actionAndArgs.Action()); VERIFY_ARE_EQUAL(ShortcutAction::NewTab, actionAndArgs.Action());
const auto& realArgs = actionAndArgs.Args().try_as<NewTabArgs>(); const auto& realArgs = actionAndArgs.Args().try_as<NewTabArgs>();
@ -1522,8 +1522,8 @@ namespace TerminalAppLocalTests
VERIFY_IS_NOT_NULL(realArgs.TerminalArgs().Elevate()); VERIFY_IS_NOT_NULL(realArgs.TerminalArgs().Elevate());
VERIFY_IS_TRUE(realArgs.TerminalArgs().Elevate().Value()); VERIFY_IS_TRUE(realArgs.TerminalArgs().Elevate().Value());
const auto [guid, termSettings] = winrt::TerminalApp::implementation::TerminalSettings::BuildSettings(settings, realArgs.TerminalArgs(), nullptr); const auto termSettingsResult = TerminalSettings::CreateWithNewTerminalArgs(settings, realArgs.TerminalArgs(), nullptr);
VERIFY_ARE_EQUAL(guid2, guid); const auto termSettings = termSettingsResult.DefaultSettings();
VERIFY_ARE_EQUAL(L"wsl.exe", termSettings.Commandline()); VERIFY_ARE_EQUAL(L"wsl.exe", termSettings.Commandline());
VERIFY_ARE_EQUAL(true, termSettings.Elevate()); VERIFY_ARE_EQUAL(true, termSettings.Elevate());
} }