Skip to content

Comments

#1718 TestConsole can now be configured and accessed in CommandAppTester#1803

Merged
patriksvensson merged 7 commits intospectreconsole:mainfrom
magiino:feature/1718-Test-console-in-command-app-tester-is-configurable-and-accessible
Apr 14, 2025
Merged

#1718 TestConsole can now be configured and accessed in CommandAppTester#1803
patriksvensson merged 7 commits intospectreconsole:mainfrom
magiino:feature/1718-Test-console-in-command-app-tester-is-configurable-and-accessible

Conversation

@magiino
Copy link
Contributor

@magiino magiino commented Apr 10, 2025

Feature #1718

  • I have read the Contribution Guidelines
  • I have commented on the issue above and discussed the intended changes
  • A maintainer has signed off on the changes and the issue was assigned to me
  • All newly added code is adequately covered by tests
  • All existing tests are still running without errors
  • The documentation was modified to reflect the changes OR no documentation changes are required.

Changes

I added a new optional parameter to CommandAppTester to override the default TestConsole.
The TestConsole can now be accessed through a public property of the CommandAppTester instance.
The new parameter is placed last to avoid introducing a breaking change.

Added tests and documentation on how to mock user inputs in interactive commands using CommandAppTester.

Please squash the commits when merging.


Please upvote 👍 this pull request if you are interested in it.

@magiino
Copy link
Contributor Author

magiino commented Apr 11, 2025

@magiino please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.

@microsoft-github-policy-service agree [company="{your company}"]

Options:

  • (default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.
@microsoft-github-policy-service agree
  • (when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.
@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

@microsoft-github-policy-service agree

Copy link
Contributor

@patriksvensson patriksvensson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, but left two small nitpick-comments that would be nice if you fixed. 👍

Co-authored-by: Patrik Svensson <patriksvensson@users.noreply.github.com>
@magiino
Copy link
Contributor Author

magiino commented Apr 14, 2025

Looks good to me, but left two small nitpick-comments that would be nice if you fixed. 👍

Thanks! I’ve applied the changes based on your comments. Let me know if there’s anything else! :)

@patriksvensson patriksvensson added this to the 0.51 milestone Apr 14, 2025
@patriksvensson patriksvensson merged commit 57dd8ee into spectreconsole:main Apr 14, 2025
3 checks passed
@patriksvensson
Copy link
Contributor

Merged! Thank you for your contribution. Much appreciated! 👍

RicherTunes pushed a commit to RicherTunes/Lidarr.Plugin.Common that referenced this pull request Feb 17, 2026
Updated
[Spectre.Console](https://github.com/spectreconsole/spectre.console)
from 0.50.0 to 0.54.0.

<details>
<summary>Release notes</summary>

_Sourced from [Spectre.Console's
releases](https://github.com/spectreconsole/spectre.console/releases)._

## 0.54.0

Version `0.54.0` of Spectre.Console has been released!

## Spectre.Console.Cli has a new home!

We've decided to move `Spectre.Console.Cli` to its own repository, where
we will prepare it for a _1.0_ release. This means that the
_Spectre.Console.Cli_ NuGet packages will no longer be versioned
together with _Spectre.Console_. They will now have a preview version
such as `1.0.0-alpha-0.x`.

There should be no issues staying on version _0.53.0_ of
_Spectre.Console.Cli_ until we release a stable version if you prefer
not to use a pre-release dependency.

## New unit testing package for Spectre.Console.Cli

There is now a new testing package for _Spectre.Console.Cli_ called
[Spectre.Console.Cli.Testing](https://www.nuget.org/packages/Spectre.Console.Cli.Testing).
This is where you will find the `CommandAppTester` from now on.

You can find more information about unit testing in the
[documentation](https://spectreconsole.net/cli/unit-testing).

## What's Changed

* Normalizes paths when writing exceptions to the console for tests. by
[@​phil-scott-78](https://github.com/phil-scott-78) in
[#​1758](spectreconsole/spectre.console#1758)
* Fixes issue with Panel not applying overflow to children by
[@​phil-scott-78](https://github.com/phil-scott-78) in
[#​1942](spectreconsole/spectre.console#1942)
* Remove Spectre.Console.Cli from repository by
[@​patriksvensson](https://github.com/patriksvensson) in
[#​1928](spectreconsole/spectre.console#1928)

**Full Changelog**:
spectreconsole/spectre.console@0.53.0...0.54.0

## 0.53.1

This is a hotfix release for 0.53.0, which accidentally included
`OpenCli.Sources` as a dependency, instead of being included in the
package.

As a bonus, a fix for panels was also included in this release 😄 

## What's Changed
* Ensure OpenCli.Sources are not a dependency of the CLI package. by
@​patriksvensson in d61788d6c681745c8d1158ceeb4545ba37a99522
* Normalizes paths when writing exceptions to the console for tests. by
@​phil-scott-78 in
spectreconsole/spectre.console#1758
* Fixes issue with Panel not applying overflow to children by
@​phil-scott-78 in
spectreconsole/spectre.console#1942

**Full Changelog**:
spectreconsole/spectre.console@0.53.0...0.53.1

## 0.53.0

## What's Changed

* Add top-level CancellationToken support to Spectre.Console.Cli by
[@​0xced](https://github.com/0xced) in
[#​1911](spectreconsole/spectre.console#1911)
* Update the Spectre.Console.Cli documentation with CancellationToken by
[@​0xced](https://github.com/0xced) in
[#​1920](spectreconsole/spectre.console#1920)

**Full Changelog**:
spectreconsole/spectre.console@0.52.0...0.53.0

## 0.52.0

## What's Changed

* Add OpenCLI integration to Spectre.Console.Cli by
[@​patriksvensson](https://github.com/patriksvensson) in
[#​1909](spectreconsole/spectre.console#1909)
* Fix OPENCLI_VISIBILITY_INTERNAL to DefineConstants concat by
[@​devlead](https://github.com/devlead) in
[#​1912](spectreconsole/spectre.console#1912)

**Full Changelog**:
spectreconsole/spectre.console@0.51.1...0.52.0

## 0.51.1

## What's Changed

* Fix IndexOutOfRangeException in ExceptionFormatter by
[@​martincostello](https://github.com/martincostello) in
[#​1800](spectreconsole/spectre.console#1800)
* TestConsole can now be configured and accessed in CommandAppTester by
[@​magiino](https://github.com/magiino) in
[#​1803](spectreconsole/spectre.console#1803)
* Add ShowRowSeparators in Table Widget docs by
[@​bartoginski](https://github.com/bartoginski) in
[#​1807](spectreconsole/spectre.console#1807)
* Add support for required options by
[@​patriksvensson](https://github.com/patriksvensson) in
[#​1825](spectreconsole/spectre.console#1825)
* Added documentation for align widget by
[@​Elementttto](https://github.com/Elementttto) in
[#​1746](spectreconsole/spectre.console#1746)
* Fixed link not displayed in markup in Style.cs and added unit test
cases by [@​Elementttto](https://github.com/Elementttto) in
[#​1750](spectreconsole/spectre.console#1750)
* Update System.Memory dependency by
[@​WeihanLi](https://github.com/WeihanLi) in
[#​1832](spectreconsole/spectre.console#1832)
* Reduce memory usage for rune width cache. by
[@​Pannoniae](https://github.com/Pannoniae) in
[#​1756](spectreconsole/spectre.console#1756)
* Fix resizing of Live views with reduced size. by
[@​belucha](https://github.com/belucha) in
[#​1840](spectreconsole/spectre.console#1840)
* Corrects comment for optional text prompt by
[@​aljanabim](https://github.com/aljanabim) in
[#​1857](spectreconsole/spectre.console#1857)
* Update spinners by [@​FroggieFrog](https://github.com/FroggieFrog) in
[#​1873](spectreconsole/spectre.console#1873)
* Support J and K for navigating list prompts by
[@​tobias-tengler](https://github.com/tobias-tengler) in
[#​1877](spectreconsole/spectre.console#1877)
* Fix space triggering selection when items in the selection list have a
space. by [@​mitchdenny](https://github.com/mitchdenny) in
[#​1881](spectreconsole/spectre.console#1881)
* Fix bug setting Header by
[@​mattfennerom](https://github.com/mattfennerom) in
[#​1890](spectreconsole/spectre.console#1890)

## New Contributors
* [@​magiino](https://github.com/magiino) made their first contribution
in [#​1803](spectreconsole/spectre.console#1803)
* [@​bartoginski](https://github.com/bartoginski) made their first
contribution in
[#​1807](spectreconsole/spectre.console#1807)
* [@​Elementttto](https://github.com/Elementttto) made their first
contribution in
[#​1746](spectreconsole/spectre.console#1746)
* [@​WeihanLi](https://github.com/WeihanLi) made their first
contribution in
[#​1832](spectreconsole/spectre.console#1832)
* [@​Pannoniae](https://github.com/Pannoniae) made their first
contribution in
[#​1756](spectreconsole/spectre.console#1756)
* [@​belucha](https://github.com/belucha) made their first contribution
in [#​1840](spectreconsole/spectre.console#1840)
* [@​aljanabim](https://github.com/aljanabim) made their first
contribution in
[#​1857](spectreconsole/spectre.console#1857)
* [@​FroggieFrog](https://github.com/FroggieFrog) made their first
contribution in
[#​1873](spectreconsole/spectre.console#1873)
* [@​tobias-tengler](https://github.com/tobias-tengler) made their first
contribution in
[#​1877](spectreconsole/spectre.console#1877)
* [@​mitchdenny](https://github.com/mitchdenny) made their first
contribution in
[#​1881](spectreconsole/spectre.console#1881)
* [@​mattfennerom](https://github.com/mattfennerom) made their first
contribution in
[#​1890](spectreconsole/spectre.console#1890)

**Full Changelog**:
spectreconsole/spectre.console@0.50.0...0.51.1

Commits viewable in [compare
view](spectreconsole/spectre.console@0.50.0...0.54.0).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Spectre.Console&package-manager=nuget&previous-version=0.50.0&new-version=0.54.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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.

2 participants