[PR #1164] [MERGED] Refactor TerminalApp and Add Tests for Xaml Content #24510

Open
opened 2026-01-31 09:03:43 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/1164
Author: @zadjii-msft
Created: 6/7/2019
Status: Merged
Merged: 7/15/2019
Merged by: @zadjii-msft

Base: masterHead: dev/migrie/b/add-test-for-xaml-content


📝 Commits (10+)

  • d0121a1 start work on an error dialog
  • effefeb Continue work on an error dialog
  • 00a8da4 This unfortunately didn't work
  • 643a177 Merge remote-tracking branch 'origin/master' into dev/migrie/f/gh-error-dialog
  • b51d03f I'm just committing all of this, even though I really don't need most of it.
  • c1d17f6 Cleanup for PR
  • cb55215 Merge remote-tracking branch 'origin/master' into dev/migrie/f/gh-error-dialog
  • 809a180 Include jsoncpp in the solution
  • e8f5fb8 Merge branch 'master' into dev/migrie/f/gh-error-dialog
  • 5547ca5 PR feedback

📊 Changes

38 files changed (+1939 additions, -345 deletions)

View changed files

📝 OpenConsole.sln (+50 -0)
doc/cascadia/Unittesting-CppWinRT-Xaml.md (+527 -0)
📝 src/cascadia/TerminalApp/AppKeyBindingsSerialization.h (+1 -1)
📝 src/cascadia/TerminalApp/ColorScheme.cpp (+0 -2)
📝 src/cascadia/TerminalApp/ColorScheme.h (+0 -1)
📝 src/cascadia/TerminalApp/Profile.cpp (+0 -2)
📝 src/cascadia/TerminalApp/TerminalApp.vcxproj (+36 -125)
src/cascadia/TerminalApp/lib/TerminalAppLib.vcxproj (+280 -0)
src/cascadia/TerminalApp/lib/pch.cpp (+4 -0)
src/cascadia/TerminalApp/lib/pch.h (+56 -0)
📝 src/cascadia/TerminalApp/packages.config (+1 -1)
📝 src/cascadia/TerminalApp/pch.h (+3 -48)
📝 src/cascadia/TerminalConnection/packages.config (+1 -1)
📝 src/cascadia/TerminalControl/TermControl.cpp (+10 -6)
📝 src/cascadia/TerminalControl/TerminalControl.vcxproj (+8 -2)
📝 src/cascadia/TerminalControl/packages.config (+1 -1)
📝 src/cascadia/TerminalCore/packages.config (+1 -1)
📝 src/cascadia/TerminalSettings/packages.config (+1 -1)
📝 src/cascadia/WindowsTerminal/WindowsTerminal.manifest (+6 -1)
📝 src/cascadia/WindowsTerminal/WindowsTerminal.vcxproj (+156 -134)

...and 18 more files

📄 Description

Summary of the Pull Request

  • Refactors TerminalApp into two projects:
    • TerminalAppLib, which builds a .lib, and includes all the code
    • TerminalApp, which builds a dll by linking the lib
  • Adds a TerminalApp.Unit.Tests project
    • Includes the ability to test cppwinrt types we've authored using a SxS manifest for unpackaged winrt activation
    • includes the ability to test types with XAML content using an appxmanifest
  • Adds a giant doc explaining how this was all done. Really, just go read that doc, it'll really help you understand what's going on in this PR.

PR Checklist

Detailed Description of the Pull Request / Additional comments

Go read doc/cascadia/Unittesting-CppWinRT-Xaml.md

Validation Steps Performed

Manually ran the tests. I'm really hoping they run in CI too 🤞


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/1164 **Author:** [@zadjii-msft](https://github.com/zadjii-msft) **Created:** 6/7/2019 **Status:** ✅ Merged **Merged:** 7/15/2019 **Merged by:** [@zadjii-msft](https://github.com/zadjii-msft) **Base:** `master` ← **Head:** `dev/migrie/b/add-test-for-xaml-content` --- ### 📝 Commits (10+) - [`d0121a1`](https://github.com/microsoft/terminal/commit/d0121a10f4b238db28df7c7d76ced8cf37accef8) start work on an error dialog - [`effefeb`](https://github.com/microsoft/terminal/commit/effefeb95918abfc5775fad46dbb183227a22bd9) Continue work on an error dialog - [`00a8da4`](https://github.com/microsoft/terminal/commit/00a8da4045769f057ea32e64c06fc837e9070496) This unfortunately didn't work - [`643a177`](https://github.com/microsoft/terminal/commit/643a17798ca3dab5c9d86a48b7032b4d38306e10) Merge remote-tracking branch 'origin/master' into dev/migrie/f/gh-error-dialog - [`b51d03f`](https://github.com/microsoft/terminal/commit/b51d03fa664d223db0ff76a23eba612324585977) I'm just committing all of this, even though I really don't need most of it. - [`c1d17f6`](https://github.com/microsoft/terminal/commit/c1d17f69103c9c022dcb32eb9097983f2501d068) Cleanup for PR - [`cb55215`](https://github.com/microsoft/terminal/commit/cb55215372987295e16e9bc0842bbe8a6c7c6bd3) Merge remote-tracking branch 'origin/master' into dev/migrie/f/gh-error-dialog - [`809a180`](https://github.com/microsoft/terminal/commit/809a180e7e9692b0f19cef4318b96cfe921e84de) Include jsoncpp in the solution - [`e8f5fb8`](https://github.com/microsoft/terminal/commit/e8f5fb8f97311a6ed56837a82099c9ebd81e1956) Merge branch 'master' into dev/migrie/f/gh-error-dialog - [`5547ca5`](https://github.com/microsoft/terminal/commit/5547ca56efeaa74b0b71176dd39cf408b53831a2) PR feedback ### 📊 Changes **38 files changed** (+1939 additions, -345 deletions) <details> <summary>View changed files</summary> 📝 `OpenConsole.sln` (+50 -0) ➕ `doc/cascadia/Unittesting-CppWinRT-Xaml.md` (+527 -0) 📝 `src/cascadia/TerminalApp/AppKeyBindingsSerialization.h` (+1 -1) 📝 `src/cascadia/TerminalApp/ColorScheme.cpp` (+0 -2) 📝 `src/cascadia/TerminalApp/ColorScheme.h` (+0 -1) 📝 `src/cascadia/TerminalApp/Profile.cpp` (+0 -2) 📝 `src/cascadia/TerminalApp/TerminalApp.vcxproj` (+36 -125) ➕ `src/cascadia/TerminalApp/lib/TerminalAppLib.vcxproj` (+280 -0) ➕ `src/cascadia/TerminalApp/lib/pch.cpp` (+4 -0) ➕ `src/cascadia/TerminalApp/lib/pch.h` (+56 -0) 📝 `src/cascadia/TerminalApp/packages.config` (+1 -1) 📝 `src/cascadia/TerminalApp/pch.h` (+3 -48) 📝 `src/cascadia/TerminalConnection/packages.config` (+1 -1) 📝 `src/cascadia/TerminalControl/TermControl.cpp` (+10 -6) 📝 `src/cascadia/TerminalControl/TerminalControl.vcxproj` (+8 -2) 📝 `src/cascadia/TerminalControl/packages.config` (+1 -1) 📝 `src/cascadia/TerminalCore/packages.config` (+1 -1) 📝 `src/cascadia/TerminalSettings/packages.config` (+1 -1) 📝 `src/cascadia/WindowsTerminal/WindowsTerminal.manifest` (+6 -1) 📝 `src/cascadia/WindowsTerminal/WindowsTerminal.vcxproj` (+156 -134) _...and 18 more files_ </details> ### 📄 Description ## Summary of the Pull Request * Refactors TerminalApp into two projects: - TerminalAppLib, which builds a .lib, and includes all the code - TerminalApp, which builds a dll by linking the lib * Adds a TerminalApp.Unit.Tests project - Includes the ability to test cppwinrt types we've authored using a SxS manifest for unpackaged winrt activation - includes the ability to test types with XAML content using an appxmanifest * Adds a giant doc explaining how this was all done. Really, just go read that doc, it'll really help you understand what's going on in this PR. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist * [x] Closes #1042 * [x] Tests added/passed - omg I can check this box for real * [x] Requires documentation to be updated <!-- Provide a more detailed description of the PR, other things fixed or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments Go read [doc/cascadia/Unittesting-CppWinRT-Xaml.md](https://github.com/microsoft/terminal/compare/master...dev/migrie/b/add-test-for-xaml-content#diff-4ffb266eae4c692a91dad17e707b436c) <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed Manually ran the tests. I'm really hoping they run in CI too 🤞 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:03:43 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#24510