From 757bb5fb686e01c130ffbf6e1e24a6ab7591532c Mon Sep 17 00:00:00 2001 From: Aditya Patwardhan Date: Fri, 2 Jul 2021 10:40:16 -0700 Subject: [PATCH] Allow `New-YamlHelp` to generate YAML for Common Parameters (#547) --- src/Markdown.MAML/Renderer/YamlRenderer.cs | 11 +++++++++++ test/Markdown.MAML.Test/Renderer/YamlRendererTests.cs | 6 +++--- test/Pester/PlatyPs.Tests.ps1 | 2 +- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/Markdown.MAML/Renderer/YamlRenderer.cs b/src/Markdown.MAML/Renderer/YamlRenderer.cs index f85000ab..87493a7a 100644 --- a/src/Markdown.MAML/Renderer/YamlRenderer.cs +++ b/src/Markdown.MAML/Renderer/YamlRenderer.cs @@ -31,6 +31,17 @@ public static string MamlModelToString(MamlCommand mamlCommand) Syntaxes = mamlCommand.Syntax.Select(CreateSyntax).ToList() }; + if (mamlCommand.SupportCommonParameters) + { + var commonParam = new YamlParameter + { + Name = Markdown.MAML.Resources.MarkdownStrings.CommonParametersToken, + Description = Markdown.MAML.Resources.MarkdownStrings.CommonParametersText + }; + + model.OptionalParameters.Add(commonParam); + } + using (var writer = new StringWriter()) { serializer.Serialize(writer, model); diff --git a/test/Markdown.MAML.Test/Renderer/YamlRendererTests.cs b/test/Markdown.MAML.Test/Renderer/YamlRendererTests.cs index 6f2f081a..81fde57f 100644 --- a/test/Markdown.MAML.Test/Renderer/YamlRendererTests.cs +++ b/test/Markdown.MAML.Test/Renderer/YamlRendererTests.cs @@ -119,9 +119,9 @@ public void RenderProducesOptionalParameters() var writtenModel = deserializer.Deserialize(output); - Assert.Single(writtenModel.OptionalParameters); + Assert.Equal(2, writtenModel.OptionalParameters.Count); - var optionalParameter = writtenModel.OptionalParameters.Single(); + var optionalParameter = writtenModel.OptionalParameters.First(); var expectedParameter = model.Parameters.Single(p => !p.Required); Assert.Equal(expectedParameter.Globbing, optionalParameter.AcceptWildcardCharacters); @@ -197,7 +197,7 @@ public void RenderProducesSyntaxes() var syntax = writtenModel.Syntaxes.Single(); Assert.Equal(model.Syntax.Single().ParameterSetName, syntax.ParameterValueGroup); - + Assert.Single(syntax.Parameters); Assert.Equal(model.Syntax.Single().Parameters.Single().Name, syntax.Parameters.Single()); } diff --git a/test/Pester/PlatyPs.Tests.ps1 b/test/Pester/PlatyPs.Tests.ps1 index c5780914..2e5b7e89 100644 --- a/test/Pester/PlatyPs.Tests.ps1 +++ b/test/Pester/PlatyPs.Tests.ps1 @@ -1621,7 +1621,7 @@ Describe 'New-YamlHelp' { $yamlModel.RequiredParameters[0].Name | Should Be 'Path' $yamlModel.RequiredParameters[1].Name | Should Be 'OutputFolder' - $yamlModel.OptionalParameters.Count | Should Be 2 + $yamlModel.OptionalParameters.Count | Should Be 3 $yamlModel.OptionalParameters[0].Name | Should Be 'Encoding' $yamlModel.OptionalParameters[1].Name | Should Be 'Force'