Add support for fake input in asciicast recordings

* Fixes a bug with `SelectionPrompt` and page size.
* Allow `IAnsiConsoleInput` to return `null`.
This commit is contained in:
Patrik Svensson
2021-05-24 02:36:14 +02:00
committed by Phil Scott
parent 46abadaccb
commit 450d87f5d3
56 changed files with 1314 additions and 1166 deletions

View File

@ -1,3 +1,3 @@
{"version": 2, "width": 84, "height": 12, "title": "default-exception (rich)", "env": {"TERM": "Spectre.Console"}}
[0, "o", "\u001B[38;5;7mSystem.\u001B[0m\u001B[38;5;15mInvalidOperationException\u001B[0m: \u001B[1;38;5;9mWhaaat?\u001B[0m\r\n \u001B[38;5;7mSystem.Security.Authentication.\u001B[0m\u001B[38;5;15mInvalidCredentialException\u001B[0m: \u001B[1;38;5;9mThe credentials \u001B[0m \r\n \u001B[1;38;5;9mare invalid.\u001B[0m \r\n \u001B[38;5;8mat\u001B[0m \u001B[38;5;7mDocExampleGenerator.Exceptions.\u001B[0m\u001B[38;5;11mCheckCredentials\u001B[0m\u001B[38;5;7m(\u001B[0m\u001B[38;5;12mInt32\u001B[0m \u001B[38;5;7mqux\u001B[0m, \u001B[38;5;12mString[,]\u001B[0m \r\n \u001B[38;5;7mcorgi)\u001B[0m \u001B[38;5;8min\u001B[0m \r\n \u001B[38;5;7mR:\\Projects\\phil-scott-78\\spectre.console\\examples\\DocExampleGenerator\\S\u001B[0m\r\n \u001B[38;5;7mamples\\\u001B[0m\u001B[1;38;5;11mExceptions.cs\u001B[0m\u001B[38;5;8m:\u001B[0m\u001B[38;5;12m75\u001B[0m \r\n \u001B[38;5;8mat\u001B[0m \u001B[38;5;7mDocExampleGenerator.Exceptions.\u001B[0m\u001B[38;5;11mDoMagic\u001B[0m\u001B[38;5;7m(\u001B[0m\u001B[38;5;12mInt32\u001B[0m \u001B[38;5;7mfoo\u001B[0m, \u001B[38;5;12mString[,]\u001B[0m \u001B[38;5;7mbar)\u001B[0m \u001B[38;5;8min\u001B[0m \r\n \u001B[38;5;7mR:\\Projects\\phil-scott-78\\spectre.console\\examples\\DocExampleGenerator\\S\u001B[0m\r\n \u001B[38;5;7mamples\\\u001B[0m\u001B[1;38;5;11mExceptions.cs\u001B[0m\u001B[38;5;8m:\u001B[0m\u001B[38;5;12m65\u001B[0m \r\n \u001B[38;5;8mat\u001B[0m \u001B[38;5;7mDocExampleGenerator.Exceptions.\u001B[0m\u001B[38;5;11mDoMagic\u001B[0m\u001B[38;5;7m(\u001B[0m\u001B[38;5;12mInt32\u001B[0m \u001B[38;5;7mfoo\u001B[0m, \u001B[38;5;12mString[,]\u001B[0m \u001B[38;5;7mbar)\u001B[0m \u001B[38;5;8min\u001B[0m \r\n \u001B[38;5;7mR:\\Projects\\phil-scott-78\\spectre.console\\examples\\DocExampleGenerator\\Sample\u001B[0m\r\n \u001B[38;5;7ms\\\u001B[0m\u001B[1;38;5;11mExceptions.cs\u001B[0m\u001B[38;5;8m:\u001B[0m\u001B[38;5;12m69\u001B[0m \r\n \u001B[38;5;8mat\u001B[0m \u001B[38;5;7mDocExampleGenerator.Exceptions.BaseExceptionSample..\u001B[0m\u001B[38;5;11mctor\u001B[0m\u001B[38;5;7m()\u001B[0m \u001B[38;5;8min\u001B[0m \r\n \u001B[38;5;7mR:\\Projects\\phil-scott-78\\spectre.console\\examples\\DocExampleGenerator\\Sample\u001B[0m\r\n \u001B[38;5;7ms\\\u001B[0m\u001B[1;38;5;11mExceptions.cs\u001B[0m\u001B[38;5;8m:\u001B[0m\u001B[38;5;12m19\u001B[0m \r\n"]
[0, "o", "\u001B[38;5;7mSystem.\u001B[0m\u001B[38;5;15mInvalidOperationException\u001B[0m: \u001B[1;38;5;9mWhaaat?\u001B[0m\r\n \u001B[38;5;7mSystem.Security.Authentication.\u001B[0m\u001B[38;5;15mInvalidCredentialException\u001B[0m: \u001B[1;38;5;9mThe credentials \u001B[0m \r\n \u001B[1;38;5;9mare invalid.\u001B[0m \r\n \u001B[38;5;8mat\u001B[0m \u001B[38;5;7mGenerator.Commands.Samples.Exceptions.\u001B[0m\u001B[38;5;11mCheckCredentials\u001B[0m\u001B[38;5;7m(\u001B[0m\u001B[38;5;12mInt32\u001B[0m \u001B[38;5;7mqux\u001B[0m, \u001B[38;5;12mString\u001B[0m\r\n \u001B[38;5;12m[,]\u001B[0m \u001B[38;5;7mcorgi)\u001B[0m \u001B[38;5;8min\u001B[0m \r\n \u001B[38;5;7mC:\\Users\\Patrik\\Source\\github\\patriksvensson\\spectre.console\\resources\\s\u001B[0m\r\n \u001B[38;5;7mcripts\\Generator\\Commands\\AsciiCast\\Samples\\\u001B[0m\u001B[1;38;5;11mExceptions.cs\u001B[0m\u001B[38;5;8m:\u001B[0m\u001B[38;5;12m75\u001B[0m \r\n \u001B[38;5;8mat\u001B[0m \u001B[38;5;7mGenerator.Commands.Samples.Exceptions.\u001B[0m\u001B[38;5;11mDoMagic\u001B[0m\u001B[38;5;7m(\u001B[0m\u001B[38;5;12mInt32\u001B[0m \u001B[38;5;7mfoo\u001B[0m, \u001B[38;5;12mString[,]\u001B[0m \u001B[38;5;7mbar)\u001B[0m \r\n \u001B[38;5;8min\u001B[0m \r\n \u001B[38;5;7mC:\\Users\\Patrik\\Source\\github\\patriksvensson\\spectre.console\\resources\\s\u001B[0m\r\n \u001B[38;5;7mcripts\\Generator\\Commands\\AsciiCast\\Samples\\\u001B[0m\u001B[1;38;5;11mExceptions.cs\u001B[0m\u001B[38;5;8m:\u001B[0m\u001B[38;5;12m65\u001B[0m \r\n \u001B[38;5;8mat\u001B[0m \u001B[38;5;7mGenerator.Commands.Samples.Exceptions.\u001B[0m\u001B[38;5;11mDoMagic\u001B[0m\u001B[38;5;7m(\u001B[0m\u001B[38;5;12mInt32\u001B[0m \u001B[38;5;7mfoo\u001B[0m, \u001B[38;5;12mString[,]\u001B[0m \u001B[38;5;7mbar)\u001B[0m \u001B[38;5;8min\u001B[0m \r\n \u001B[38;5;7mC:\\Users\\Patrik\\Source\\github\\patriksvensson\\spectre.console\\resources\\script\u001B[0m\r\n \u001B[38;5;7ms\\Generator\\Commands\\AsciiCast\\Samples\\\u001B[0m\u001B[1;38;5;11mExceptions.cs\u001B[0m\u001B[38;5;8m:\u001B[0m\u001B[38;5;12m69\u001B[0m \r\n \u001B[38;5;8mat\u001B[0m \u001B[38;5;7mGenerator.Commands.Samples.Exceptions.BaseExceptionSample..\u001B[0m\u001B[38;5;11mctor\u001B[0m\u001B[38;5;7m()\u001B[0m \u001B[38;5;8min\u001B[0m \r\n \u001B[38;5;7mC:\\Users\\Patrik\\Source\\github\\patriksvensson\\spectre.console\\resources\\script\u001B[0m\r\n \u001B[38;5;7ms\\Generator\\Commands\\AsciiCast\\Samples\\\u001B[0m\u001B[1;38;5;11mExceptions.cs\u001B[0m\u001B[38;5;8m:\u001B[0m\u001B[38;5;12m19\u001B[0m \r\n"]