Fix DebugLang and language tests

This commit is contained in:
Ben Olden-Cooligan 2022-11-27 22:15:27 -08:00
parent f469d704fc
commit 20383d60ee
7 changed files with 35 additions and 26 deletions

View File

@ -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<string> ExpectedMissingLanguages = new() { "zh-TW", "hi" };
private static readonly HashSet<string> 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<WindowsElement> 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);

View File

@ -5,6 +5,8 @@
<TargetFrameworks Condition="!$([MSBuild]::IsOSPlatform('Windows'))">net6</TargetFrameworks>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
<Configurations>Debug;Release;DebugLang</Configurations>
<DefineConstants Condition=" '$(Configuration)' == 'DebugLang' ">DEBUG_LANG</DefineConstants>
</PropertyGroup>
<Import Project="..\NAPS2.Setup\CommonTargets.targets" />

View File

@ -12,6 +12,7 @@
<Title>NAPS2 - Not Another PDF Scanner</Title>
<Product>NAPS2 - Not Another PDF Scanner</Product>
<Copyright>Copyright 2009, 2012-2020 NAPS2 Contributors; Icons from http://www.fatcow.com/free-icons</Copyright>
<Configurations>Debug;Release;DebugLang</Configurations>
</PropertyGroup>
<Import Project="..\NAPS2.Setup\CommonTargets.targets" />

View File

@ -395,18 +395,18 @@ namespace NAPS2.Lang {
/// <summary>
/// Looks up a localized string similar to Српски.
/// </summary>
internal static string sr_Cyrl {
internal static string sr {
get {
return ResourceManager.GetString("sr_Cyrl", resourceCulture);
return ResourceManager.GetString("sr", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Srpski.
/// </summary>
internal static string sr_Latn {
internal static string sr_CS {
get {
return ResourceManager.GetString("sr_Latn", resourceCulture);
return ResourceManager.GetString("sr_CS", resourceCulture);
}
}

View File

@ -228,10 +228,10 @@
<data name="sq" xml:space="preserve">
<value>Shqip</value>
</data>
<data name="sr_Cyrl" xml:space="preserve">
<data name="sr" xml:space="preserve">
<value>Српски</value>
</data>
<data name="sr_Latn" xml:space="preserve">
<data name="sr_CS" xml:space="preserve">
<value>Srpski</value>
</data>
<data name="sv" xml:space="preserve">

View File

@ -10,6 +10,7 @@
<Title>NAPS2 - Not Another PDF Scanner</Title>
<Product>NAPS2 - Not Another PDF Scanner</Product>
<Copyright>Copyright 2009, 2012-2020 NAPS2 Contributors; Icons from http://www.fatcow.com/free-icons</Copyright>
<Configurations>Debug;Release;DebugLang</Configurations>
</PropertyGroup>
<Import Project="..\NAPS2.Setup\CommonTargets.targets" />

View File

@ -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