Chore/lean ci and cleanup#164
Open
0x1-1 wants to merge 4 commits intocagritaskn:mainfrom
Open
Conversation
- Add .gitignore for bin/obj/test/IDE artifacts (none existed before). - src/build_simple.bat: fix broken copy command for the WireSock MSI (source path was missing) and update the .NET prerequisite message from 6.0 to 8.0 to match the current TargetFramework. - Remove stray src/SplitWireTurkey/query placeholder file. - Rename Resources/goodbyedpi/PLACHOLDER -> PLACEHOLDER (typo).
LanguageManager improvements:
- LoadLanguage(null) and LoadLanguage("") now return false instead of
throwing NullReferenceException on .ToLower().
- Turkish (the most complete translation) is loaded in parallel as a
fallback dictionary. When a key is missing in the active language
GetText now falls back to Turkish before returning the raw key.
This prevents partial translations from leaking developer-facing
keys like "buttons.exit" into the UI.
- Refactored GetText/GetText(category,key) into smaller helpers so
flat and nested lookups share the same fallback path.
Behavior is backwards compatible: the public API and signatures are
unchanged, and missing keys still return the key as a last resort.
Replaces the broken approach in PR cagritaskn#70 (which targeted net6.0-windows while the main project is net8.0-windows, never compiled, and asserted against the failure path because no language files were ever copied into the test bin folder). - New solution: src/SplitWireTurkey.sln - New test project: src/SplitWireTurkey.Tests/ (xUnit, net8.0-windows) * Real Resources/Languages/*.json files are linked into the test bin output via <Content Link="res\Languages\..."/>, so tests exercise the real translation path. * 15 tests covering VersionHelper accessors and LanguageManager behavior: nested key resolution, null/blank input safety, missing keys returning category.key, format-string substitution, and the new Turkish fallback. - New workflow: .github/workflows/ci.yml — single Windows job that restores, builds Release, runs the test suite, and uploads TRX results. NuGet cache only; no nightly/cache-warm/PR-validation matrix. Runs on push to main, on PRs targeting main, and via workflow_dispatch. Locally: dotnet build & dotnet test both pass on net8.0-windows (15/15 green) with the only remaining warning being the pre-existing CS1998 in MainWindow.xaml.cs:13804.
- Add CI build status badge below the README language badges so the state of the new ci.yml workflow is visible from the project front page. - Add a "Testleri Çalıştırın" step under the C# recompilation guide pointing contributors at the new src/SplitWireTurkey.sln and src/SplitWireTurkey.Tests/ project.
3cb6ddb to
e048a1a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.