commandlineparser / commandlineparser/commandline

Support fake results

Ouverte
#85 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
enhancement
Langage dominant
C#
Étoiles
4.8k
Forks
478
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

**Issue by [themacguffinman](https://github.com/themacguffinman)**
_Thursday Aug 25, 2016 at 06:58 GMT_
_Originally opened as https://github.com/gsscoder/commandline/issues/345_

----

Right now it's impossible to raise my own parser errors because all classes relating to the error system are `sealed` with `internal` constructors.

This snippet from `HelpTextTests` is completely inaccessible:

```
var fakeResult = new NotParsed(
TypeInfo.Create(typeof(NullInstance)),
new Error[]
{
new BadFormatTokenError("badtoken"),
new MissingValueOptionError(new NameInfo("x", "switch")),
new UnknownOptionError("unknown"),
new MissingRequiredOptionError(new NameInfo("", "missing")),
new SequenceOutOfRangeError(new NameInfo("s", "sequence")),
new NoVerbSelectedError(),
new BadVerbSelectedError("badverb"),
new HelpRequestedError(), // should be ignored
new HelpVerbRequestedError(null, null, false) // should be ignored
});
```

Please publicly expose the error system to support custom error management.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par l’exemple HelpTextTests et examinez les classes d’erreur qui y sont utilisées, notamment NotParsed et les sous-classes de Error. Déterminez quelles déclarations sealed et quels constructeurs internal empêchent la gestion personnalisée externe des erreurs, puis vérifiez que le système d’erreurs peut être utilisé publiquement sans modifier le comportement existant de HelpTextTests, y compris les erreurs d’aide ignorées.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
csharp
Domaine
cli
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.