Skip to content

Chore/lean ci and cleanup#164

Open
0x1-1 wants to merge 4 commits intocagritaskn:mainfrom
0x1-1:chore/lean-ci-and-cleanup
Open

Chore/lean ci and cleanup#164
0x1-1 wants to merge 4 commits intocagritaskn:mainfrom
0x1-1:chore/lean-ci-and-cleanup

Conversation

@0x1-1
Copy link
Copy Markdown

@0x1-1 0x1-1 commented May 3, 2026

No description provided.

0x1-1 added 4 commits May 3, 2026 22:58
- 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.
@0x1-1 0x1-1 force-pushed the chore/lean-ci-and-cleanup branch from 3cb6ddb to e048a1a Compare May 3, 2026 19:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant