From 20383d60ee71068e0142ed920132a0260eb6c8cd Mon Sep 17 00:00:00 2001 From: Ben Olden-Cooligan Date: Sun, 27 Nov 2022 22:15:27 -0800 Subject: [PATCH] Fix DebugLang and language tests --- .../Appium/LanguageSelectionTests.cs | 29 +++++++++++-------- NAPS2.App.Tests/NAPS2.App.Tests.csproj | 2 ++ NAPS2.Lib.WinForms/NAPS2.Lib.WinForms.csproj | 1 + NAPS2.Lib/Lang/LanguageNames.Designer.cs | 8 ++--- NAPS2.Lib/Lang/LanguageNames.resx | 4 +-- NAPS2.Lib/NAPS2.Lib.csproj | 1 + NAPS2.sln | 16 +++++----- 7 files changed, 35 insertions(+), 26 deletions(-) diff --git a/NAPS2.App.Tests/Appium/LanguageSelectionTests.cs b/NAPS2.App.Tests/Appium/LanguageSelectionTests.cs index ffdfb1c86..c580cec69 100644 --- a/NAPS2.App.Tests/Appium/LanguageSelectionTests.cs +++ b/NAPS2.App.Tests/Appium/LanguageSelectionTests.cs @@ -9,8 +9,7 @@ namespace NAPS2.App.Tests.Appium; [Collection("appium")] public class LanguageSelectionTests : AppiumTests { - // TODO: Verify why zh-TW isn't here (and that hi still hasn't been translated) - private static readonly HashSet ExpectedMissingLanguages = new() { "zh-TW", "hi" }; + private static readonly HashSet ExpectedMissingLanguages = new() { "bn", "hi", "id", "th", "ur" }; [VerifyFact(AllowDebug = true)] public void OpenLanguageDropdown() @@ -19,16 +18,7 @@ public class LanguageSelectionTests : AppiumTests ClickAtName("Language"); var menuItems = GetMenuItems(); - if (!Debugger.IsAttached) - { - // Verify all expected languages have menu items - var menuItemTexts = menuItems.Select(x => x.Text).ToHashSet(); - var allLanguages = GetAllLanguages(); - var missingLanguages = allLanguages - .Where(x => !menuItemTexts.Contains(x.langName) && !ExpectedMissingLanguages.Contains(x.langCode)) - .ToList(); - Assert.True(missingLanguages.Count == 0, $"Missing languages: {string.Join(",", missingLanguages)}"); - } + VerifyMissingLanguages(menuItems); // Verify French (fr) translation as a standard language example ClickAndResetWindow("Français"); @@ -49,6 +39,21 @@ public class LanguageSelectionTests : AppiumTests AppTestHelper.AssertNoErrorLog(FolderPath); } + private void VerifyMissingLanguages(ReadOnlyCollection menuItems) + { +#if !DEBUG_LANG + // In Debug mode (without DEBUG_LANG) we don't expect to have all languages + if (Debugger.IsAttached) return; +#endif + // Verify all expected languages have menu items + var menuItemTexts = menuItems.Select(x => x.Text).ToHashSet(); + var allLanguages = GetAllLanguages(); + var missingLanguages = allLanguages + .Where(x => !menuItemTexts.Contains(x.langName) && !ExpectedMissingLanguages.Contains(x.langCode)) + .ToList(); + Assert.True(missingLanguages.Count == 0, $"Missing languages: {string.Join(",", missingLanguages)}"); + } + private void ClickAndResetWindow(string name) { ClickAtName(name); diff --git a/NAPS2.App.Tests/NAPS2.App.Tests.csproj b/NAPS2.App.Tests/NAPS2.App.Tests.csproj index 05955aa2a..18bf6253f 100644 --- a/NAPS2.App.Tests/NAPS2.App.Tests.csproj +++ b/NAPS2.App.Tests/NAPS2.App.Tests.csproj @@ -5,6 +5,8 @@ net6 true None + Debug;Release;DebugLang + DEBUG_LANG diff --git a/NAPS2.Lib.WinForms/NAPS2.Lib.WinForms.csproj b/NAPS2.Lib.WinForms/NAPS2.Lib.WinForms.csproj index 569ad70d1..9e8041cde 100644 --- a/NAPS2.Lib.WinForms/NAPS2.Lib.WinForms.csproj +++ b/NAPS2.Lib.WinForms/NAPS2.Lib.WinForms.csproj @@ -12,6 +12,7 @@ NAPS2 - Not Another PDF Scanner NAPS2 - Not Another PDF Scanner Copyright 2009, 2012-2020 NAPS2 Contributors; Icons from http://www.fatcow.com/free-icons + Debug;Release;DebugLang diff --git a/NAPS2.Lib/Lang/LanguageNames.Designer.cs b/NAPS2.Lib/Lang/LanguageNames.Designer.cs index 14ab46597..bffecc589 100644 --- a/NAPS2.Lib/Lang/LanguageNames.Designer.cs +++ b/NAPS2.Lib/Lang/LanguageNames.Designer.cs @@ -395,18 +395,18 @@ namespace NAPS2.Lang { /// /// Looks up a localized string similar to Српски. /// - internal static string sr_Cyrl { + internal static string sr { get { - return ResourceManager.GetString("sr_Cyrl", resourceCulture); + return ResourceManager.GetString("sr", resourceCulture); } } /// /// Looks up a localized string similar to Srpski. /// - internal static string sr_Latn { + internal static string sr_CS { get { - return ResourceManager.GetString("sr_Latn", resourceCulture); + return ResourceManager.GetString("sr_CS", resourceCulture); } } diff --git a/NAPS2.Lib/Lang/LanguageNames.resx b/NAPS2.Lib/Lang/LanguageNames.resx index 5126dc2b9..22186803c 100644 --- a/NAPS2.Lib/Lang/LanguageNames.resx +++ b/NAPS2.Lib/Lang/LanguageNames.resx @@ -228,10 +228,10 @@ Shqip - + Српски - + Srpski diff --git a/NAPS2.Lib/NAPS2.Lib.csproj b/NAPS2.Lib/NAPS2.Lib.csproj index ba34a1a58..4ead8bfc0 100644 --- a/NAPS2.Lib/NAPS2.Lib.csproj +++ b/NAPS2.Lib/NAPS2.Lib.csproj @@ -10,6 +10,7 @@ NAPS2 - Not Another PDF Scanner NAPS2 - Not Another PDF Scanner Copyright 2009, 2012-2020 NAPS2 Contributors; Icons from http://www.fatcow.com/free-icons + Debug;Release;DebugLang diff --git a/NAPS2.sln b/NAPS2.sln index 0a636ba4c..e4422345a 100644 --- a/NAPS2.sln +++ b/NAPS2.sln @@ -107,11 +107,11 @@ Global {968378FA-A649-4058-A928-1FCD97B23070}.InstallerMSI|Any CPU.Build.0 = InstallerMSI|Any CPU {968378FA-A649-4058-A928-1FCD97B23070}.Standalone|Any CPU.ActiveCfg = Standalone|Any CPU {968378FA-A649-4058-A928-1FCD97B23070}.Standalone|Any CPU.Build.0 = Standalone|Any CPU - {968378FA-A649-4058-A928-1FCD97B23070}.DebugLang|Any CPU.ActiveCfg = Standalone|Any CPU - {968378FA-A649-4058-A928-1FCD97B23070}.DebugLang|Any CPU.Build.0 = Standalone|Any CPU {968378FA-A649-4058-A928-1FCD97B23070}.Tools|Any CPU.ActiveCfg = Debug|Any CPU {968378FA-A649-4058-A928-1FCD97B23070}.Debug-Linux|Any CPU.ActiveCfg = Debug|Any CPU {968378FA-A649-4058-A928-1FCD97B23070}.Debug-Linux|Any CPU.Build.0 = Debug|Any CPU + {968378FA-A649-4058-A928-1FCD97B23070}.DebugLang|Any CPU.ActiveCfg = DebugLang|Any CPU + {968378FA-A649-4058-A928-1FCD97B23070}.DebugLang|Any CPU.Build.0 = DebugLang|Any CPU {A6BCC071-7667-4F8B-ACC2-6FC7F4A9CD32}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A6BCC071-7667-4F8B-ACC2-6FC7F4A9CD32}.Debug|Any CPU.Build.0 = Debug|Any CPU {A6BCC071-7667-4F8B-ACC2-6FC7F4A9CD32}.DebugLang|Any CPU.ActiveCfg = Debug|Any CPU @@ -125,8 +125,6 @@ Global {A6BCC071-7667-4F8B-ACC2-6FC7F4A9CD32}.Debug-Linux|Any CPU.Build.0 = Debug|Any CPU {4D349529-149B-498B-8A55-373E6A67E1F0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4D349529-149B-498B-8A55-373E6A67E1F0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4D349529-149B-498B-8A55-373E6A67E1F0}.DebugLang|Any CPU.ActiveCfg = Debug|Any CPU - {4D349529-149B-498B-8A55-373E6A67E1F0}.DebugLang|Any CPU.Build.0 = Debug|Any CPU {4D349529-149B-498B-8A55-373E6A67E1F0}.InstallerEXE|Any CPU.ActiveCfg = Release|Any CPU {4D349529-149B-498B-8A55-373E6A67E1F0}.InstallerEXE|Any CPU.Build.0 = Release|Any CPU {4D349529-149B-498B-8A55-373E6A67E1F0}.InstallerMSI|Any CPU.ActiveCfg = Release|Any CPU @@ -136,6 +134,8 @@ Global {4D349529-149B-498B-8A55-373E6A67E1F0}.Tools|Any CPU.ActiveCfg = Debug|Any CPU {4D349529-149B-498B-8A55-373E6A67E1F0}.Debug-Linux|Any CPU.ActiveCfg = Debug|Any CPU {4D349529-149B-498B-8A55-373E6A67E1F0}.Debug-Linux|Any CPU.Build.0 = Debug|Any CPU + {4D349529-149B-498B-8A55-373E6A67E1F0}.DebugLang|Any CPU.ActiveCfg = DebugLang|Any CPU + {4D349529-149B-498B-8A55-373E6A67E1F0}.DebugLang|Any CPU.Build.0 = DebugLang|Any CPU {BA9A65A0-00FE-4BF4-A023-7D804817453F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {BA9A65A0-00FE-4BF4-A023-7D804817453F}.Debug|Any CPU.Build.0 = Debug|Any CPU {BA9A65A0-00FE-4BF4-A023-7D804817453F}.DebugLang|Any CPU.ActiveCfg = Debug|Any CPU @@ -187,8 +187,6 @@ Global {8F59DABD-EE59-471D-B3AE-9C2083FDB13E}.Debug-Linux|Any CPU.Build.0 = Debug|Any CPU {95A03B74-A235-42A4-A433-E3884E180BE4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {95A03B74-A235-42A4-A433-E3884E180BE4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {95A03B74-A235-42A4-A433-E3884E180BE4}.DebugLang|Any CPU.ActiveCfg = Debug|Any CPU - {95A03B74-A235-42A4-A433-E3884E180BE4}.DebugLang|Any CPU.Build.0 = Debug|Any CPU {95A03B74-A235-42A4-A433-E3884E180BE4}.InstallerEXE|Any CPU.ActiveCfg = Release|Any CPU {95A03B74-A235-42A4-A433-E3884E180BE4}.InstallerEXE|Any CPU.Build.0 = Release|Any CPU {95A03B74-A235-42A4-A433-E3884E180BE4}.InstallerMSI|Any CPU.ActiveCfg = Release|Any CPU @@ -197,6 +195,8 @@ Global {95A03B74-A235-42A4-A433-E3884E180BE4}.Standalone|Any CPU.Build.0 = Release|Any CPU {95A03B74-A235-42A4-A433-E3884E180BE4}.Tools|Any CPU.ActiveCfg = Debug|Any CPU {95A03B74-A235-42A4-A433-E3884E180BE4}.Debug-Linux|Any CPU.ActiveCfg = Debug|Any CPU + {95A03B74-A235-42A4-A433-E3884E180BE4}.DebugLang|Any CPU.ActiveCfg = DebugLang|Any CPU + {95A03B74-A235-42A4-A433-E3884E180BE4}.DebugLang|Any CPU.Build.0 = DebugLang|Any CPU {3906925A-2392-496C-8221-49A9687C38A8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3906925A-2392-496C-8221-49A9687C38A8}.Debug|Any CPU.Build.0 = Debug|Any CPU {3906925A-2392-496C-8221-49A9687C38A8}.DebugLang|Any CPU.ActiveCfg = Debug|Any CPU @@ -235,14 +235,14 @@ Global {4B0E200A-E9CF-465F-8CB2-6525AABEC94B}.Debug-Linux|Any CPU.Build.0 = Debug|Any CPU {3CA45B6B-F055-4FFB-B9B6-0FF381A752F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3CA45B6B-F055-4FFB-B9B6-0FF381A752F9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3CA45B6B-F055-4FFB-B9B6-0FF381A752F9}.DebugLang|Any CPU.ActiveCfg = Debug|Any CPU - {3CA45B6B-F055-4FFB-B9B6-0FF381A752F9}.DebugLang|Any CPU.Build.0 = Debug|Any CPU {3CA45B6B-F055-4FFB-B9B6-0FF381A752F9}.InstallerEXE|Any CPU.ActiveCfg = Debug|Any CPU {3CA45B6B-F055-4FFB-B9B6-0FF381A752F9}.InstallerMSI|Any CPU.ActiveCfg = Debug|Any CPU {3CA45B6B-F055-4FFB-B9B6-0FF381A752F9}.Standalone|Any CPU.ActiveCfg = Debug|Any CPU {3CA45B6B-F055-4FFB-B9B6-0FF381A752F9}.Tools|Any CPU.ActiveCfg = Debug|Any CPU {3CA45B6B-F055-4FFB-B9B6-0FF381A752F9}.Debug-Linux|Any CPU.ActiveCfg = Debug|Any CPU {3CA45B6B-F055-4FFB-B9B6-0FF381A752F9}.Debug-Linux|Any CPU.Build.0 = Debug|Any CPU + {3CA45B6B-F055-4FFB-B9B6-0FF381A752F9}.DebugLang|Any CPU.ActiveCfg = DebugLang|Any CPU + {3CA45B6B-F055-4FFB-B9B6-0FF381A752F9}.DebugLang|Any CPU.Build.0 = DebugLang|Any CPU {D291C9E9-42D2-4601-9EE3-1CBCA200B897}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D291C9E9-42D2-4601-9EE3-1CBCA200B897}.Debug|Any CPU.Build.0 = Debug|Any CPU {D291C9E9-42D2-4601-9EE3-1CBCA200B897}.DebugLang|Any CPU.ActiveCfg = Debug|Any CPU