├── .editorconfig
├── .gitattributes
├── .github
└── workflows
│ └── build.yml
├── .gitignore
├── .nuget
└── packages.config
├── .nuke
├── build.schema.json
└── parameters.json
├── Build.md
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE.txt
├── Output
├── Cucumber
│ └── cucumberResult.json
├── Dhtml
│ ├── Index.html
│ ├── css
│ │ ├── bootstrap.min.css
│ │ ├── print.css
│ │ └── styles.css
│ ├── image.png
│ ├── img
│ │ ├── glyphicons-halflings-white.png
│ │ ├── glyphicons-halflings.png
│ │ └── link.png
│ ├── js
│ │ ├── Chart.StackedBar.js
│ │ ├── Chart.min.js
│ │ ├── Markdown.Converter.js
│ │ ├── Markdown.Extra.js
│ │ ├── bootstrap.min.js
│ │ ├── featureSearch.js
│ │ ├── featuresModel.js
│ │ ├── heirarchyBuilder.js
│ │ ├── html5.js
│ │ ├── jquery-1.8.3.min.js
│ │ ├── jquery.highlight-4.closure.js
│ │ ├── knockout-3.4.0.js
│ │ ├── knockout.mapping-latest.js
│ │ ├── logger.js
│ │ ├── picklesOverview.js
│ │ ├── stringFormatting.js
│ │ ├── typeaheadList.js
│ │ └── underscore-min.js
│ ├── pickledFeatures.js
│ └── test.jpg
├── Excel
│ └── features.xlsx
├── Html
│ ├── Features
│ │ ├── 00BasicGherkin
│ │ │ ├── BasicGherkin.html
│ │ │ ├── index.html
│ │ │ └── test.jpg
│ │ ├── 01TestRunner
│ │ │ ├── TestRunnerIsNotImportant.html
│ │ │ └── index.html
│ │ ├── 02TagsAndHooks
│ │ │ ├── Hooks.html
│ │ │ ├── TagDemo.html
│ │ │ └── index.html
│ │ ├── 031ScenarioContext
│ │ │ ├── ScenarioContext.html
│ │ │ └── index.html
│ │ ├── 032FeatureContext
│ │ │ ├── FeatureContextFeatures.html
│ │ │ └── index.html
│ │ ├── 03ScenarioOutline
│ │ │ ├── ScenarioOutline.html
│ │ │ └── index.html
│ │ ├── 04Background
│ │ │ ├── BackgroundFeature.html
│ │ │ └── index.html
│ │ ├── 05TablesAndAssist
│ │ │ ├── TableScenario.html
│ │ │ └── index.html
│ │ ├── 06CompareToAssist
│ │ │ ├── CompareTo.html
│ │ │ └── index.html
│ │ ├── 07Localization
│ │ │ ├── Svenska.html
│ │ │ ├── Vlaams.html
│ │ │ └── index.html
│ │ ├── 08AttributeOverloading
│ │ │ ├── AttributeOverloading.html
│ │ │ └── index.html
│ │ ├── 09CallingStepsFromSteps
│ │ │ ├── CallingStepsFromSteps.html
│ │ │ └── index.html
│ │ ├── 10StepTransformation
│ │ │ ├── StepTransformation.html
│ │ │ └── index.html
│ │ ├── 11ContextInjection
│ │ │ ├── ContextInjection.html
│ │ │ └── index.html
│ │ ├── 12NestedFolders
│ │ │ ├── ChildFolder
│ │ │ │ ├── ChildChildFolder
│ │ │ │ │ ├── NestedFolderExample.html
│ │ │ │ │ └── index.html
│ │ │ │ └── index.html
│ │ │ └── index.html
│ │ ├── 13MultilineText
│ │ │ ├── MultilineFeatureExample.html
│ │ │ └── index.html
│ │ ├── 14MarkdownExample
│ │ │ ├── MarkdownExamples.html
│ │ │ ├── image.png
│ │ │ └── index.html
│ │ ├── 15Pickles
│ │ │ ├── InteractiveDHTMLView.html
│ │ │ ├── NotTestedAutomatedManualTags.html
│ │ │ └── index.html
│ │ ├── Arithmetic.html
│ │ ├── Trigonometry.html
│ │ ├── Workflow
│ │ │ ├── ClearingScreen.html
│ │ │ └── index.html
│ │ └── index.html
│ ├── css
│ │ ├── font-awesome.css
│ │ ├── fonts
│ │ │ ├── FontAwesome.ttf
│ │ │ ├── fontawesome-webfont.eot
│ │ │ ├── fontawesome-webfont.svg
│ │ │ ├── fontawesome-webfont.ttf
│ │ │ └── fontawesome-webfont.woff
│ │ ├── global.css
│ │ ├── master.css
│ │ ├── print.css
│ │ ├── reset.css
│ │ └── structure.css
│ ├── img
│ │ ├── failure.png
│ │ ├── inconclusive.png
│ │ └── success.png
│ ├── index.html
│ ├── js
│ │ ├── jquery.js
│ │ └── scripts.js
│ └── readme.html
├── JSON
│ └── pickledFeatures.json
├── Markdown
│ ├── fail.png
│ ├── features.md
│ ├── inconclusive.png
│ └── pass.png
└── Word
│ └── Pickles.docx
├── Pickles.sln
├── README.md
├── build.cmd
├── build.ps1
├── build.sh
├── build
├── .editorconfig
├── Build.cs
├── Configuration.cs
├── Directory.Build.props
├── Directory.Build.targets
├── _build.csproj
└── _build.csproj.DotSettings
├── docs
├── .gitattributes
├── .gitignore
├── CNAME
├── Content
│ ├── bootstrap-theme.css
│ ├── bootstrap-theme.css.map
│ ├── bootstrap-theme.min.css
│ ├── bootstrap-theme.min.css.map
│ ├── bootstrap.css
│ ├── bootstrap.css.map
│ ├── bootstrap.min.css
│ ├── bootstrap.min.css.map
│ ├── bootswatch.flatly.min.css
│ └── custom.css
├── Images
│ ├── BasicGherkin.png
│ ├── DynamicHtml.png
│ ├── Excel.png
│ ├── StaticHtml.png
│ ├── Word.png
│ ├── pickles.png
│ └── pickles.svg
├── Output
│ ├── Cucumber
│ │ └── cucumberResult.json
│ ├── Dhtml
│ │ ├── Index.html
│ │ ├── css
│ │ │ ├── bootstrap.min.css
│ │ │ ├── print.css
│ │ │ └── styles.css
│ │ ├── image.png
│ │ ├── img
│ │ │ ├── glyphicons-halflings-white.png
│ │ │ ├── glyphicons-halflings.png
│ │ │ └── link.png
│ │ ├── js
│ │ │ ├── Chart.StackedBar.js
│ │ │ ├── Chart.min.js
│ │ │ ├── Markdown.Converter.js
│ │ │ ├── Markdown.Extra.js
│ │ │ ├── bootstrap.min.js
│ │ │ ├── featureSearch.js
│ │ │ ├── featuresModel.js
│ │ │ ├── heirarchyBuilder.js
│ │ │ ├── html5.js
│ │ │ ├── jquery-1.8.3.min.js
│ │ │ ├── jquery.highlight-4.closure.js
│ │ │ ├── knockout-3.4.0.js
│ │ │ ├── knockout.mapping-latest.js
│ │ │ ├── logger.js
│ │ │ ├── picklesOverview.js
│ │ │ ├── stringFormatting.js
│ │ │ ├── typeaheadList.js
│ │ │ └── underscore-min.js
│ │ ├── pickledFeatures.js
│ │ └── test.jpg
│ ├── Excel
│ │ └── features.xlsx
│ ├── Html
│ │ ├── Features
│ │ │ ├── 00BasicGherkin
│ │ │ │ ├── BasicGherkin.html
│ │ │ │ ├── index.html
│ │ │ │ └── test.jpg
│ │ │ ├── 01TestRunner
│ │ │ │ ├── TestRunnerIsNotImportant.html
│ │ │ │ └── index.html
│ │ │ ├── 02TagsAndHooks
│ │ │ │ ├── Hooks.html
│ │ │ │ ├── TagDemo.html
│ │ │ │ └── index.html
│ │ │ ├── 031ScenarioContext
│ │ │ │ ├── ScenarioContext.html
│ │ │ │ └── index.html
│ │ │ ├── 032FeatureContext
│ │ │ │ ├── FeatureContextFeatures.html
│ │ │ │ └── index.html
│ │ │ ├── 03ScenarioOutline
│ │ │ │ ├── ScenarioOutline.html
│ │ │ │ └── index.html
│ │ │ ├── 04Background
│ │ │ │ ├── BackgroundFeature.html
│ │ │ │ └── index.html
│ │ │ ├── 05TablesAndAssist
│ │ │ │ ├── TableScenario.html
│ │ │ │ └── index.html
│ │ │ ├── 06CompareToAssist
│ │ │ │ ├── CompareTo.html
│ │ │ │ └── index.html
│ │ │ ├── 07Localization
│ │ │ │ ├── Svenska.html
│ │ │ │ ├── Vlaams.html
│ │ │ │ └── index.html
│ │ │ ├── 08AttributeOverloading
│ │ │ │ ├── AttributeOverloading.html
│ │ │ │ └── index.html
│ │ │ ├── 09CallingStepsFromSteps
│ │ │ │ ├── CallingStepsFromSteps.html
│ │ │ │ └── index.html
│ │ │ ├── 10StepTransformation
│ │ │ │ ├── StepTransformation.html
│ │ │ │ └── index.html
│ │ │ ├── 11ContextInjection
│ │ │ │ ├── ContextInjection.html
│ │ │ │ └── index.html
│ │ │ ├── 12NestedFolders
│ │ │ │ ├── ChildFolder
│ │ │ │ │ ├── ChildChildFolder
│ │ │ │ │ │ ├── NestedFolderExample.html
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── index.html
│ │ │ │ └── index.html
│ │ │ ├── 13MultilineText
│ │ │ │ ├── MultilineFeatureExample.html
│ │ │ │ └── index.html
│ │ │ ├── 14MarkdownExample
│ │ │ │ ├── MarkdownExamples.html
│ │ │ │ ├── image.png
│ │ │ │ └── index.html
│ │ │ ├── 15Pickles
│ │ │ │ ├── InteractiveDHTMLView.html
│ │ │ │ ├── NotTestedAutomatedManualTags.html
│ │ │ │ └── index.html
│ │ │ ├── Arithmetic.html
│ │ │ ├── Trigonometry.html
│ │ │ ├── Workflow
│ │ │ │ ├── ClearingScreen.html
│ │ │ │ └── index.html
│ │ │ └── index.html
│ │ ├── css
│ │ │ ├── font-awesome.css
│ │ │ ├── fonts
│ │ │ │ ├── FontAwesome.ttf
│ │ │ │ ├── fontawesome-webfont.eot
│ │ │ │ ├── fontawesome-webfont.svg
│ │ │ │ ├── fontawesome-webfont.ttf
│ │ │ │ └── fontawesome-webfont.woff
│ │ │ ├── global.css
│ │ │ ├── master.css
│ │ │ ├── print.css
│ │ │ ├── reset.css
│ │ │ └── structure.css
│ │ ├── img
│ │ │ ├── failure.png
│ │ │ ├── inconclusive.png
│ │ │ └── success.png
│ │ ├── index.html
│ │ ├── js
│ │ │ ├── jquery.js
│ │ │ └── scripts.js
│ │ └── readme.html
│ ├── JSON
│ │ └── pickledFeatures.json
│ ├── Markdown
│ │ ├── fail.png
│ │ ├── features.md
│ │ ├── inconclusive.png
│ │ └── pass.png
│ └── Word
│ │ └── Pickles.docx
├── README.md
├── Scripts
│ ├── bootstrap.js
│ ├── bootstrap.min.js
│ ├── jquery-2.1.4.intellisense.js
│ ├── jquery-2.1.4.js
│ ├── jquery-2.1.4.min.js
│ └── jquery-2.1.4.min.map
├── fonts
│ ├── glyphicons-halflings-regular.eot
│ ├── glyphicons-halflings-regular.svg
│ ├── glyphicons-halflings-regular.ttf
│ ├── glyphicons-halflings-regular.woff
│ └── glyphicons-halflings-regular.woff2
├── index.html
├── index_template.html
├── packages.config
├── picklesdoc.github.com.sln
└── picklesdoc.github.com.sln.GhostDoc.xml
├── global.json
├── packages
└── nuget
│ └── nuget.exe
├── pickles.png
└── src
├── AutoTest.config
├── DocumentationBuilders.Markdown_Tests.playlist
├── Examples
├── Features
│ ├── 00BasicGherkin
│ │ ├── BasicGherkin.feature
│ │ └── test.jpg
│ ├── 01TestRunner
│ │ └── TestRunnerIsNotImportant.feature
│ ├── 02TagsAndHooks
│ │ ├── Hooks.feature
│ │ └── TagDemo.feature
│ ├── 031ScenarioContext
│ │ └── ScenarioContext.feature
│ ├── 032FeatureContext
│ │ └── FeatureContextFeatures.feature
│ ├── 03ScenarioOutline
│ │ └── ScenarioOutline.feature
│ ├── 04Background
│ │ └── BackgroundFeature.feature
│ ├── 05TablesAndAssist
│ │ └── TableScenario.feature
│ ├── 06CompareToAssist
│ │ └── CompareTo.feature
│ ├── 07Localization
│ │ ├── Svenska.feature
│ │ └── Vlaams.feature
│ ├── 08AttributeOverloading
│ │ └── AttributeOverloading.feature
│ ├── 09CallingStepsFromSteps
│ │ └── CallingStepsFromSteps.feature
│ ├── 10StepTransformation
│ │ └── StepTransformation.feature
│ ├── 11ContextInjection
│ │ └── ContextInjection.feature
│ ├── 12NestedFolders
│ │ └── ChildFolder
│ │ │ └── ChildChildFolder
│ │ │ └── NestedFolderExample.feature
│ ├── 13MultilineText
│ │ └── MultilineFeatureExample.feature
│ ├── 14MarkdownExample
│ │ ├── MarkdownExamples.feature
│ │ └── image.png
│ ├── 15Pickles
│ │ ├── InteractiveDHTMLView.feature
│ │ └── NotTestedAutomatedManualTags.feature
│ ├── Arithmetic.feature
│ ├── Trigonometry.feature
│ └── Workflow
│ │ └── ClearingScreen.feature
└── readme.txt
├── Pickles.BaseDhtmlFiles
├── Index.html
├── css
│ ├── bootstrap.min.css
│ ├── print.css
│ └── styles.css
├── img
│ ├── glyphicons-halflings-white.png
│ ├── glyphicons-halflings.png
│ └── link.png
├── js
│ ├── Chart.StackedBar.js
│ ├── Chart.min.js
│ ├── Markdown.Converter.js
│ ├── Markdown.Extra.js
│ ├── bootstrap.min.js
│ ├── featureSearch.js
│ ├── featuresModel.js
│ ├── heirarchyBuilder.js
│ ├── html5.js
│ ├── jquery-1.8.3.min.js
│ ├── jquery.highlight-4.closure.js
│ ├── knockout-3.4.0.js
│ ├── knockout.mapping-latest.js
│ ├── logger.js
│ ├── picklesOverview.js
│ ├── stringFormatting.js
│ ├── typeaheadList.js
│ └── underscore-min.js
├── pickledFeatures.js
└── tests
│ ├── Tests.html
│ ├── qunit-1.10.0.css
│ ├── qunit-1.10.0.js
│ └── tests.js
├── Pickles.CommandLine.UnitTests
├── Pickles.CommandLine.UnitTests.csproj
├── TestResults
│ └── TestResults.xml
├── WhenParsingCommandLineArguments.cs
└── app.config
├── Pickles.CommandLine
├── CommandLineArgumentParser.cs
├── NLog.config
├── NugetPack.cmd
├── Pickles.CommandLine.csproj
├── Pickles.CommandLine.nuspec
├── Program.cs
├── Properties
│ └── PublishProfiles
│ │ ├── FolderProfile.pubxml
│ │ └── FolderProfile1.pubxml
├── app.config
└── runtimeconfig.template.json
├── Pickles.DocumentationBuilders.Cucumber.UnitTests
├── App.config
├── AutomationLayer
│ └── StepDefinitions.cs
├── CucumberDocumentationBuilderTests.cs
├── FeatureTest
│ ├── SettingUriForAFeature.feature
│ └── SettingUriForAFeature.feature.cs
├── FormattingAFeature.feature
├── FormattingAFeature.feature.cs
├── Pickles.DocumentationBuilders.Cucumber.UnitTests.csproj
├── Properties
│ └── AssemblyInfo.cs
└── TestResults
│ └── TestResults.xml
├── Pickles.DocumentationBuilders.Cucumber
├── CucumberDocumentationBuilder.cs
├── CucumberTestResults.cs
├── Pickles.DocumentationBuilders.Cucumber.csproj
└── app.config
├── Pickles.DocumentationBuilders.Dhtml.UnitTests
├── Pickles.DocumentationBuilders.Dhtml.UnitTests.csproj
├── TestResults
│ └── TestResults.xml
├── WhenDoingSomeIntegrationTests.cs
└── app.config
├── Pickles.DocumentationBuilders.Dhtml
├── DhtmlDocumentationBuilder.cs
├── DhtmlModule.cs
├── DhtmlResourceWriter.cs
├── JsonTweaker.cs
├── Pickles.DocumentationBuilders.Dhtml.csproj
├── Resources
│ ├── Index.html
│ ├── css
│ │ ├── bootstrap.min.css
│ │ ├── print.css
│ │ └── styles.css
│ ├── img
│ │ ├── glyphicons-halflings-white.png
│ │ ├── glyphicons-halflings.png
│ │ └── link.png
│ ├── js
│ │ ├── Chart.StackedBar.js
│ │ ├── Chart.min.js
│ │ ├── Markdown.Converter.js
│ │ ├── Markdown.Extra.js
│ │ ├── bootstrap.min.js
│ │ ├── featureSearch.js
│ │ ├── featuresModel.js
│ │ ├── heirarchyBuilder.js
│ │ ├── html5.js
│ │ ├── jquery-1.8.3.min.js
│ │ ├── jquery.highlight-4.closure.js
│ │ ├── knockout-3.4.0.js
│ │ ├── knockout.mapping-latest.js
│ │ ├── logger.js
│ │ ├── picklesOverview.js
│ │ ├── stringFormatting.js
│ │ ├── typeaheadList.js
│ │ └── underscore-min.js
│ ├── pickledFeatures.js
│ └── tests
│ │ ├── Tests.html
│ │ ├── qunit-1.10.0.css
│ │ ├── qunit-1.10.0.js
│ │ └── tests.js
└── app.config
├── Pickles.DocumentationBuilders.Excel.UnitTests
├── Pickles.DocumentationBuilders.Excel.UnitTests.csproj
├── TestResults
│ └── TestResults.xml
├── WhenAddingADocumentStringToAWorksheet.cs
├── WhenAddingAFeatureToAWorksheet.cs
├── WhenAddingAScenarioToAWorksheet.cs
├── WhenAddingAStepToAWorksheet.cs
├── WhenAddingATableOfContentsToAWorksheet.cs
├── WhenAddingATableToAWorksheet.cs
├── WhenCreatingSheetNamesFromFeatures.cs
└── app.config
├── Pickles.DocumentationBuilders.Excel
├── ExcelDocumentStringFormatter.cs
├── ExcelDocumentationBuilder.cs
├── ExcelFeatureFormatter.cs
├── ExcelModule.cs
├── ExcelScenarioFormatter.cs
├── ExcelSheetNameGenerator.cs
├── ExcelStepFormatter.cs
├── ExcelTableFormatter.cs
├── ExcelTableOfContentsFormatter.cs
└── Pickles.DocumentationBuilders.Excel.csproj
├── Pickles.DocumentationBuilders.Html.UnitTests
├── AutomationLayer
│ ├── CurrentScenarioContext.cs
│ ├── Hooks.cs
│ └── StepDefinitions.cs
├── FormattingAFeature.feature
├── FormattingAFeature.feature.cs
├── FormattingAFeatureUsingStrike.feature
├── FormattingAFeatureUsingStrike.feature.cs
├── Pickles.DocumentationBuilders.Html.UnitTests.csproj
├── StrikeMarkdownProviderTests.cs
├── TestResults
│ └── TestResults.xml
├── WhenFormattingFeatures.cs
├── WhenFormattingLocalizedFeatures.cs
├── WhenFormattingMultilineStrings.cs
├── WhenFormattingScenario.cs
├── WhenFormattingStep.cs
├── WhenFormattingTables.cs
└── app.config
├── Pickles.DocumentationBuilders.Html
├── Extensions
│ └── NamespaceExtensions.cs
├── HtmlContentFormatter.cs
├── HtmlDescriptionFormatter.cs
├── HtmlDocumentFormatter.cs
├── HtmlDocumentationBuilder.cs
├── HtmlFeatureFormatter.cs
├── HtmlFooterFormatter.cs
├── HtmlHeaderFormatter.cs
├── HtmlImageResultFormatter.cs
├── HtmlIndexFormatter.cs
├── HtmlMarkdownFormatter.cs
├── HtmlModule.cs
├── HtmlMultilineStringFormatter.cs
├── HtmlNamespace.cs
├── HtmlResource.cs
├── HtmlResourceSet.cs
├── HtmlResourceWriter.cs
├── HtmlScenarioFormatter.cs
├── HtmlStepFormatter.cs
├── HtmlTableFormatter.cs
├── HtmlTableOfContentsFormatter.cs
├── IHtmlFeatureFormatter.cs
├── Pickles.DocumentationBuilders.Html.csproj
├── ResourceWriter.cs
└── Resources
│ ├── css
│ ├── font-awesome.css
│ ├── fonts
│ │ ├── FontAwesome.ttf
│ │ ├── fontawesome-webfont.eot
│ │ ├── fontawesome-webfont.svg
│ │ ├── fontawesome-webfont.ttf
│ │ └── fontawesome-webfont.woff
│ ├── global.css
│ ├── master.css
│ ├── print.css
│ ├── reset.css
│ └── structure.css
│ ├── img
│ ├── failure.png
│ ├── inconclusive.png
│ └── success.png
│ └── js
│ ├── jquery.js
│ └── scripts.js
├── Pickles.DocumentationBuilders.Json.UnitTests
├── AutomationLayer
│ └── StepDefinitions.cs
├── FormattingAFeature.feature
├── IJsonFeatureElementExtensionsTests.cs
├── Pickles.DocumentationBuilders.Json.UnitTests.csproj
├── TestResults
│ └── TestResults.xml
└── app.config
├── Pickles.DocumentationBuilders.Json
├── IJsonFeatureElement.cs
├── IJsonFeatureElementExtensions.cs
├── JSONDocumentationBuilder.cs
├── JsonComment.cs
├── JsonExample.cs
├── JsonFeature.cs
├── JsonFeatureWithMetaInfo.cs
├── JsonKeyword.cs
├── JsonMapper.cs
├── JsonModule.cs
├── JsonScenario.cs
├── JsonStep.cs
├── JsonTable.cs
├── JsonTableHeader.cs
├── JsonTableRow.cs
├── JsonTestResult.cs
├── Mapper
│ ├── CommentToJsonCommentMapper.cs
│ ├── ExampleToJsonExampleMapper.cs
│ ├── FeatureToJsonFeatureMapper.cs
│ ├── KeywordToJsonKeywordMapper.cs
│ ├── ScenarioToJsonScenarioMapper.cs
│ ├── StepToJsonStepMapper.cs
│ ├── TableRowToJsonTableHeaderMapper.cs
│ ├── TableRowToJsonTableRowMapper.cs
│ ├── TableToJsonTableMapper.cs
│ └── TestResultToJsonTestResultMapper.cs
├── Pickles.DocumentationBuilders.Json.csproj
├── SummaryGenerator.cs
└── app.config
├── Pickles.DocumentationBuilders.Markdown.AcceptanceTests
├── App.config
├── Features
│ ├── Feature Background.feature
│ ├── Feature Background.feature.cs
│ ├── Feature Description.feature
│ ├── Feature Description.feature.cs
│ ├── Feature Heading.feature
│ ├── Feature Heading.feature.cs
│ ├── Feature Tags.feature
│ ├── Feature Tags.feature.cs
│ ├── File Location.feature
│ ├── File Location.feature.cs
│ ├── Scenario Heading.feature
│ ├── Scenario Heading.feature.cs
│ ├── Scenario Outline.feature
│ ├── Scenario Outline.feature.cs
│ ├── Scenario Status Icons.feature
│ ├── Scenario Status Icons.feature.cs
│ ├── Scenario Steps.feature
│ ├── Scenario Steps.feature.cs
│ ├── Scenario Tags.feature
│ ├── Scenario Tags.feature.cs
│ ├── Title.feature
│ └── Title.feature.cs
├── Pickles.DocumentationBuilders.Markdown.AcceptanceTests.csproj
├── Steps
│ ├── GherkinTreeSteps.cs
│ └── MarkdownSteps.cs
└── TestResults
│ └── TestResults.xml
├── Pickles.DocumentationBuilders.Markdown.UnitTests
├── App.config
├── Blocks_Tests
│ ├── BackgroundBlock_Tests.cs
│ ├── Block_Tests.cs
│ ├── FeatureBlock_Tests.cs
│ ├── ScenarioBlock_Tests.cs
│ ├── StepBlock_Tests.cs
│ ├── TableBlock_Tests.cs
│ └── TitleBlock_Tests.cs
├── Documentation_Tests.cs
├── Lines_Tests.cs
├── Localization_Tests.cs
├── MarkdownDocumentationBuilder_Tests.cs
├── MockBlock.cs
├── MockStylist.cs
├── Pickles.DocumentationBuilders.Markdown.UnitTests.csproj
├── Stylist_Tests.cs
└── TestResults
│ └── TestResults.xml
├── Pickles.DocumentationBuilders.Markdown
├── Blocks
│ ├── BackgroundBlock.cs
│ ├── Block.cs
│ ├── FeatureBlock.cs
│ ├── ScenarioBlock.cs
│ ├── StepBlock.cs
│ ├── TableBlock.cs
│ └── TitleBlock.cs
├── Documentation.cs
├── Lines.cs
├── Localization.Designer.cs
├── Localization.resx
├── MarkdownDocumentationBuilder.cs
├── Pickles.DocumentationBuilders.Markdown.csproj
├── Properties
│ └── AssemblyInfo.cs
├── Resource
│ ├── fail_32.png
│ ├── inconclusive_32.png
│ └── pass_32.png
├── Stylist.cs
└── app.config
├── Pickles.DocumentationBuilders.Word.UnitTests
├── Pickles.DocumentationBuilders.Word.UnitTests.csproj
├── TestResults
│ └── TestResults.xml
├── WhenBuildingWordDocuments.cs
├── WordDescriptionFormatterTests.cs
└── app.config
├── Pickles.DocumentationBuilders.Word
├── Extensions
│ └── BodyExtensions.cs
├── Pickles.DocumentationBuilders.Word.csproj
├── TableOfContentsAdder
│ ├── PtOpenXmlUtil.cs
│ ├── PtUtil.cs
│ └── TocAdder.cs
├── WordBackgroundFormatter.cs
├── WordDescriptionFormatter.cs
├── WordDocumentationBuilder.cs
├── WordFeatureFormatter.cs
├── WordFontApplicator.cs
├── WordHeaderFooterFormatter.cs
├── WordModule.cs
├── WordScenarioFormatter.cs
├── WordStepFormatter.cs
├── WordStyleApplicator.cs
└── WordTableFormatter.cs
├── Pickles.MSBuild
├── NugetPack.bat
├── NugetPack.cmd
├── Pickles.MSBuild.csproj
├── Pickles.MSBuild.nuspec
├── Pickles.cs
├── app.config
└── build
│ └── Pickles.MSBuild.targets
├── Pickles.ObjectModel
├── DataStructures
│ └── Tree.cs
├── DirectoryCrawler
│ ├── FeatureNode.cs
│ ├── FolderNode.cs
│ ├── INode.cs
│ ├── ImageNode.cs
│ └── MarkdownNode.cs
├── DocumentationBuilders
│ └── IDocumentationBuilder.cs
├── DocumentationFormat.cs
├── Extensions
│ ├── StringExtensions.cs
│ ├── TreeNodeExtensions.cs
│ └── UriExtensions.cs
├── IConfiguration.cs
├── ILanguageServices.cs
├── ILanguageServicesRegistry.cs
├── IMarkdownProvider.cs
├── ObjectModel
│ ├── Comment.cs
│ ├── Example.cs
│ ├── Feature.cs
│ ├── IFeatureElement.cs
│ ├── ITestResults.cs
│ ├── Keyword.cs
│ ├── Location.cs
│ ├── Scenario.cs
│ ├── ScenarioBase.cs
│ ├── Step.cs
│ ├── Table.cs
│ ├── TableRow.cs
│ └── TestResult.cs
├── Pickles.ObjectModel.csproj
└── TestResultsFormat.cs
├── Pickles.PowerShell
├── NugetPack.cmd
├── Pickle_Features.cs
├── Pickles.PowerShell.csproj
├── Pickles.nuspec
├── app.config
└── init.ps1
├── Pickles.Test.CL
├── App.config
├── Pickles.Test.CL.csproj
├── Program.cs
└── Properties
│ └── AssemblyInfo.cs
├── Pickles.Test
├── App.config
├── AssertExtensions.cs
├── BaseFixture.cs
├── ConfigurationTests.cs
├── CultureAwareDialectProviderTests.cs
├── DataStructures
│ └── TreeTests.cs
├── DescriptionProcessorTests.cs
├── DirectoryCrawlers
│ ├── FolderDirectoryTreeNodeTests.cs
│ ├── ImageFileDetectorTests.cs
│ └── RelevantFileDetectorTests.cs
├── EncodingDetectorTests.cs
├── Extensions
│ ├── PathExtensionsTests.cs
│ ├── StringExtensionsTests.cs
│ ├── UriExtensionsTests.cs
│ └── XElementExtensions.cs
├── FakeFolderStructures
│ ├── AcceptanceTest
│ │ ├── AdvancedFeature.feature
│ │ └── LevelOne.feature
│ ├── FeatureCrawlerTests
│ │ ├── LevelOne.feature
│ │ ├── LevelOneIgnoredFeature.feature
│ │ ├── LevelOneRemoveTagsToHide.feature
│ │ ├── SubLevelOne
│ │ │ ├── LevelOneSublevelOne.feature
│ │ │ ├── LevelOneSublevelTwo.feature
│ │ │ ├── SubLevelTwo
│ │ │ │ ├── IgnoreThisDirectory
│ │ │ │ │ └── IgnoreThisFile.ignore
│ │ │ │ └── LevelOneSublevelOneSubLevelTwo.feature
│ │ │ └── ignorethisfile.ignore
│ │ ├── image.png
│ │ └── index.md
│ ├── JSON
│ │ ├── Features
│ │ │ ├── OneScenarioTransferingMoneyBetweenAccountsFailing.feature
│ │ │ ├── TransferBetweenAccounts_WithSuccess.feature
│ │ │ ├── TwoScenariosTransferingFundsOneFailingOneSuccess.feature
│ │ │ └── TwoScenariosTransferingMoneyBetweenAccoutsWithSuccess.feature
│ │ └── results-example-failing-and-pasing-mstest.trx
│ └── OrderingTests
│ │ ├── A
│ │ ├── a-a.feature
│ │ └── a-b.feature
│ │ └── B
│ │ ├── b-a.feature
│ │ └── b-b.feature
├── FeatureNodeFactoryTests.cs
├── FeatureParserTests.cs
├── FileSystemBasedFeatureParserTests.cs
├── FileSystemExtensions.cs
├── Formatters
│ ├── HtmlContentFormatterTests.cs
│ ├── HtmlDocumentationBuilderTests.cs
│ ├── HtmlScenarioFormatterTests.cs
│ ├── JSON
│ │ ├── WhenCreatingAFeatureWithMetaInfo.cs
│ │ ├── WhenCreatingAFeatureWithMetaInfoAndTestResultInMstestFormat.cs
│ │ └── WhenFormattingAFolderStructureWithFeatures.cs
│ └── TableOfContentsShouldBeCreatedFromAFolderStructure.cs
├── GlobalSuppressions.cs
├── Helpers
│ ├── JSONStringAssertHelpers.cs
│ ├── XElementExentions.cs
│ └── XElementExtensions.cs
├── LanguageServicesRegistryTests.cs
├── NamespaceExtensionsTests.cs
├── ObjectModel
│ ├── Factory.cs
│ ├── Json
│ │ ├── CommentToJsonCommentMapperTests.cs
│ │ ├── ExampleToJsonExampleMapperTests.cs
│ │ ├── FeatureToJsonFeatureMapperTests.cs
│ │ ├── JsonScenarioTests.cs
│ │ ├── KeywordToJsonKeywordMapperTests.cs
│ │ ├── ScenarioToJsonScenarioMapperTests.cs
│ │ ├── StepToJsonStepMapperTests.cs
│ │ ├── TableRowToJsonTableRowMapperTests.cs
│ │ ├── TableToJsonTableMapperTests.cs
│ │ └── TestResultToJsonTestResultMapperTests.cs
│ ├── MapperTestsForBackground.cs
│ ├── MapperTestsForComment.cs
│ ├── MapperTestsForDataTable.cs
│ ├── MapperTestsForDocString.cs
│ ├── MapperTestsForExample.cs
│ ├── MapperTestsForFeature.cs
│ ├── MapperTestsForLocation.cs
│ ├── MapperTestsForScenario.cs
│ ├── MapperTestsForScenarioOutline.cs
│ ├── MapperTestsForStep.cs
│ ├── MapperTestsForTag.cs
│ └── MappingTestsForKeyword.cs
├── ParserFileFactory.cs
├── Pickles.Test.csproj
├── Resources.Designer.cs
├── Resources.resx
├── Resources
│ └── test.jpg
├── TestResultExtensionsTests.cs
├── TestResults
│ └── TestResults.xml
├── WhenCrawlingFoldersForFeatures.cs
├── WhenDeterminingRelevantFilesToConsider.cs
├── WhenParsingFeatureFiles.cs
├── WhenParsingLocalizedFeatureFiles.cs
├── WhenResolvingADocumentationBuilder.cs
├── WhenResolvingAMarkdownProvider.cs
└── WhenWorkingWithHtmlResources.cs
├── Pickles.TestFrameworks.UnitTests
├── CucumberJson
│ ├── WhenParsingCucumberJsonFromJSResultsFile.cs
│ ├── WhenParsingCucumberJsonFromJSResultsFileWithIndividualResults.cs
│ ├── WhenParsingCucumberJsonFromJSResultsFileWithMissingElements.cs
│ ├── WhenParsingCucumberJsonFromRubyResultsFile.cs
│ ├── WhenParsingCucumberJsonFromRubyResultsFileWithIndividualResults.cs
│ ├── results-example-cucumberjs-json.json
│ ├── results-example-cucumberjs-missing-elements-array.json
│ └── results-example-json.json
├── MsTest
│ ├── MsTestElementExtensionsTests.cs
│ ├── WhenParsingMsTestResultsFile.cs
│ ├── WhenParsingMsTestResultsFileWithEmptyExampleValues.cs
│ ├── WhenParsingMsTestResultsFileWithIgnoredExample.cs
│ ├── WhenParsingMsTestResultsFileWithIndividualResults.cs
│ ├── WhenParsingMsTestResultsFileWithMissingTraits.cs
│ ├── WhenParsingMultipleMsTestTestResultsFiles.cs
│ ├── resuls-example-mstest-emptyexamplevalues.trx
│ ├── results-example-mstest - Run 1 (failing).trx
│ ├── results-example-mstest - Run 2 (passing).trx
│ ├── results-example-mstest-ignoredexample.trx
│ ├── results-example-mstest-missingTraits.trx
│ └── results-example-mstest.trx
├── NUnit
│ ├── NUnit2
│ │ ├── WhenDeterminingTheSignatureOfAnNUnitExampleRow.cs
│ │ ├── WhenParsingMultipleNUnitResultsFilesForASingleFeature.cs
│ │ ├── WhenParsingNUnitResultsFile.cs
│ │ ├── WhenParsingNUnitResultsFileWithIndividualResults.cs
│ │ ├── WhenParsingProblematicScenarioOutlineResults.cs
│ │ ├── WhenParsingnUnit2ResultsFileWithMissingTraits.cs
│ │ ├── results-example-nunit - Run 1.xml
│ │ ├── results-example-nunit - Run 2.xml
│ │ ├── results-example-nunit-missingTraits.xml
│ │ ├── results-example-nunit.xml
│ │ └── results-problem-with-outline-results-nunit.xml
│ └── NUnit3
│ │ ├── WhenDeterminingTheSignatureOfAnNunit3ExampleRow.cs
│ │ ├── WhenParsingNUnitResultsFileWithIndividualResults.cs
│ │ ├── WhenParsingNunit3ResultsFile.cs
│ │ ├── WhenParsingNunit3ResultsFileForNunit2Tests.cs
│ │ ├── WhenParsingnUnit3ResultsFileWithMissingTraits.cs
│ │ ├── results-example-nunit2-with-nunit3-runner.xml
│ │ ├── results-example-nunit3-missingTraits.xml
│ │ └── results-example-nunit3.xml
├── Pickles.TestFrameworks.UnitTests.csproj
├── SpecRun
│ ├── WhenParsingMultipleTestResultsTests.cs
│ ├── WhenParsingSpecRunTestResultsFile.cs
│ ├── WhenParsingSpecRunTestResultsFileWithIndividualResults.cs
│ └── results-example-specrun.html
├── StandardTestSuite.cs
├── StandardTestSuiteForScenarioOutlines.cs
├── TestResults
│ └── TestResults.xml
├── VsTest
│ ├── WhenParsingMsTestResultsFileWithIgnoredExample.cs
│ ├── WhenParsingMultipleVsTestTestResultsFiles.cs
│ ├── WhenParsingVsTestResultsFile.cs
│ ├── WhenParsingVsTestResultsFileWithIndividualResults.cs
│ ├── WhenParsingVsTestResultsFileWithMissingTraits.cs
│ ├── results-example-vstest - Run 1 (failing).trx
│ ├── results-example-vstest - Run 2 (passing).trx
│ ├── results-example-vstest-ignoredexample.trx
│ ├── results-example-vstest-missingTraits.trx
│ └── results-example-vstest.trx
├── WhenParsingTestResultFiles.cs
├── WhenResolvingTestResults.cs
├── XUnit
│ ├── XUnit1
│ │ ├── WhenDeterminingTheSignatureOfAnXUnitExampleRow.cs
│ │ ├── WhenParsingXUnitResultsFileWithIndividualResults.cs
│ │ ├── WhenParsingxUnitResultsFile.cs
│ │ ├── WhenParsingxUnitResultsFileWithMissingTraits.cs
│ │ ├── results-example-xunit.xml
│ │ └── results-example-xunit1-missingTraits.xml
│ └── XUnit2
│ │ ├── WhenDeterminingTheSignatureOfAnXUnit2ExampleRow.cs
│ │ ├── WhenMatchingAnXunit2ScenarioOutlineExample.cs
│ │ ├── WhenParsingXUnitResultsFileWithIndividualResults.cs
│ │ ├── WhenParsingxUnit2ResultsFile.cs
│ │ ├── WhenParsingxUnit2ResultsFileWithMissingTraits.cs
│ │ ├── results-example-xunit2-missingTraits.xml
│ │ └── results-example-xunit2.xml
└── app.config
├── Pickles.TestFrameworks
├── CodeFormattingExtensions.cs
├── CucumberJson
│ ├── CucumberJsonResults.cs
│ ├── CucumberJsonSingleResultLoader.cs
│ ├── CucumberJsonSingleResults.cs
│ ├── Element.cs
│ ├── Feature.cs
│ ├── Match.cs
│ ├── Result.cs
│ ├── Step.cs
│ └── Tag.cs
├── IScenarioOutlineExampleMatcher.cs
├── ISingleResultLoader.cs
├── MsTest
│ ├── MsTestElementExtensions.cs
│ ├── MsTestExampleSignatureBuilder.cs
│ ├── MsTestResults.cs
│ ├── MsTestScenarioExampleMatcher.cs
│ ├── MsTestSingleResultLoader.cs
│ └── MsTestSingleResults.cs
├── MultipleTestRunsBase.cs
├── NUnit
│ ├── NUnit2
│ │ ├── NUnit2ExampleSignatureBuilder.cs
│ │ ├── NUnit2Results.cs
│ │ ├── NUnit2ScenarioOutlineExampleMatcher.cs
│ │ ├── NUnit2SingleResultLoader.cs
│ │ └── NUnit2SingleResults.cs
│ ├── NUnit3
│ │ ├── NUnit3ExampleSignatureBuilder.cs
│ │ ├── NUnit3Results.cs
│ │ ├── NUnit3ScenarioExampleMatcher.cs
│ │ ├── NUnit3SingleResult.cs
│ │ ├── NUnit3SingleResultLoader.cs
│ │ ├── results-example-nunit3.cs
│ │ └── results-example-nunit3.xsd
│ ├── NUnitSingleResultsBase.cs
│ ├── NUnitXElementExtensions.cs
│ └── TestResultAndName.cs
├── Pickles.TestFrameworks.csproj
├── SingleTestRunBase.cs
├── SpecFlowNameMapping.cs
├── SpecRun
│ ├── Factory.cs
│ ├── SpecRunExampleSignatureBuilder.cs
│ ├── SpecRunFeature.cs
│ ├── SpecRunResults.cs
│ ├── SpecRunScenario.cs
│ ├── SpecRunScenarioOutlineExampleMatcher.cs
│ ├── SpecRunSingleResultLoader.cs
│ └── SpecRunSingleResults.cs
├── VsTest
│ ├── VsTestElementExtensions.cs
│ ├── VsTestExampleSignatureBuilder.cs
│ ├── VsTestResults.cs
│ ├── VsTestScenarioExampleMatcher.cs
│ ├── VsTestSingleResultLoader.cs
│ └── VsTestSingleResults.cs
├── XDocumentLoader.cs
├── XUnit
│ ├── XUnit1
│ │ ├── XUnit1Results.cs
│ │ ├── XUnit1ScenarioOutlineExampleMatcher.cs
│ │ ├── XUnit1SingleResult.cs
│ │ └── XUnit1SingleResultLoader.cs
│ ├── XUnit2
│ │ ├── XUnit2Results.cs
│ │ ├── XUnit2ScenarioOutlineExampleMatcher.cs
│ │ ├── XUnit2SingleResultLoader.cs
│ │ ├── XUnit2SingleResults.cs
│ │ ├── results-example-xunit2.cs
│ │ └── results-example-xunit2.xsd
│ └── xUnitExampleSignatureBuilder.cs
├── XmlDeserializer.cs
└── app.config
├── Pickles.gpState
├── Pickles.ncrunchsolution
├── Pickles.sln.DotSettings
├── Pickles.sln.GhostDoc.xml
├── Pickles.v2.ncrunchsolution
├── Pickles.v3.ncrunchsolution
├── Pickles
├── CommandLineArgumentHelpTexts.cs
├── Configuration.cs
├── ConfigurationReporter.cs
├── CultureAwareDialectProvider.cs
├── DescriptionProcessor.cs
├── DirectoryCrawler
│ ├── DirectoryTreeCrawler.cs
│ ├── FeatureNodeFactory.cs
│ ├── ImageFileDetector.cs
│ ├── ParsingReport.cs
│ └── RelevantFileDetector.cs
├── DocumentationBuilders
│ └── Cucumber
│ │ └── CucumberDocumentationBuilder.cs
├── EncodingDetector.cs
├── Extensions
│ ├── FileSystemExtensions.cs
│ ├── PathExtensions.cs
│ └── StringExtensions.cs
├── FeatureFilter.cs
├── FeatureParseException.cs
├── FeatureParser.cs
├── FeatureToggles
│ └── AlternateMarkdownProvider.cs
├── FileSystemBasedFeatureParser.cs
├── GlobalSuppressions.cs
├── LanguageServices.cs
├── LanguageServicesRegistry.cs
├── MarkdownProvider.cs
├── ObjectModel
│ └── Mapper.cs
├── Pickles.CommandLine.UnitTests
│ └── TestResults
│ │ └── TestResults.xml
├── Pickles.DocumentationBuilders.Cucumber.UnitTests
│ └── TestResults
│ │ └── TestResults.xml
├── Pickles.DocumentationBuilders.Dhtml.UnitTests
│ └── TestResults
│ │ └── TestResults.xml
├── Pickles.DocumentationBuilders.Excel.UnitTests
│ └── TestResults
│ │ └── TestResults.xml
├── Pickles.DocumentationBuilders.Html.UnitTests
│ └── TestResults
│ │ └── TestResults.xml
├── Pickles.DocumentationBuilders.Json.UnitTests
│ └── TestResults
│ │ └── TestResults.xml
├── Pickles.DocumentationBuilders.Markdown.AcceptanceTests
│ └── TestResults
│ │ └── TestResults.xml
├── Pickles.DocumentationBuilders.Markdown.UnitTests
│ └── TestResults
│ │ └── TestResults.xml
├── Pickles.DocumentationBuilders.Word.UnitTests
│ └── TestResults
│ │ └── TestResults.xml
├── Pickles.Test
│ └── TestResults
│ │ └── TestResults.xml
├── Pickles.TestFrameworks.UnitTests
│ └── TestResults
│ │ └── TestResults.xml
├── Pickles.csproj
├── PicklesModule.cs
├── Properties
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── Runner.cs
├── StrikeMarkdownProvider.cs
├── TestFrameworks
│ └── NullTestResults.cs
└── app.config
├── Settings.StyleCop
├── VersionInfo.cs
├── markdowndeep
├── Abbreviation.cs
├── Block.cs
├── BlockProcessor.cs
├── FootnoteReference.cs
├── HtmlTag.cs
├── LinkDefinition.cs
├── LinkInfo.cs
├── MardownDeep.cs
├── Properties
│ └── AssemblyInfo.cs
├── SpanFormatter.cs
├── StringScanner.cs
├── TableSpec.cs
├── Token.cs
├── Utils.cs
├── markdowndeep.csproj
└── markdowndeep.sln
└── packages.nonnuget
└── Strike.Jint
├── Jint.dll
└── Strike.Jint.dll
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = CRLF
5 | indent_style = space
6 | trim_trailing_whitespace = true
7 | indent_size = 4
8 |
9 | [*.csproj]
10 | indent_style = space
11 | indent_size = 2
12 |
13 | [*.resx]
14 | indent_style = space
15 | indent_size = 2
16 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Set default behaviour to automatically normalize line endings.
2 | * text=auto
--------------------------------------------------------------------------------
/.github/workflows/build.yml:
--------------------------------------------------------------------------------
1 | name: build-pickles
2 | on:
3 | push:
4 | branches:
5 | - release/*
6 | jobs:
7 | build:
8 | runs-on: windows-latest
9 |
10 | steps:
11 | - uses: actions/checkout@v1
12 | name: Checkout Code
13 |
14 | - name: Setup NuGet
15 | uses: NuGet/setup-nuget@v1.0.5
16 | #with:
17 | # NuGet API Key to configure.
18 | #nuget-api-key: # optional
19 | # Source to scope the NuGet API Key to.
20 | #nuget-api-key-source: # optional
21 |
22 | - name: Restore NuGet Packages
23 | run: nuget restore src\pickles\pickles.sln
24 |
25 | - name: Run build
26 | run: build.bat
27 |
28 | #- name: Build and Publish Web App
29 | # run: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\msbuild SimpleFrameworkApp.sln /p:Configuration=Release /p:DeployOnBuild=true /p:PublishProfile=FolderProfile
30 |
31 | #- name: Upload Artifact
32 | # uses: actions/upload-artifact@v1.0.0
33 | # with:
34 | # name: published_webapp
35 | # path: bin\Release\Publish
36 |
--------------------------------------------------------------------------------
/.nuget/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/.nuke/parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "./build.schema.json",
3 | "Solution": "src/Pickles/Pickles.sln"
4 | }
--------------------------------------------------------------------------------
/Build.md:
--------------------------------------------------------------------------------
1 | #Development Environment
2 |
3 | Install the nuke-build tool in order to run the build commands:
4 |
5 | ```
6 | dotnet tool install Nuke.GlobalTool --global
7 | ```
8 |
9 | Install the dotnet-nugetize tool to assist with debugging packaging issues
10 |
11 | ```
12 | dotnet tool install -g dotnet-nugetize
13 | ```
14 |
15 | #Build
16 |
17 | set version number in _build\Build.cs
18 |
19 | PowerShell
20 |
21 | - To execute all build targets use the following commands:
22 |
23 | set-executionpolicy -scope process -executionpolicy bypass
24 | .\build.ps1
25 |
26 | - To only run a specific target and it's dependencies include the target name after the build command:
27 |
28 | set-executionpolicy -scope process -executionpolicy bypass
29 | .\build.ps1 -target publish
30 |
31 | Build Targets
32 | - Clean
33 | - Test
34 | - Publish
35 | - GenerateSampleOutput
36 | - Pack
37 | - PublishNuGet
38 |
39 |
40 | #Test NuGet Packages Locally
41 |
42 | - create an empty folder
43 | - at the command line enter "dotnet new tool-manifest"
44 | - at the command line enter "dotnet tool install --add-source "
45 |
--------------------------------------------------------------------------------
/Output/Dhtml/css/print.css:
--------------------------------------------------------------------------------
1 | #FolderNav, #TopNav { display: none !important; }
2 |
--------------------------------------------------------------------------------
/Output/Dhtml/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/Output/Dhtml/image.png
--------------------------------------------------------------------------------
/Output/Dhtml/img/glyphicons-halflings-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/Output/Dhtml/img/glyphicons-halflings-white.png
--------------------------------------------------------------------------------
/Output/Dhtml/img/glyphicons-halflings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/Output/Dhtml/img/glyphicons-halflings.png
--------------------------------------------------------------------------------
/Output/Dhtml/img/link.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/Output/Dhtml/img/link.png
--------------------------------------------------------------------------------
/Output/Dhtml/js/jquery.highlight-4.closure.js:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | highlight v4
4 |
5 | Highlights arbitrary terms.
6 |
7 |
8 |
9 | MIT license.
10 |
11 | Johann Burkard
12 |
13 |
14 |
15 | */
16 |
17 | jQuery.fn.highlight=function(c){function e(b,c){var d=0;if(3==b.nodeType){var a=b.data.toUpperCase().indexOf(c);if(0<=a){d=document.createElement("span");d.className="highlight";a=b.splitText(a);a.splitText(c.length);var f=a.cloneNode(!0);d.appendChild(f);a.parentNode.replaceChild(d,a);d=1}}else if(1==b.nodeType&&b.childNodes&&!/(script|style)/i.test(b.tagName))for(a=0;a))]
7 | public class Configuration : Enumeration
8 | {
9 | public static Configuration Debug = new Configuration { Value = nameof(Debug) };
10 | public static Configuration Release = new Configuration { Value = nameof(Release) };
11 |
12 | public static implicit operator string(Configuration configuration)
13 | {
14 | return configuration.Value;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/build/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/build/Directory.Build.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/build/_build.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | net6.0
6 |
7 | CS0649;CS0169
8 | ..
9 | ..
10 | 1
11 | e07f83f3-1c7c-480c-9443-a8ad1bfc6b83
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/.gitignore:
--------------------------------------------------------------------------------
1 | .vs/config/applicationhost.config
2 | packages/
3 | .vs/picklesdoc.github.com/v14/.suo
4 |
--------------------------------------------------------------------------------
/docs/CNAME:
--------------------------------------------------------------------------------
1 | www.picklesdoc.com
2 |
--------------------------------------------------------------------------------
/docs/Content/custom.css:
--------------------------------------------------------------------------------
1 | div.carousel-caption {
2 | background-color: #446280;
3 | background-color: rgba(68, 98, 128, 0.7);
4 | }
5 |
6 | @media (max-width: 992px) {
7 | a.forkmeongithub {
8 | display: none;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/docs/Images/BasicGherkin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/docs/Images/BasicGherkin.png
--------------------------------------------------------------------------------
/docs/Images/DynamicHtml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/docs/Images/DynamicHtml.png
--------------------------------------------------------------------------------
/docs/Images/Excel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/docs/Images/Excel.png
--------------------------------------------------------------------------------
/docs/Images/StaticHtml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/docs/Images/StaticHtml.png
--------------------------------------------------------------------------------
/docs/Images/Word.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/docs/Images/Word.png
--------------------------------------------------------------------------------
/docs/Images/pickles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/docs/Images/pickles.png
--------------------------------------------------------------------------------
/docs/Output/Dhtml/css/print.css:
--------------------------------------------------------------------------------
1 | #FolderNav, #TopNav { display: none !important; }
2 |
--------------------------------------------------------------------------------
/docs/Output/Dhtml/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/docs/Output/Dhtml/image.png
--------------------------------------------------------------------------------
/docs/Output/Dhtml/img/glyphicons-halflings-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/docs/Output/Dhtml/img/glyphicons-halflings-white.png
--------------------------------------------------------------------------------
/docs/Output/Dhtml/img/glyphicons-halflings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/docs/Output/Dhtml/img/glyphicons-halflings.png
--------------------------------------------------------------------------------
/docs/Output/Dhtml/img/link.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/docs/Output/Dhtml/img/link.png
--------------------------------------------------------------------------------
/docs/Output/Dhtml/js/jquery.highlight-4.closure.js:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | highlight v4
4 |
5 | Highlights arbitrary terms.
6 |
7 |
8 |
9 | MIT license.
10 |
11 | Johann Burkard
12 |
13 |
14 |
15 | */
16 |
17 | jQuery.fn.highlight=function(c){function e(b,c){var d=0;if(3==b.nodeType){var a=b.data.toUpperCase().indexOf(c);if(0<=a){d=document.createElement("span");d.className="highlight";a=b.splitText(a);a.splitText(c.length);var f=a.cloneNode(!0);d.appendChild(f);a.parentNode.replaceChild(d,a);d=1}}else if(1==b.nodeType&&b.childNodes&&!/(script|style)/i.test(b.tagName))for(a=0;a
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/global.json:
--------------------------------------------------------------------------------
1 | {
2 | "sdk": {
3 | "version": "6.0.302"
4 | }
5 | }
--------------------------------------------------------------------------------
/packages/nuget/nuget.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/packages/nuget/nuget.exe
--------------------------------------------------------------------------------
/pickles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/pickles.png
--------------------------------------------------------------------------------
/src/AutoTest.config:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/src/AutoTest.config
--------------------------------------------------------------------------------
/src/Examples/Features/00BasicGherkin/BasicGherkin.feature:
--------------------------------------------------------------------------------
1 | Feature: Showing basic gherkin syntax
2 | In order to see that gherkin is a very simple language
3 | As a SpecFlow evangelist
4 | I want to show that basic syntax
5 |
6 | 
7 |
8 | Scenario: Simple GWT
9 | Given the initial state of the application is Running
10 | When I ask what the application state is
11 | Then I should see Running as the answer
12 |
13 | Scenario: Using And and But
14 | Given the initial state of the application is Running
15 | And I have authorization to ask application state
16 | When I ask what the application state is
17 | Then I should see Running as the answer
18 | And I should see the time of the application
19 | But the state of the application should not be Stopped
20 |
--------------------------------------------------------------------------------
/src/Examples/Features/00BasicGherkin/test.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/src/Examples/Features/00BasicGherkin/test.jpg
--------------------------------------------------------------------------------
/src/Examples/Features/01TestRunner/TestRunnerIsNotImportant.feature:
--------------------------------------------------------------------------------
1 | Feature: The test runner is not (very) important
2 | In order to show that the test runner is just for the autogenerated stuff in SpecFlow
3 | As a SpecFlow evanglist
4 | I want to be able to call my steps in the same manner inspite of the testrunner configured
5 |
6 | Scenario: A couple of simple steps
7 | Given I have step defintions in place
8 | When I call a step
9 | Then the step should have been called
--------------------------------------------------------------------------------
/src/Examples/Features/02TagsAndHooks/Hooks.feature:
--------------------------------------------------------------------------------
1 | Feature: Addition
2 | In order to explain the order in which hooks are run
3 | As a SpecFlow evanglist
4 | I wan to be able to hook into pre and post conditions in SpecFlow
5 |
6 | Scenario: Hooking into pre conditions for Test Runs in SpecFlow
7 | Given the scenario is running
8 | Then the BeforeTestRun hook should have been executed
9 |
10 | Scenario: Hooking into pre conditions for Features in SpecFlow
11 | Given the scenario is running
12 | Then the BeforeFeature hook should have been executed
13 |
14 | Scenario: Hooking into pre conditions for Scenarios in SpecFlow
15 | Given the scenario is running
16 | Then the BeforeScenario hook should have been executed
17 |
18 | Scenario: Hooking into pre conditions for ScenarioBlocks in SpecFlow
19 | Given the scenario is running
20 | Then the BeforeScenarioBlock hook should have been executed
21 |
22 | Scenario: Hooking into pre conditions for Steps in SpecFlow
23 | Given the scenario is running
24 | Then the BeforeStep hook should have been executed
25 |
26 |
--------------------------------------------------------------------------------
/src/Examples/Features/02TagsAndHooks/TagDemo.feature:
--------------------------------------------------------------------------------
1 | @allAboutTags @important
2 | Feature: Tag demonstrator
3 | In order to show the capabilities of tags in SpecFlow
4 | As a SpecFlow evanglist
5 | I want to write scenarios that has tags and show their usage in code
6 |
7 | @ignore
8 | Scenario: Ignored scenario
9 | Given that my scenario has the @ignore tag
10 | When I run the scenario
11 | Then the scenario is ignored
12 | And the missing step definitions are not reported
13 |
14 | Scenario: A scenario without tags
15 | Given that my scenario has 0 tags
16 | When I run the scenario
17 | Then before scenario hook with '' is run
18 |
19 | @testTag1
20 | Scenario: A scenario with 1 tag
21 | Given that my scenario has 1 tags
22 | When I run the scenario
23 | Then before scenario hook with 'testTag1' is run
24 |
25 | @testTag1 @testTag2 @testTag3
26 | Scenario: A scenario with 3 tags
27 | Given that my scenario has 3 tags
28 | When I run the scenario
29 | Then before scenario hook with 'testTag1, testTag2, testTag3' is run
30 |
31 | @testTag1 @testTag3
32 | Scenario: A scenario with 2 tags
33 | Given that my scenario has 2 tags
34 | When I run the scenario
35 | Then before scenario hook with 'testTag1, testTag3' is run
--------------------------------------------------------------------------------
/src/Examples/Features/031ScenarioContext/ScenarioContext.feature:
--------------------------------------------------------------------------------
1 | Feature: Scenario Context features
2 | In order to show how to use ScenarioContext
3 | As a SpecFlow evangelist
4 | I want to write some simple scenarios with data in ScenarioContext
5 |
6 | Scenario: Store and retrive Person Marcus from ScenarioContext
7 | When I store a person called Marcus in the Current ScenarioContext
8 | Then a person called Marcus can easily be retrieved
9 |
10 | @showUpInScenarioInfo @andThisToo
11 | Scenario: Showing information of the scenario
12 | When I execute any scenario
13 | Then the ScenarioInfo contains the following information
14 | | Field | Value |
15 | | Tags | showUpInScenarioInfo, andThisToo |
16 | | Title | Showing information of the scenario |
17 |
18 | Scenario: Show the type of step we're currently on
19 | Given I have a Given step
20 | And I have another Given step
21 | When I have a When step
22 | Then I have a Then step
23 |
24 | #This is not so easy to write a scenario for but I've created an AfterScenario-hook
25 | #To see this in action remove the @ignore tag below
26 | @ignore @showingErrorHandling
27 | Scenario: Display error information in AfterScenario
28 | When an error occurs in a step
29 |
30 | Scenario: Pending step
31 | When I set the ScenarioContext.Current to pending
32 | Then this step will not even be executed
--------------------------------------------------------------------------------
/src/Examples/Features/032FeatureContext/FeatureContextFeatures.feature:
--------------------------------------------------------------------------------
1 | @showUpInScenarioInfo @andThisToo
2 | Feature: FeatureContext features
3 | In order to show how to use FeatureContext
4 | As a SpecFlow evangelist
5 | I want to write some simple scenarios with data in FeatureContext
6 |
7 | Scenario: Store and retrive Person Marcus from FeatureContext Current
8 | When I store a person called Marcus in the current FeatureContext
9 | Then a person called Marcus can easily be retrieved from the current FeatureContext
10 |
11 | Scenario: Showing information of the feature
12 | When I execute any scenario in the feature
13 | Then the FeatureInfo contains the following information
14 | | Field | Value |
15 | | Tags | showUpInScenarioInfo, andThisToo |
16 | | Title | FeatureContext features |
17 | | TargetLanguage | CSharp |
18 | | Language | en-US |
19 | | Description | In order to |
--------------------------------------------------------------------------------
/src/Examples/Features/03ScenarioOutline/ScenarioOutline.feature:
--------------------------------------------------------------------------------
1 | Feature: Scenario outline
2 | In order to not have to type the same scenario over and over
3 | As a SpecFlow evangelist
4 | I want to show how to use ScenarioOutline
5 |
6 |
7 | # This is called Abstrakt Scenario in Swedish (!!!)
8 | Scenario Outline: Add two positive numbers with many examples
9 | Given I enter into the calculator
10 | And I enter into the calculator
11 | When I perform add
12 | Then the result should be
13 |
14 | @small @short_test
15 | Examples: less than 100
16 | | number 1 | number 2 | result |
17 | | 10 | 20 | 30 |
18 | | 20 | 20 | 40 |
19 | | 20 | 30 | 50 |
20 |
21 | @big
22 | Examples: more than 100
23 | | number 1 | number 2 | result |
24 | | 100 | 20 | 120 |
25 | | 1000 | 20 | 1020 |
26 |
27 | # This is called Abstrakt Scenario in Swedish (!!!)
28 | Scenario Outline: Add two negative numbers with many examples
29 | Given I enter into the calculator
30 | And I enter into the calculator
31 | When I perform add
32 | Then the result should be
33 |
34 | Examples: less than 100
35 | | number 1 | number 2 | result |
36 | | 10 | 20 | 30 |
37 | | 20 | 20 | 40 |
38 | | 20 | 30 | 50 |
39 |
40 | Examples: more than 100
41 | | number 1 | number 2 | result |
42 | | 100 | 20 | 120 |
43 | | 1000 | 20 | 1020 |
44 |
--------------------------------------------------------------------------------
/src/Examples/Features/04Background/BackgroundFeature.feature:
--------------------------------------------------------------------------------
1 | Feature: Show the use of background
2 | In order to show how to use the Background keyword of Gherkin
3 | As a SpecFlow evanglist
4 | I want to show that background steps are called before any scenario step
5 |
6 | Background:
7 | Given I have initialized the Sum-variable to 0
8 | When I add 1 to the Sum-variable
9 |
10 | Scenario: Add 1 to the sum
11 | When I add 1 to the Sum-variable
12 | Then the total sum should be 2
13 |
14 | Scenario: Add 2 to the sum
15 | When I add 2 to the Sum-variable
16 | Then the total sum should be 3
17 |
--------------------------------------------------------------------------------
/src/Examples/Features/07Localization/Svenska.feature:
--------------------------------------------------------------------------------
1 | # language: sv
2 | # you could also use app.config ->
3 | # to get swedish (for example) through all your features
4 | Egenskap: Svenska - Summering
5 | För att slippa att göra dumma fel
6 | Som räknare
7 | Vill jag kunna lägga summera
8 |
9 | Scenario: Summera 5 och 7 ska vara 12
10 | Givet att jag har knappat in 5
11 | Och att jag har knappat in 7
12 | När jag summerar
13 | Så ska resultatet vara 12
14 |
--------------------------------------------------------------------------------
/src/Examples/Features/07Localization/Vlaams.feature:
--------------------------------------------------------------------------------
1 | # language: nl-BE
2 | Functionaliteit: Test de Cultuur in het Vlaams
3 |
4 | Scenario: Het Scenario
5 | Stel dat ik 50 ingeef
6 | En dat ik 70 ingeef
7 | Als ik plus druk
8 | Dan moet het resultaat 120 zijn
9 |
--------------------------------------------------------------------------------
/src/Examples/Features/08AttributeOverloading/AttributeOverloading.feature:
--------------------------------------------------------------------------------
1 | Feature: Attribute overloading
2 | In order to show that steps can be used with multiple attributes
3 | As a SpecFlow Evangelist
4 | I want to show that similar attributes can be applied to the same step definition
5 |
6 | Scenario: Checking number for evenness
7 | Given I have this simple step
8 | And this simple step
9 | And also this step
10 | When I do something
11 | Then I could validate that the number 2 is even
12 | And that the number 4 is even
13 | But the number 3 is odd
--------------------------------------------------------------------------------
/src/Examples/Features/09CallingStepsFromSteps/CallingStepsFromSteps.feature:
--------------------------------------------------------------------------------
1 | Feature: Calling Steps from StepDefinitions
2 | In order to create steps of a higher abstraction
3 | As a SpecFlow evangelist
4 | I want reuse other steps in my step definitions
5 |
6 | Scenario: Log in
7 | Given I am on the index page
8 | When I enter my unsername nad password
9 | And I click the login button
10 | Then the welcome page should be displayed
11 |
12 | Scenario: Do something meaningful
13 | Given I am logged in
14 | When I dosomething meaningful
15 | Then I should get rewarded
--------------------------------------------------------------------------------
/src/Examples/Features/10StepTransformation/StepTransformation.feature:
--------------------------------------------------------------------------------
1 | Feature: Step Argument Transformations
2 | In order to reduce the amount of code and repetitive tasks in my steps
3 | As a SpecFlow evanglist
4 | I want to define reusable transformations for my step arguments
5 |
6 | Scenario: Steps with non-string arguments
7 | Given Dan has been registered at date 2003/03/13
8 | And Aslak has been registered at terminal 2
9 | Then I should be able to see Aslak at terminal 2
--------------------------------------------------------------------------------
/src/Examples/Features/11ContextInjection/ContextInjection.feature:
--------------------------------------------------------------------------------
1 | Feature: Injecting context into step specifications
2 | In order to don't have to rely on the global shared state
3 | and to be able to define the contexts required for each scenario.
4 | As a SpecFlow Evanglist
5 | I would like to have the system automatically inject an instance of any class as
6 | defined in the constructor of a step file
7 |
8 | Scenario: Feature with no context
9 | Given a feature which requires no context
10 | Then everything is dandy
11 |
12 | Scenario: Feature with a single context
13 | Given a feature which requires a single context
14 | Then the context is set
15 |
16 | Scenario: Feature with multiple contexts
17 | Given a feature which requires multiple contexts
18 | Then the contexts are set
19 |
20 | Scenario: Feature with recursive contexts
21 | Given a feature which requires a recursive context
22 | Then the context is set
23 | And its sub-context is set
24 |
25 | Scenario: Feature with a dependent context
26 | Given a feature which requires a single context
27 | Then the context is set
28 | And the context was created by the feature with a single context scenario
--------------------------------------------------------------------------------
/src/Examples/Features/12NestedFolders/ChildFolder/ChildChildFolder/NestedFolderExample.feature:
--------------------------------------------------------------------------------
1 | Feature: Nested Folder Example
2 | In order to test nested folder output
3 | As a silly contributer
4 | I want to create an example of something several folders deep
5 |
6 | @nestedFolders
7 | Scenario: Nested - Add two numbers
8 | Given I have entered 50 into the calculator
9 | And I have entered 70 into the calculator
10 | When I press add
11 | Then the result should be 120 on the screen
12 |
--------------------------------------------------------------------------------
/src/Examples/Features/13MultilineText/MultilineFeatureExample.feature:
--------------------------------------------------------------------------------
1 | Feature: Multiline Feature Example
2 | In order capture this particular Gherkin feature
3 | As a Pickles contributer
4 | I want to demonstrate an example of using multiline text in a Scenario
5 |
6 | @mytag
7 | Scenario: Mutliline Output
8 | Given I have read in some text from the user
9 | """
10 | This is line 1.
11 | This is line 2!
12 | This is line 3!!
13 | """
14 | When I process this input
15 | Then the result will be saved to the multiline text data store
16 |
--------------------------------------------------------------------------------
/src/Examples/Features/14MarkdownExample/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/src/Examples/Features/14MarkdownExample/image.png
--------------------------------------------------------------------------------
/src/Examples/Features/15Pickles/InteractiveDHTMLView.feature:
--------------------------------------------------------------------------------
1 | Feature: Interactive DHTML View
2 | In order to increase stakeholder engagement with pickled specs
3 | As a SpecFlow evangelist
4 | I want to adjust the level of detail in the DHTML view to suite my audience
5 | So that I do not overwhelm them.
6 |
7 | Scenario: Scenario with large data table
8 | Given a feature with a large table of data:
9 | | heading | page # |
10 | | Chapter 1 | 1 |
11 | | Chapter 2 | 5 |
12 | | Chapter 3 | 10 |
13 | | Chapter 4 | 15 |
14 | | Chapter 5 | 20 |
15 | | Chapter 6 | 25 |
16 | | Chapter 7 | 30 |
17 | | Chapter 8 | 35 |
18 | | Chapter 9 | 40 |
19 | | Chapter 10 | 45 |
20 | | Chapter 11 | 50 |
21 | | Chapter 12 | 55 |
22 | | Chapter 13 | 60 |
23 | | Chapter 14 | 65 |
24 | | Chapter 15 | 70 |
25 | | Chapter 16 | 75 |
26 | | Chapter 17 | 80 |
27 | | Chapter 18 | 85 |
28 | | Chapter 19 | 90 |
29 | | Chapter 20 | 95 |
30 | | Chapter 21 | 100 |
31 | | Chapter 22 | 105 |
32 | When I click on the table heading
33 | Then the table body should collapse
34 |
--------------------------------------------------------------------------------
/src/Examples/Features/15Pickles/NotTestedAutomatedManualTags.feature:
--------------------------------------------------------------------------------
1 | Feature: Kinds of verification
2 | In order to increase stakeholder engagement with pickled specs
3 | As a SpecFlow evangelist
4 | I want to make clear how many scenarios are automated, manually tested and not tested
5 | So that the stakeholders have a better overview of progress
6 |
7 | @automated
8 | Scenario: Verified automatically
9 | Given a feature that is verified automatically
10 | When I run pickles
11 | Then it appears in the @automated summary
12 |
13 | @manual
14 | Scenario: Verified manually
15 | Given a feature that is verified manually
16 | When I run pickles
17 | Then it appears in the @manual summary
18 |
19 | @notTested_waitingForAutomation
20 | Scenario: Verified automatically
21 | Given a feature that is not verified
22 | When I run pickles
23 | Then it appears in the @notTested summary
24 |
--------------------------------------------------------------------------------
/src/Examples/Features/Arithmetic.feature:
--------------------------------------------------------------------------------
1 | Feature: Arithmetic
2 | In order to avoid silly mistakes
3 | As a math idiot
4 | I want to be able to perform arithmetic on the calculator
5 |
6 | When $a \ne 0$, there are two solutions to $\(ax^2 + bx + c = 0\)$ and they are
7 | $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
8 |
9 | @arithmetic @fast
10 | Scenario: Add two numbers
11 |
12 | $50 + 70 = 120$
13 |
14 | # In the DHTML version, the description will be rendered with mathematical formulas if the experimental features are enabled.
15 | Given I have entered 50 into the calculator
16 | And I have entered 70 into the calculator
17 | When I press add
18 | Then the result should be 120 on the screen
19 |
20 | @arithmetic @fast
21 | Scenario: Subtract two numbers
22 | Given I have entered 50 into the calculator
23 | And I have entered 70 into the calculator
24 | When I press subtract
25 | Then the result should be -20 on the screen
26 |
27 | @arithmetic @fast
28 | Scenario: Multiply two numbers
29 | Given I have entered 50 into the calculator
30 | And I have entered 70 into the calculator
31 | When I press multiply
32 | Then the result should be 3500 on the screen
33 |
34 | @arithmetic @fast
35 | Scenario: Divide two numbers
36 | Given I have entered 50 into the calculator
37 | And I have entered 2 into the calculator
38 | When I press divide
39 | Then the result should be 25 on the screen
40 |
--------------------------------------------------------------------------------
/src/Examples/Features/Trigonometry.feature:
--------------------------------------------------------------------------------
1 | Feature: Trigonometry
2 | In order to avoid perform more advanced calculations
3 | As a math idiot
4 | I want to be able to use trigonometric functions
5 |
6 | @trigonometric @fast
7 | Scenario: Sine
8 | Given I have entered 90 into the calculator
9 | When I press sin
10 | Then the result should be 1 on the screen
11 |
12 | @trigonometric @fast
13 | Scenario: Cosine
14 | Given I have entered 0 into the calculator
15 | When I press cos
16 | Then the result should be 1 on the screen
17 |
18 | @trigonometric @fast
19 | Scenario: Tangent
20 | Given I have entered 45 into the calculator
21 | When I press tan
22 | Then the result should be 1 on the screen
23 |
--------------------------------------------------------------------------------
/src/Examples/Features/Workflow/ClearingScreen.feature:
--------------------------------------------------------------------------------
1 | Feature: Clearing Screen
2 | In order to restart a new set of calculations
3 | As a math idiot
4 | I want to be able to clear the screen
5 |
6 | @workflow @slow
7 | Scenario: Clear the screen
8 | Given I have entered 50 into the calculator
9 | And I have entered 70 into the calculator
10 | When I press C
11 | Then the screen should be empty
12 |
--------------------------------------------------------------------------------
/src/Examples/readme.txt:
--------------------------------------------------------------------------------
1 | In the Features-folders you'll find quite a large population of .feature files that you can use to test out pickles on.
--------------------------------------------------------------------------------
/src/Pickles.BaseDhtmlFiles/css/print.css:
--------------------------------------------------------------------------------
1 | #FolderNav, #TopNav { display: none !important; }
2 |
--------------------------------------------------------------------------------
/src/Pickles.BaseDhtmlFiles/img/glyphicons-halflings-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/src/Pickles.BaseDhtmlFiles/img/glyphicons-halflings-white.png
--------------------------------------------------------------------------------
/src/Pickles.BaseDhtmlFiles/img/glyphicons-halflings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/src/Pickles.BaseDhtmlFiles/img/glyphicons-halflings.png
--------------------------------------------------------------------------------
/src/Pickles.BaseDhtmlFiles/img/link.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/src/Pickles.BaseDhtmlFiles/img/link.png
--------------------------------------------------------------------------------
/src/Pickles.BaseDhtmlFiles/js/jquery.highlight-4.closure.js:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | highlight v4
4 |
5 | Highlights arbitrary terms.
6 |
7 |
8 |
9 | MIT license.
10 |
11 | Johann Burkard
12 |
13 |
14 |
15 | */
16 |
17 | jQuery.fn.highlight=function(c){function e(b,c){var d=0;if(3==b.nodeType){var a=b.data.toUpperCase().indexOf(c);if(0<=a){d=document.createElement("span");d.className="highlight";a=b.splitText(a);a.splitText(c.length);var f=a.cloneNode(!0);d.appendChild(f);a.parentNode.replaceChild(d,a);d=1}}else if(1==b.nodeType&&b.childNodes&&!/(script|style)/i.test(b.tagName))for(a=0;a
2 |
4 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/Pickles.CommandLine/NugetPack.cmd:
--------------------------------------------------------------------------------
1 | nuget pack Pickles.CommandLine.csproj -Properties Configuration=Release
2 |
--------------------------------------------------------------------------------
/src/Pickles.CommandLine/Properties/PublishProfiles/FolderProfile.pubxml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 | Release
8 | Any CPU
9 | bin\Release\netcoreapp3.1\publish\linux-x64\
10 | FileSystem
11 | netcoreapp3.1
12 | linux-x64
13 | true
14 | false
15 |
16 |
--------------------------------------------------------------------------------
/src/Pickles.CommandLine/Properties/PublishProfiles/FolderProfile1.pubxml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 | Release
8 | Any CPU
9 | bin\Release\net6.0\publish\linux-x64\
10 | FileSystem
11 | net6.0
12 | linux-x64
13 | true
14 | false
15 | false
16 |
17 |
--------------------------------------------------------------------------------
/src/Pickles.CommandLine/runtimeconfig.template.json:
--------------------------------------------------------------------------------
1 | {
2 | "configProperties": {
3 | "System.Globalization.Invariant": false
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Cucumber.UnitTests/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // Setting ComVisible to false makes the types in this assembly not visible
6 | // to COM components. If you need to access a type in this assembly from
7 | // COM, set the ComVisible attribute to true on that type.
8 | [assembly: ComVisible(false)]
9 |
10 | // The following GUID is for the ID of the typelib if this project is exposed to COM
11 | [assembly: Guid("4c0cda28-8c6a-4f14-b2c6-d1873de66641")]
12 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Cucumber/CucumberTestResults.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | namespace PicklesDoc.Pickles.DocumentationBuilders.Cucumber
22 | {
23 | public enum CucumberTestResults
24 | {
25 | Passed,
26 | Failed,
27 | Undefined,
28 | Skipped,
29 | Pending,
30 | Ambiguous
31 | }
32 | }
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Cucumber/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Dhtml.UnitTests/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Dhtml/DhtmlModule.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using Autofac;
22 |
23 | namespace PicklesDoc.Pickles.DocumentationBuilders.Dhtml
24 | {
25 | public class DhtmlModule : Module
26 | {
27 | protected override void Load(ContainerBuilder builder)
28 | {
29 | builder.RegisterType().SingleInstance();
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Dhtml/Resources/css/print.css:
--------------------------------------------------------------------------------
1 | #FolderNav, #TopNav { display: none !important; }
2 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Dhtml/Resources/img/glyphicons-halflings-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/src/Pickles.DocumentationBuilders.Dhtml/Resources/img/glyphicons-halflings-white.png
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Dhtml/Resources/img/glyphicons-halflings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/src/Pickles.DocumentationBuilders.Dhtml/Resources/img/glyphicons-halflings.png
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Dhtml/Resources/img/link.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/src/Pickles.DocumentationBuilders.Dhtml/Resources/img/link.png
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Dhtml/Resources/js/jquery.highlight-4.closure.js:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | highlight v4
4 |
5 | Highlights arbitrary terms.
6 |
7 |
8 |
9 | MIT license.
10 |
11 | Johann Burkard
12 |
13 |
14 |
15 | */
16 |
17 | jQuery.fn.highlight=function(c){function e(b,c){var d=0;if(3==b.nodeType){var a=b.data.toUpperCase().indexOf(c);if(0<=a){d=document.createElement("span");d.className="highlight";a=b.splitText(a);a.splitText(c.length);var f=a.cloneNode(!0);d.appendChild(f);a.parentNode.replaceChild(d,a);d=1}}else if(1==b.nodeType&&b.childNodes&&!/(script|style)/i.test(b.tagName))for(a=0;a
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Html.UnitTests/FormattingAFeatureUsingStrike.feature:
--------------------------------------------------------------------------------
1 | Feature: Formatting a Feature Using Strike
2 |
3 | @enableExperimentalFeatures
4 | Scenario: Description with image should render correctly
5 |
6 | Given I have this feature description
7 | """
8 | Including a picture: 
9 | """
10 | When I generate the documentation
11 | Then the result should be
12 | """
13 |
14 |
a feature
15 |
16 |
Including a picture: 
17 |
18 |
19 |
20 | """
21 |
22 | Scenario: Description with image with extra attributes should render correctly
23 |
24 | Given I have this feature description
25 | """
26 | Including a picture: 
27 | """
28 | When I generate the documentation
29 | Then the result should be
30 | """
31 |
32 |
a feature
33 |
34 |
Including a picture: 
35 |
36 |
37 |
38 | """
39 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Html/HtmlHeaderFormatter.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 | using System.Xml.Linq;
23 |
24 | namespace PicklesDoc.Pickles.DocumentationBuilders.Html
25 | {
26 | public class HtmlHeaderFormatter
27 | {
28 | public XElement Format()
29 | {
30 | XNamespace xmlns = HtmlNamespace.Xhtml;
31 | return new XElement(xmlns + "div", new XAttribute("id", "top"));
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Html/HtmlNamespace.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 | using System.Xml.Linq;
23 |
24 | namespace PicklesDoc.Pickles.DocumentationBuilders.Html
25 | {
26 | public static class HtmlNamespace
27 | {
28 | ///
29 | /// An XNamespace instance for http://www.w3.org/1999/xhtml.
30 | ///
31 | public static readonly XNamespace Xhtml = XNamespace.Get("http://www.w3.org/1999/xhtml");
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Html/HtmlResource.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 |
23 | namespace PicklesDoc.Pickles.DocumentationBuilders.Html
24 | {
25 | public class HtmlResource
26 | {
27 | public string File { get; set; }
28 |
29 | public Uri Uri { get; set; }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Html/IHtmlFeatureFormatter.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 | using System.Xml.Linq;
23 |
24 | using PicklesDoc.Pickles.ObjectModel;
25 |
26 | namespace PicklesDoc.Pickles.DocumentationBuilders.Html
27 | {
28 | public interface IHtmlFeatureFormatter
29 | {
30 | XElement Format(Feature feature);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Html/Resources/css/fonts/FontAwesome.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/src/Pickles.DocumentationBuilders.Html/Resources/css/fonts/FontAwesome.ttf
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Html/Resources/css/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/src/Pickles.DocumentationBuilders.Html/Resources/css/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Html/Resources/css/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/src/Pickles.DocumentationBuilders.Html/Resources/css/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Html/Resources/css/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/src/Pickles.DocumentationBuilders.Html/Resources/css/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Html/Resources/css/master.css:
--------------------------------------------------------------------------------
1 | @import url("reset.css");
2 |
3 | @import url("global.css");
4 |
5 | @import url("structure.css");
6 |
7 | @import url("font-awesome.css");
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Html/Resources/css/print.css:
--------------------------------------------------------------------------------
1 | #toc { display: none; }
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Html/Resources/css/reset.css:
--------------------------------------------------------------------------------
1 | html, body, div, span, applet, object, iframe,
2 | h1, h2, h3, h4, h5, h6, p, blockquote, pre,
3 | a, abbr, acronym, address, big, cite, code,
4 | del, dfn, em, font, img, ins, kbd, q, s, samp,
5 | small, strike, strong, sub, sup, tt, var,
6 | dl, dt, dd, ol, ul, li,
7 | fieldset, form, label, legend,
8 | table, caption, tbody, tfoot, thead, tr, th, td {
9 | border: 0;
10 | font-family: inherit;
11 | font-size: 100%;
12 | font-style: inherit;
13 | font-weight: inherit;
14 | margin: 0;
15 | outline: 0;
16 | padding: 0;
17 | vertical-align: baseline;
18 | }
19 | /* remember to define focus styles! */
20 |
21 | :focus { outline: 0; }
22 |
23 | body {
24 | background: white;
25 | color: black;
26 | line-height: 1;
27 | }
28 |
29 | ol, ul { list-style: none; }
30 | /* tables still need 'cellspacing="0"' in the markup */
31 |
32 | table {
33 | border-collapse: separate;
34 | border-spacing: 0;
35 | }
36 |
37 | caption, th, td {
38 | font-weight: normal;
39 | text-align: left;
40 | }
41 |
42 | blockquote:before, blockquote:after,
43 | q:before, q:after { content: ""; }
44 |
45 | blockquote, q { quotes: "" ""; }
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Html/Resources/img/failure.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/src/Pickles.DocumentationBuilders.Html/Resources/img/failure.png
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Html/Resources/img/inconclusive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/src/Pickles.DocumentationBuilders.Html/Resources/img/inconclusive.png
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Html/Resources/img/success.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/src/Pickles.DocumentationBuilders.Html/Resources/img/success.png
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Html/Resources/js/scripts.js:
--------------------------------------------------------------------------------
1 | function initializeToc() {
2 | $(".tocCollapser").one("click", function() {
3 | collapseToc();
4 | });
5 | }
6 |
7 | function collapseToc() {
8 | /* set class of toc element to collapsed. CSS will do the rest*/
9 | $("#toc").addClass("collapsed");
10 |
11 | /* change the text and title of the collapser to make it appear as an expander */
12 | var tocCollapser = $(".tocCollapser");
13 | tocCollapser.text("»");
14 | tocCollapser.attr("title", "Expand Table of Content");
15 |
16 | /* register a one-time handler for the click event that will expand the toc. */
17 | $(".tocCollapser").one("click", function() {
18 | expandToc();
19 | });
20 | }
21 |
22 | function expandToc() {
23 | /* removes the collapsed class of toc element. CSS will do the rest*/
24 | $("#toc").removeClass("collapsed");
25 |
26 | /* change the text and title of the collapser to make it appear as an collapser again */
27 | var tocCollapser = $(".tocCollapser");
28 | tocCollapser.text("«");
29 | tocCollapser.attr("title", "Collapse Table of Content");
30 |
31 | /* register a one-time handler for the click event that will collapse the toc. */
32 | $(".tocCollapser").one("click", function() {
33 | collapseToc();
34 | });
35 | }
36 |
37 | function showImageLink(scenarioSlug) {
38 | var url = window.location.origin + window.location.pathname + window.location.search;
39 |
40 | if (scenarioSlug != null && scenarioSlug != '') {
41 | url = url + '#' + scenarioSlug;
42 | }
43 |
44 | window.prompt("Scenario Link: (Ctrl+C to copy)", url);
45 | }
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Json.UnitTests/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Json/IJsonFeatureElement.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 | using System.Collections.Generic;
23 |
24 | namespace PicklesDoc.Pickles.DocumentationBuilders.Json
25 | {
26 | public interface IJsonFeatureElement
27 | {
28 | JsonFeature Feature { get; set; }
29 |
30 | string Name { get; set; }
31 |
32 | string Slug { get; set; }
33 |
34 | string Description { get; set; }
35 |
36 | List Steps { get; set; }
37 |
38 | List Tags { get; set; }
39 |
40 | JsonTestResult Result { get; set; }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Json/JsonComment.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 |
23 | namespace PicklesDoc.Pickles.DocumentationBuilders.Json
24 | {
25 | public class JsonComment
26 | {
27 | public string Text { get; set; }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Json/JsonExample.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 | using System.Collections.Generic;
23 |
24 | namespace PicklesDoc.Pickles.DocumentationBuilders.Json
25 | {
26 | public class JsonExample
27 | {
28 | public string Name { get; set; }
29 |
30 | public string Description { get; set; }
31 |
32 | public JsonTable TableArgument { get; set; }
33 |
34 | public List Tags { get; set; }
35 |
36 | public string NativeKeyword { get; set; }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Json/JsonModule.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using Autofac;
22 |
23 | namespace PicklesDoc.Pickles.DocumentationBuilders.Json
24 | {
25 | public class JsonModule : Module
26 | {
27 | protected override void Load(ContainerBuilder builder)
28 | {
29 | builder.RegisterType().SingleInstance();
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Json/JsonTable.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System.Collections.Generic;
22 |
23 | namespace PicklesDoc.Pickles.DocumentationBuilders.Json
24 | {
25 | public class JsonTable
26 | {
27 | public JsonTableHeader HeaderRow { get; set; }
28 |
29 | public List DataRows { get; set; }
30 | }
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Json/JsonTableHeader.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System.Collections.Generic;
22 |
23 | namespace PicklesDoc.Pickles.DocumentationBuilders.Json
24 | {
25 | public class JsonTableHeader : List
26 | {
27 | public JsonTableHeader(IEnumerable cells)
28 | {
29 | AddRange(cells);
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Json/JsonTestResult.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 |
23 | namespace PicklesDoc.Pickles.DocumentationBuilders.Json
24 | {
25 | public class JsonTestResult
26 | {
27 | public bool WasExecuted { get; set; }
28 |
29 | public bool WasSuccessful { get; set; }
30 |
31 | public bool WasProvided { get; set; }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Json/Mapper/CommentToJsonCommentMapper.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 |
23 | using PicklesDoc.Pickles.ObjectModel;
24 |
25 | namespace PicklesDoc.Pickles.DocumentationBuilders.Json.Mapper
26 | {
27 | public class CommentToJsonCommentMapper
28 | {
29 | public JsonComment Map(Comment comment)
30 | {
31 | if (comment == null)
32 | {
33 | return null;
34 | }
35 |
36 | return new JsonComment { Text = comment.Text };
37 | }
38 | }
39 | }
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Json/Mapper/TableRowToJsonTableHeaderMapper.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 |
23 | using PicklesDoc.Pickles.ObjectModel;
24 |
25 | namespace PicklesDoc.Pickles.DocumentationBuilders.Json.Mapper
26 | {
27 | public class TableRowToJsonTableHeaderMapper
28 | {
29 | public JsonTableHeader Map(TableRow tableRow)
30 | {
31 | return tableRow == null ? null : new JsonTableHeader(tableRow.Cells.ToArray());
32 | }
33 | }
34 | }
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Json/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Markdown.AcceptanceTests/Features/Feature Background.feature:
--------------------------------------------------------------------------------
1 | Feature: Background Steps
2 | In order to document the background Gherkin steps run before each scenario
3 | As a reader of the generated documentation
4 | I want the background steps to be included in the Markdown output.
5 |
6 | Scenario: Output has background given step for feature
7 |
8 | Given I have a feature called 'My Background Steps Feature'
9 | And I have a background section
10 | And I have the background steps
11 | | Keyword | Step |
12 | | Given | I have a simple given step |
13 |
14 | When I generate Markdown output
15 |
16 | Then the Markdown output has the lines in the following order
17 | | Content |
18 | | #### Background: |
19 | | > |
20 | | > **Given** I have a simple given step |
21 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Markdown.AcceptanceTests/Features/Feature Description.feature:
--------------------------------------------------------------------------------
1 | Feature: Feature Description
2 | In order include the description (In order, As a, I want) for each feature
3 | As a reader of the generated documentation
4 | I want the feature description included below the feature heading.
5 |
6 | Scenario: Output has feature description for feature
7 | Given I have a feature called 'My Described Feature'
8 |
9 | And I have the description
10 | | Description |
11 | | In order to include the description (In order, As a, I want) for each feature |
12 | | As a reader of the generated documentation |
13 | | I want the feature description included below the feature heading. |
14 |
15 | When I generate Markdown output
16 |
17 | Then the Markdown output has the lines in the following order
18 | | Content |
19 | | ### My Described Feature |
20 | | In order to include the description (In order, As a, I want) for each feature |
21 | | As a reader of the generated documentation |
22 | | I want the feature description included below the feature heading. |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Markdown.AcceptanceTests/Features/Feature Heading.feature:
--------------------------------------------------------------------------------
1 | Feature: Feature Heading
2 | In order to identify each feature file in the documentation
3 | As a reader of the generated documentation
4 | I want the feature title visually differentiated from the other text.
5 |
6 | Scenario: Output has feature section for each feature
7 |
8 | Given I have a feature called 'My First Feature'
9 | And I have a feature called 'My Second Feature'
10 |
11 | When I generate Markdown output
12 |
13 | Then the Markdown output has the lines in the following order
14 | | Content |
15 | | ### My First Feature |
16 | | ### My Second Feature |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Markdown.AcceptanceTests/Features/Feature Tags.feature:
--------------------------------------------------------------------------------
1 | Feature: Feature Tags
2 | In order to include the tags for each feature
3 | As a reader of the generated documentation
4 | I want the feature tags included in single line above the feature heading.
5 |
6 | Scenario: Output has tags for feature
7 | Given I have a feature called 'My Tagged Feature'
8 | And I have the tags
9 | | Tag |
10 | | @ignore |
11 | | @tagtwo |
12 |
13 | When I generate Markdown output
14 |
15 | Then the Markdown output has the lines in the following order
16 | | Content |
17 | | *`@ignore`* *`@tagtwo`* |
18 | | ### My Tagged Feature |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Markdown.AcceptanceTests/Features/File Location.feature:
--------------------------------------------------------------------------------
1 | Feature: File Location
2 | In order to control where the document is created
3 | As a document reader
4 | I want a to be able to specify an output folder for the document
5 |
6 |
7 | Scenario: Output is written to specified location
8 |
9 | Given I specify the output folder as 'testing'
10 |
11 | When I generate Markdown output
12 |
13 | Then the file 'features.md' exists in folder 'testing'
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Markdown.AcceptanceTests/Features/Scenario Tags.feature:
--------------------------------------------------------------------------------
1 | Feature: Scenario Tags
2 | In order to include the tags for each scenario
3 | As a reader of the generated documentation
4 | I want the scenario tags included in single line above the scenario heading.
5 |
6 | Scenario: Output has tags for scenario
7 | Given I have a feature called 'My Tagged Feature'
8 | And I have a scenario called 'Scenario With Tags'
9 | And I have the scenario tags
10 | | Tag |
11 | | @ignore |
12 | | @tagtwo |
13 |
14 | When I generate Markdown output
15 |
16 | Then the Markdown output has the lines in the following order
17 | | Content |
18 | | *`@ignore`* *`@tagtwo`* |
19 | | #### Scenario: Scenario With Tags |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Markdown.AcceptanceTests/Features/Title.feature:
--------------------------------------------------------------------------------
1 | Feature: Title
2 | In order to easily tell that this file is a Gherkin output file
3 | As a document reader
4 | I want a title in the document as the first line
5 |
6 | Scenario: Output has title on first line
7 |
8 | When I generate Markdown output
9 |
10 | Then the Markdown output has the line
11 | | Line No. | Content |
12 | | 1 | # Features |
13 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Markdown.UnitTests/MockBlock.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2018 Darren Comeau
4 | // Copyright 2018-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using PicklesDoc.Pickles.DocumentationBuilders.Markdown.Blocks;
22 |
23 | namespace PicklesDoc.Pickles.DocumentationBuilders.Markdown.UnitTests
24 | {
25 | class MockBlock : Block
26 | {
27 |
28 | public MockBlock(Stylist style) : base(style)
29 | {
30 | }
31 |
32 | public void Add(string line)
33 | {
34 | lines.Add(line);
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Markdown/Blocks/BackgroundBlock.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2018 Darren Comeau
4 | // Copyright 2018-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using PicklesDoc.Pickles.ObjectModel;
22 |
23 | namespace PicklesDoc.Pickles.DocumentationBuilders.Markdown.Blocks
24 | {
25 | class BackgroundBlock : ScenarioBlock
26 | {
27 | public BackgroundBlock(Scenario scenario, Stylist style) : base(scenario,style)
28 | {
29 | }
30 |
31 | protected override Lines Heading()
32 | {
33 | var lines = new Lines
34 | {
35 | style.AsBackgroundHeading(scenario.Name)
36 | };
37 |
38 | return lines;
39 | }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Markdown/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 |
4 | [assembly: InternalsVisibleTo("PicklesDoc.Pickles.DocumentationBuilders.Markdown.UnitTests")]
5 | [assembly: InternalsVisibleTo("PicklesDoc.Pickles.DocumentationBuilders.Markdown.AcceptanceTests")]
6 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Markdown/Resource/fail_32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/src/Pickles.DocumentationBuilders.Markdown/Resource/fail_32.png
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Markdown/Resource/inconclusive_32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/src/Pickles.DocumentationBuilders.Markdown/Resource/inconclusive_32.png
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Markdown/Resource/pass_32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/src/Pickles.DocumentationBuilders.Markdown/Resource/pass_32.png
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Markdown/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/Pickles.DocumentationBuilders.Word/WordFontApplicator.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 | using DocumentFormat.OpenXml.Packaging;
23 | using DocumentFormat.OpenXml.Wordprocessing;
24 |
25 | namespace PicklesDoc.Pickles.DocumentationBuilders.Word
26 | {
27 | public class WordFontApplicator
28 | {
29 | public FontTablePart AddFontTablePartToPackage(WordprocessingDocument doc)
30 | {
31 | var part = doc.MainDocumentPart.AddNewPart();
32 | var root = new Fonts();
33 | root.Save(part);
34 | return part;
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/Pickles.MSBuild/NugetPack.bat:
--------------------------------------------------------------------------------
1 | nuget pack Pickles.MSBuild.csproj -Properties Configuration=Release
2 |
--------------------------------------------------------------------------------
/src/Pickles.MSBuild/NugetPack.cmd:
--------------------------------------------------------------------------------
1 | nuget pack Pickles.MSBuild.nuspec -Version %1
2 |
--------------------------------------------------------------------------------
/src/Pickles.MSBuild/build/Pickles.MSBuild.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | $(MSBuildProjectDirectory)\pickles-site
6 | $(MSBuildProjectDirectory)\Features
7 |
8 |
9 |
10 |
11 |
12 |
25 |
26 |
--------------------------------------------------------------------------------
/src/Pickles.ObjectModel/DocumentationBuilders/IDocumentationBuilder.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using PicklesDoc.Pickles.DataStructures;
22 |
23 | namespace PicklesDoc.Pickles.DocumentationBuilders
24 | {
25 | public interface IDocumentationBuilder
26 | {
27 | void Build(Tree features);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/Pickles.ObjectModel/ILanguageServices.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 | namespace PicklesDoc.Pickles
21 | {
22 | public interface ILanguageServices
23 | {
24 | string[] BackgroundKeywords { get; }
25 |
26 | string[] WhenStepKeywords { get; }
27 |
28 | string[] GivenStepKeywords { get; }
29 |
30 | string[] ThenStepKeywords { get; }
31 |
32 | string[] AndStepKeywords { get; }
33 |
34 | string[] ButStepKeywords { get; }
35 |
36 | string[] ExamplesKeywords { get; }
37 |
38 | string Language { get; }
39 | }
40 | }
--------------------------------------------------------------------------------
/src/Pickles.ObjectModel/ILanguageServicesRegistry.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 | namespace PicklesDoc.Pickles
21 | {
22 | public interface ILanguageServicesRegistry
23 | {
24 | ILanguageServices GetLanguageServicesForLanguage(string language);
25 |
26 | string DefaultLanguage { get; }
27 | }
28 | }
--------------------------------------------------------------------------------
/src/Pickles.ObjectModel/IMarkdownProvider.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 |
23 | namespace PicklesDoc.Pickles
24 | {
25 | public interface IMarkdownProvider
26 | {
27 | string Transform(string text);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/Pickles.ObjectModel/ObjectModel/Comment.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | namespace PicklesDoc.Pickles.ObjectModel
22 | {
23 | public enum CommentType
24 | {
25 | Normal,
26 | StepComment,
27 | AfterLastStepComment
28 | }
29 |
30 | public class Comment
31 | {
32 | public Comment()
33 | {
34 | // Set default
35 | this.Type = CommentType.Normal;
36 | }
37 |
38 | public string Text { get; set; }
39 |
40 | public Location Location { get; set; }
41 |
42 | public CommentType Type { get; set; }
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/src/Pickles.ObjectModel/ObjectModel/Example.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System.Collections.Generic;
22 |
23 | namespace PicklesDoc.Pickles.ObjectModel
24 | {
25 | public class Example
26 | {
27 | public string Name { get; set; }
28 |
29 | public string Description { get; set; }
30 |
31 | public ExampleTable TableArgument { get; set; }
32 |
33 | public List Tags { get; set; }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/Pickles.ObjectModel/ObjectModel/IFeatureElement.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System.Collections.Generic;
22 |
23 | namespace PicklesDoc.Pickles.ObjectModel
24 | {
25 | public interface IFeatureElement
26 | {
27 | string Description { get; set; }
28 |
29 | Feature Feature { get; set; }
30 |
31 | string Name { get; set; }
32 |
33 | string Slug { get; }
34 |
35 | List Steps { get; set; }
36 |
37 | List Tags { get; set; }
38 |
39 | TestResult Result { get; set; }
40 |
41 | Location Location { get; set; }
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/src/Pickles.ObjectModel/ObjectModel/ITestResults.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | namespace PicklesDoc.Pickles.ObjectModel
22 | {
23 | public interface ITestResults
24 | {
25 | TestResult GetFeatureResult(Feature feature);
26 |
27 | TestResult GetScenarioResult(Scenario scenario);
28 |
29 | TestResult GetScenarioOutlineResult(Scenario scenarioOutline);
30 |
31 | TestResult GetExampleResult(Scenario scenario, string[] exampleValues);
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/Pickles.ObjectModel/ObjectModel/Location.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | namespace PicklesDoc.Pickles.ObjectModel
22 | {
23 | public class Location
24 | {
25 | public int Column { get; set; }
26 |
27 | public int Line { get; set; }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/Pickles.ObjectModel/ObjectModel/Scenario.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System.Collections.Generic;
22 |
23 | namespace PicklesDoc.Pickles.ObjectModel
24 | {
25 | public class Scenario : ScenarioBase { }
26 | }
27 |
--------------------------------------------------------------------------------
/src/Pickles.ObjectModel/ObjectModel/Table.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System.Collections.Generic;
22 |
23 | namespace PicklesDoc.Pickles.ObjectModel
24 | {
25 | public class Table
26 | {
27 | public TableRow HeaderRow { get; set; }
28 |
29 | public List DataRows { get; set; }
30 | }
31 |
32 | public class ExampleTable : Table
33 | {
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/Pickles.ObjectModel/Pickles.ObjectModel.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | PicklesDoc.Pickles
4 | PicklesDoc.Pickles.ObjectModel
5 | netstandard2.0
6 | PicklesDoc.Pickles.ObjectModel
7 | The object model for Pickles
8 | bin\$(Configuration)\
9 |
10 |
11 | full
12 |
13 |
14 | pdbonly
15 |
16 |
17 |
18 | all
19 | runtime; build; native; contentfiles; analyzers; buildtransitive
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/Pickles.PowerShell/NugetPack.cmd:
--------------------------------------------------------------------------------
1 | nuget pack Pickles.nuspec -Version %1
2 |
3 |
--------------------------------------------------------------------------------
/src/Pickles.PowerShell/init.ps1:
--------------------------------------------------------------------------------
1 | param($installPath, $toolsPath, $package)
2 |
3 | Import-Module (Join-Path $toolsPath PicklesDoc.Pickles.PowerShell.dll)
4 |
5 | Write-Host "#############################"
6 | Write-Host "Pickles installed."
7 | Write-Host "Command usage (switches in brackets are optional):"
8 | Write-Host "Pickle-Features -FeatureDirectory -OutputDirectory [-Language] [-TestResultsFile] [-SystemUnderTestName] [-SystemUnderTestVersion]"
9 | Write-Host "#############################"
10 |
--------------------------------------------------------------------------------
/src/Pickles.Test.CL/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/Pickles.Test.CL/Pickles.Test.CL.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | Exe
4 | net48
5 | true
6 | Pickles.Test.CL
7 | Pickles.Test.CL
8 | Copyright © 2021
9 | bin\$(Configuration)\
10 |
11 |
12 | full
13 |
14 |
15 | pdbonly
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/src/Pickles.Test.CL/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using PicklesDoc.Pickles.Test;
7 |
8 | namespace Pickles.Test.CL
9 | {
10 | class Program
11 | {
12 | static void Main(string[] args)
13 | {
14 | var test = new PicklesDoc.Pickles.Test.Formatters.JSON.WhenFormattingAFolderStructureWithFeatures();
15 | test.ShouldContainTheFeatures();
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/Pickles.Test.CL/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // Setting ComVisible to false makes the types in this assembly not visible
6 | // to COM components. If you need to access a type in this assembly from
7 | // COM, set the ComVisible attribute to true on that type.
8 | [assembly: ComVisible(false)]
9 |
10 | // The following GUID is for the ID of the typelib if this project is exposed to COM
11 | [assembly: Guid("7428d513-fa3d-4536-a366-b19affd29ba4")]
12 |
--------------------------------------------------------------------------------
/src/Pickles.Test/FakeFolderStructures/AcceptanceTest/AdvancedFeature.feature:
--------------------------------------------------------------------------------
1 | @FeatureTag
2 | Feature: Feature title
3 | In order to avoid silly mistakes
4 | As a math idiot
5 | I want to be told the sum of two numbers
6 |
7 | Background: Background name
8 | Given background given
9 | When background when
10 | Then background then
11 |
12 | @simpleScenario
13 | Scenario: Simple Scenario
14 | Given simple scenario given
15 | And simple scenario given and
16 | When simple scenario when
17 | Then simple scenario then
18 |
19 | @scenarioOutline
20 | Scenario Outline: Scenario outline example
21 | Given outline given
22 | When outline when
23 | Then outline then
24 | But nothing important here
25 |
26 | Scenarios:
27 | | value 1 | value 2 | value 3 |
28 | | 123 | 456 | 789 |
29 | | abc | def | ghi |
--------------------------------------------------------------------------------
/src/Pickles.Test/FakeFolderStructures/AcceptanceTest/LevelOne.feature:
--------------------------------------------------------------------------------
1 | Feature: Addition
2 | In order to avoid silly mistakes
3 | As a math idiot
4 | I want to be told the sum of two numbers
5 |
6 | @mytag
7 | Scenario: Add two numbers
8 | Given I have entered 50 into the calculator
9 | And I have entered 70 into the calculator
10 | When I press add
11 | Then the result should be 120 on the screen
12 |
--------------------------------------------------------------------------------
/src/Pickles.Test/FakeFolderStructures/FeatureCrawlerTests/LevelOne.feature:
--------------------------------------------------------------------------------
1 | Feature: Addition
2 | In order to avoid silly mistakes
3 | As a math idiot
4 | I want to be told the sum of two numbers
5 |
6 | @mytag
7 | Scenario: Add two numbers
8 | Given I have entered 50 into the calculator
9 | And I have entered 70 into the calculator
10 | When I press add
11 | Then the result should be 120 on the screen
12 |
--------------------------------------------------------------------------------
/src/Pickles.Test/FakeFolderStructures/FeatureCrawlerTests/LevelOneIgnoredFeature.feature:
--------------------------------------------------------------------------------
1 | @exclude-tag
2 | Feature: Addition
3 | In order to avoid silly mistakes
4 | As a math idiot
5 | I want to be told the sum of two numbers
6 |
7 | @mytag
8 | Scenario: Add two numbers
9 | Given I have entered 50 into the calculator
10 | And I have entered 70 into the calculator
11 | When I press add
12 | Then the result should be 120 on the screen
13 |
--------------------------------------------------------------------------------
/src/Pickles.Test/FakeFolderStructures/FeatureCrawlerTests/LevelOneRemoveTagsToHide.feature:
--------------------------------------------------------------------------------
1 | @TagsToHideFeature
2 | Feature: LevelOneRemoveTagsToHide
3 | In order to avoid silly mistakes
4 | As a math idiot
5 | I want to be told the sum of two numbers
6 |
7 | @mytag
8 | @TagsToHideScenario
9 | Scenario: Add two numbers
10 | Given I have entered 50 into the calculator
11 | And I have entered 70 into the calculator
12 | When I press add
13 | Then the result should be 120 on the screen
14 |
--------------------------------------------------------------------------------
/src/Pickles.Test/FakeFolderStructures/FeatureCrawlerTests/SubLevelOne/LevelOneSublevelOne.feature:
--------------------------------------------------------------------------------
1 | Feature: Addition
2 | In order to avoid silly mistakes
3 | As a math idiot
4 | I want to be told the sum of two numbers
5 |
6 | @mytag
7 | Scenario: Add two numbers
8 | Given I have entered 50 into the calculator
9 | And I have entered 70 into the calculator
10 | When I press add
11 | Then the result should be 120 on the screen
12 |
--------------------------------------------------------------------------------
/src/Pickles.Test/FakeFolderStructures/FeatureCrawlerTests/SubLevelOne/LevelOneSublevelTwo.feature:
--------------------------------------------------------------------------------
1 | Feature: Addition
2 | In order to avoid silly mistakes
3 | As a math idiot
4 | I want to be told the sum of two numbers
5 |
6 | @mytag
7 | Scenario: Add two numbers
8 | Given I have entered 50 into the calculator
9 | And I have entered 70 into the calculator
10 | When I press add
11 | Then the result should be 120 on the screen
12 |
--------------------------------------------------------------------------------
/src/Pickles.Test/FakeFolderStructures/FeatureCrawlerTests/SubLevelOne/SubLevelTwo/IgnoreThisDirectory/IgnoreThisFile.ignore:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/Pickles.Test/FakeFolderStructures/FeatureCrawlerTests/SubLevelOne/SubLevelTwo/LevelOneSublevelOneSubLevelTwo.feature:
--------------------------------------------------------------------------------
1 | Feature: Addition
2 | In order to avoid silly mistakes
3 | As a math idiot
4 | I want to be told the sum of two numbers
5 |
6 | @mytag
7 | Scenario: Add two numbers
8 | Given I have entered 50 into the calculator
9 | And I have entered 70 into the calculator
10 | When I press add
11 | Then the result should be 120 on the screen
12 |
--------------------------------------------------------------------------------
/src/Pickles.Test/FakeFolderStructures/FeatureCrawlerTests/SubLevelOne/ignorethisfile.ignore:
--------------------------------------------------------------------------------
1 | ignore this file
--------------------------------------------------------------------------------
/src/Pickles.Test/FakeFolderStructures/FeatureCrawlerTests/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/src/Pickles.Test/FakeFolderStructures/FeatureCrawlerTests/image.png
--------------------------------------------------------------------------------
/src/Pickles.Test/FakeFolderStructures/FeatureCrawlerTests/index.md:
--------------------------------------------------------------------------------
1 | This is an index written in Markdown
2 | ====================================
3 |
4 | This is a paragraph
5 |
6 | This is an h2 header
7 | --------------------
8 |
9 | > Here is a
10 | > blockquote
11 | > for quotes
--------------------------------------------------------------------------------
/src/Pickles.Test/FakeFolderStructures/JSON/Features/OneScenarioTransferingMoneyBetweenAccountsFailing.feature:
--------------------------------------------------------------------------------
1 | Feature: Transfer funds between accounts onc scenario and FAILING
2 |
3 | #Background: Two accounts exists with a amount of 500 each
4 |
5 | @dev
6 | Scenario: Transfer money with coverage from one account to another
7 | Given The account one contains 70
8 | And account two contains 50
9 | When I transfer 50 from account one to account two
10 | Then account one should contain 20
11 | And account two should contain 150
--------------------------------------------------------------------------------
/src/Pickles.Test/FakeFolderStructures/JSON/Features/TransferBetweenAccounts_WithSuccess.feature:
--------------------------------------------------------------------------------
1 | Feature: Transfer funds between accounts
2 |
3 | #Background: Two accounts exists with a amount of 500 each
4 |
5 | @dev
6 | Scenario: Transfer money with coverage from one account to another
7 | Given The account one contains 70
8 | And account two contains 50
9 | When I transfer 50 from account one to account two
10 | Then account one should contain 20
11 | And account two should contain 100
12 |
--------------------------------------------------------------------------------
/src/Pickles.Test/FakeFolderStructures/JSON/Features/TwoScenariosTransferingFundsOneFailingOneSuccess.feature:
--------------------------------------------------------------------------------
1 | Feature: Two more scenarios transfering funds between accounts - one failng and one succeding
2 |
3 | #Background: Two accounts exists with a amount of 500 each
4 |
5 | @dev
6 | Scenario: Transfer 70 with coverage from one account to another
7 | Given The account one contains 70
8 | And account two contains 50
9 | When I transfer 50 from account one to account two
10 | Then account one should contain 20
11 | And account two should contain 100
12 |
13 |
14 | @dev
15 | Scenario: Transfer 100 with coverage from one account to another
16 | Given The account one contains 100
17 | And account two contains 50
18 | When I transfer 50 from account one to account two
19 | Then account one should contain 500
20 | And account two should contain 1000
21 |
22 |
--------------------------------------------------------------------------------
/src/Pickles.Test/FakeFolderStructures/JSON/Features/TwoScenariosTransferingMoneyBetweenAccoutsWithSuccess.feature:
--------------------------------------------------------------------------------
1 | Feature: Two more scenarios transfering funds between accounts
2 |
3 | #Background: Two accounts exists with a amount of 500 each
4 |
5 | @dev
6 | Scenario: Transfer 70 with coverage from one account to another
7 | Given The account one contains 70
8 | And account two contains 50
9 | When I transfer 50 from account one to account two
10 | Then account one should contain 20
11 | And account two should contain 100
12 |
13 |
14 | @dev
15 | Scenario: Transfer 100 with coverage from one account to another
16 | Given The account one contains 100
17 | And account two contains 50
18 | When I transfer 50 from account one to account two
19 | Then account one should contain 50
20 | And account two should contain 100
21 |
--------------------------------------------------------------------------------
/src/Pickles.Test/FakeFolderStructures/OrderingTests/A/a-a.feature:
--------------------------------------------------------------------------------
1 | Feature: a-a
2 | In order to generate nice docs
3 | As a generator
4 | I want to output this feature first
5 |
6 | @mytag
7 | Scenario: a-a-a
8 | Given I am first
9 | Then All is well
10 |
11 | Scenario: a-a-b
12 | Given I am second
13 | Then All is well
14 |
--------------------------------------------------------------------------------
/src/Pickles.Test/FakeFolderStructures/OrderingTests/A/a-b.feature:
--------------------------------------------------------------------------------
1 | Feature: a-b
2 | In order to generate nice docs
3 | As a generator
4 | I want to output this feature first
5 |
6 | @mytag
7 | Scenario: a-b-a
8 | Given I am first
9 | Then All is well
10 |
11 | Scenario: a-b-b
12 | Given I am second
13 | Then All is well
14 |
--------------------------------------------------------------------------------
/src/Pickles.Test/FakeFolderStructures/OrderingTests/B/b-a.feature:
--------------------------------------------------------------------------------
1 | Feature: b-a
2 | In order to generate nice docs
3 | As a generator
4 | I want to output this feature first
5 |
6 | @mytag
7 | Scenario: b-a-a
8 | Given I am first
9 | Then All is well
10 |
11 | Scenario: b-a-b
12 | Given I am second
13 | Then All is well
14 |
--------------------------------------------------------------------------------
/src/Pickles.Test/FakeFolderStructures/OrderingTests/B/b-b.feature:
--------------------------------------------------------------------------------
1 | Feature: b-b
2 | In order to generate nice docs
3 | As a generator
4 | I want to output this feature first
5 |
6 | @mytag
7 | Scenario: b-b-a
8 | Given I am first
9 | Then All is well
10 |
11 | Scenario: b-b-b
12 | Given I am second
13 | Then All is well
14 |
--------------------------------------------------------------------------------
/src/Pickles.Test/FileSystemExtensions.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System.IO.Abstractions;
22 |
23 | namespace PicklesDoc.Pickles.Test
24 | {
25 | public static class FileSystemExtensions
26 | {
27 | public static IDirectoryInfo GetOrCreateDirectory(this IFileSystem fileSystem, string directory)
28 | {
29 | var directoryInfo = fileSystem.DirectoryInfo.FromDirectoryName(directory);
30 | if(!directoryInfo.Exists)
31 | directoryInfo.Create();
32 | return directoryInfo;
33 | }
34 | }
35 | }
--------------------------------------------------------------------------------
/src/Pickles.Test/GlobalSuppressions.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/src/Pickles.Test/GlobalSuppressions.cs
--------------------------------------------------------------------------------
/src/Pickles.Test/Helpers/XElementExentions.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 | using System.Linq;
23 | using System.Xml.Linq;
24 |
25 | namespace PicklesDoc.Pickles.Test.Helpers
26 | {
27 | public static class XElementExentions
28 | {
29 | public static XElement FindFirstDescendantWithName(this XElement xelement, string localName)
30 | {
31 | return xelement.Descendants().First(x => x.Name.LocalName == localName);
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/Pickles.Test/Helpers/XElementExtensions.cs:
--------------------------------------------------------------------------------
1 | using System.Linq;
2 | using System.Xml.Linq;
3 |
4 | namespace Pickles.Test.Helpers
5 | {
6 | public static class XElementExtensions
7 | {
8 | public static XElement FindFirstDescendantWithName(this XElement xelement, string localName )
9 | {
10 | return xelement.Descendants().First(x => x.Name.LocalName == localName);
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/Pickles.Test/ObjectModel/MapperTestsForComment.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using NFluent;
3 | using NUnit.Framework;
4 | using PicklesDoc.Pickles.ObjectModel;
5 | using G = Gherkin.Ast;
6 |
7 | namespace PicklesDoc.Pickles.Test.ObjectModel
8 | {
9 | [TestFixture]
10 | public class MapperTestsForComment
11 | {
12 | private readonly Factory factory = new Factory();
13 |
14 | [Test]
15 | public void MapToComment_NullLocation_ReturnsNull()
16 | {
17 | var mapper = this.factory.CreateMapper();
18 | Comment result = mapper.MapToComment(null);
19 | Check.That(result).IsNull();
20 | }
21 |
22 | [Test]
23 | public void MapToComment_RegularComment_ReturnsComment()
24 | {
25 | var mapper = this.factory.CreateMapper();
26 | G.Comment comment = this.factory.CreateComment("# A comment", 1, 2);
27 | Comment result = mapper.MapToComment(comment);
28 | Check.That(result).IsNotNull();
29 | Check.That(result.Text).IsEqualTo("# A comment");
30 | Check.That(result.Location.Line).IsEqualTo(1);
31 | Check.That(result.Location.Column).IsEqualTo(2);
32 | Check.That(result.Type).IsEqualTo(CommentType.Normal);
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/Pickles.Test/ObjectModel/MapperTestsForLocation.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using NFluent;
3 | using NUnit.Framework;
4 | using PicklesDoc.Pickles.ObjectModel;
5 | using G = Gherkin.Ast;
6 |
7 | namespace PicklesDoc.Pickles.Test.ObjectModel
8 | {
9 | [TestFixture]
10 | public class MapperTestsForLocation
11 | {
12 | private readonly Factory factory = new Factory();
13 |
14 | [Test]
15 | public void MapToLocation_NullLocation_ReturnsNull()
16 | {
17 | var mapper = this.factory.CreateMapper();
18 | Location result = mapper.MapToLocation(null);
19 | Check.That(result).IsNull();
20 | }
21 |
22 | [Test]
23 | public void MapToLocation_RegularLocation_ReturnsLocation()
24 | {
25 | var mapper = this.factory.CreateMapper();
26 | G.Location location = this.factory.CreateLocation(1, 2);
27 | Location result = mapper.MapToLocation(location);
28 | Check.That(result).IsNotNull();
29 | Check.That(result.Line).IsEqualTo(1);
30 | Check.That(result.Column).IsEqualTo(2);
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/Pickles.Test/Resources/test.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/src/Pickles.Test/Resources/test.jpg
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-cucumberjs-missing-elements-array.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "line": 1,
4 | "name": "Feature That Has No Scenarios In The Test Run",
5 | "description": "Pickles should not barf on that.",
6 | "id": "feature-that-has-no-scenarios-in-the-test-run",
7 | "keyword": "Feature",
8 | "uri": "features/FeatureThatHasNoScenariosInTheTestRun.feature"
9 | }
10 | ]
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks.UnitTests/MsTest/MsTestElementExtensionsTests.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 |
23 | using NFluent;
24 |
25 | using NUnit.Framework;
26 |
27 | using PicklesDoc.Pickles.TestFrameworks.MsTest;
28 |
29 | namespace PicklesDoc.Pickles.TestFrameworks.UnitTests.MsTest
30 | {
31 | [TestFixture]
32 | public class MsTestElementExtensionsTests
33 | {
34 | [Test]
35 | public void ExecutionIdElement_NullArgument_ShouldReturnGuidEmpty()
36 | {
37 | var result = MsTestElementExtensions.ExecutionIdElement(null);
38 |
39 | Check.That(result).IsEqualTo(Guid.Empty);
40 | }
41 | }
42 | }
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks.UnitTests/VsTest/results-example-vstest-ignoredexample.trx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
24 |
25 |
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks.UnitTests/XUnit/XUnit1/results-example-xunit1-missingTraits.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/results-example-xunit2-missingTraits.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks/CucumberJson/CucumberJsonResults.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 |
23 | namespace PicklesDoc.Pickles.TestFrameworks.CucumberJson
24 | {
25 | public class CucumberJsonResults : MultipleTestRunsBase
26 | {
27 | public CucumberJsonResults(IConfiguration configuration, CucumberJsonSingleResultLoader singleResultLoader)
28 | : base(configuration, singleResultLoader)
29 | {
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks/IScenarioOutlineExampleMatcher.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using PicklesDoc.Pickles.ObjectModel;
22 |
23 | namespace PicklesDoc.Pickles.TestFrameworks
24 | {
25 | public interface IScenarioExampleMatcher
26 | {
27 | bool IsMatch(Scenario scenario, string[] exampleValues, object scenarioElement);
28 | }
29 |
30 | class ScenarioExampleMatcher : IScenarioExampleMatcher
31 | {
32 | public bool IsMatch(Scenario scenario, string[] exampleValues, object scenarioElement)
33 | {
34 | return false;
35 | }
36 | }
37 | }
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks/ISingleResultLoader.cs:
--------------------------------------------------------------------------------
1 | using System.IO.Abstractions;
2 |
3 | using PicklesDoc.Pickles.ObjectModel;
4 |
5 | namespace PicklesDoc.Pickles.TestFrameworks
6 | {
7 | public interface ISingleResultLoader
8 | {
9 | SingleTestRunBase Load(IFileInfo fileInfo);
10 | }
11 | }
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks/MsTest/MsTestExampleSignatureBuilder.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 | using System.Text.RegularExpressions;
23 |
24 | using PicklesDoc.Pickles.ObjectModel;
25 |
26 | namespace PicklesDoc.Pickles.TestFrameworks.MsTest
27 | {
28 | public class MsTestExampleSignatureBuilder
29 | {
30 | public Regex Build(Scenario scenario, string[] row)
31 | {
32 | // We don't actually need this regex-based thing for MsTest results.
33 | // It sucks that we have to provide one.
34 | return new Regex(string.Empty);
35 | }
36 | }
37 | }
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks/MsTest/MsTestResults.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 |
23 | namespace PicklesDoc.Pickles.TestFrameworks.MsTest
24 | {
25 | public class MsTestResults : MultipleTestRunsBase
26 | {
27 | public MsTestResults(IConfiguration configuration, MsTestSingleResultLoader singleResultLoader, MsTestScenarioExampleMatcher scenarioExampleMatcher)
28 | : base(configuration, singleResultLoader, scenarioExampleMatcher)
29 | {
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks/MsTest/MsTestSingleResultLoader.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 | using System.IO.Abstractions;
23 |
24 | namespace PicklesDoc.Pickles.TestFrameworks.MsTest
25 | {
26 | public class MsTestSingleResultLoader : ISingleResultLoader
27 | {
28 | private readonly XDocumentLoader documentLoader = new XDocumentLoader();
29 |
30 | public SingleTestRunBase Load(IFileInfo fileInfo)
31 | {
32 | return new MsTestSingleResults(this.documentLoader.Load(fileInfo));
33 | }
34 | }
35 | }
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks/NUnit/NUnit2/NUnit2Results.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 |
22 | namespace PicklesDoc.Pickles.TestFrameworks.NUnit.NUnit2
23 | {
24 | public class NUnit2Results : MultipleTestRunsBase
25 | {
26 | public NUnit2Results(IConfiguration configuration, NUnit2SingleResultLoader singleResultLoader, NUnit2ScenarioExampleMatcher scenarioOutlineExampleMatcher)
27 | : base(configuration, singleResultLoader, scenarioOutlineExampleMatcher)
28 | {
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks/NUnit/NUnit2/NUnit2SingleResultLoader.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 | using System.IO.Abstractions;
23 |
24 | namespace PicklesDoc.Pickles.TestFrameworks.NUnit.NUnit2
25 | {
26 | public class NUnit2SingleResultLoader : ISingleResultLoader
27 | {
28 | private readonly XDocumentLoader documentLoader = new XDocumentLoader();
29 |
30 | public SingleTestRunBase Load(IFileInfo fileInfo)
31 | {
32 | return new NUnit2SingleResults(this.documentLoader.Load(fileInfo));
33 | }
34 | }
35 | }
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks/NUnit/NUnit3/NUnit3Results.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 |
22 | namespace PicklesDoc.Pickles.TestFrameworks.NUnit.NUnit3
23 | {
24 | public class NUnit3Results : MultipleTestRunsBase
25 | {
26 | public NUnit3Results(IConfiguration configuration, NUnit3SingleResultLoader singleResultLoader, NUnit3ScenarioExampleMatcher scenarioOutlineExampleMatcher)
27 | : base(configuration, singleResultLoader, scenarioOutlineExampleMatcher)
28 | {
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks/NUnit/NUnit3/NUnit3SingleResultLoader.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 | using System.IO.Abstractions;
23 |
24 | using PicklesDoc.Pickles.ObjectModel;
25 |
26 | namespace PicklesDoc.Pickles.TestFrameworks.NUnit.NUnit3
27 | {
28 | public class NUnit3SingleResultLoader : ISingleResultLoader
29 | {
30 | private readonly XDocumentLoader documentLoader = new XDocumentLoader();
31 |
32 | public SingleTestRunBase Load(IFileInfo fileInfo)
33 | {
34 | return new NUnit3SingleResult(this.documentLoader.Load(fileInfo));
35 | }
36 | }
37 | }
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks/NUnit/TestResultAndName.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using PicklesDoc.Pickles.ObjectModel;
22 |
23 | namespace PicklesDoc.Pickles.TestFrameworks.NUnit
24 | {
25 | public class TestResultAndName
26 | {
27 | public TestResultAndName(TestResult testResult, string name)
28 | {
29 | this.Name = name;
30 | this.TestResult = testResult;
31 | }
32 |
33 | public string Name { get; }
34 |
35 | public TestResult TestResult { get; }
36 | }
37 | }
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks/SpecFlowNameMapping.cs:
--------------------------------------------------------------------------------
1 | using TechTalk.SpecFlow.Tracing;
2 |
3 | namespace PicklesDoc.Pickles.TestFrameworks
4 | {
5 | internal static class SpecFlowNameMapping
6 | {
7 | public static string Build(string name)
8 | {
9 | return name.ToIdentifier();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks/SpecRun/SpecRunFeature.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 | using System.Collections.Generic;
23 |
24 | namespace PicklesDoc.Pickles.TestFrameworks.SpecRun
25 | {
26 | public class SpecRunFeature
27 | {
28 | public string Title { get; set; }
29 |
30 | public List Scenarios { get; set; }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks/SpecRun/SpecRunResults.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 |
23 | namespace PicklesDoc.Pickles.TestFrameworks.SpecRun
24 | {
25 | public class SpecRunResults : MultipleTestRunsBase
26 | {
27 | public SpecRunResults(IConfiguration configuration, SpecRunSingleResultLoader singleResultLoader, SpecRunScenarioOutlineExampleMatcher scenarioOutlineExampleMatcher)
28 | : base(configuration, singleResultLoader, scenarioOutlineExampleMatcher)
29 | {
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks/SpecRun/SpecRunScenario.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 |
23 | namespace PicklesDoc.Pickles.TestFrameworks.SpecRun
24 | {
25 | public class SpecRunScenario
26 | {
27 | public string Title { get; set; }
28 |
29 | public string Result { get; set; }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks/VsTest/VsTestExampleSignatureBuilder.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 | using System.Text.RegularExpressions;
23 |
24 | using PicklesDoc.Pickles.ObjectModel;
25 |
26 | namespace PicklesDoc.Pickles.TestFrameworks.VsTest
27 | {
28 | public class VsTestExampleSignatureBuilder
29 | {
30 | public Regex Build(Scenario scenario, string[] row)
31 | {
32 | // We don't actually need this regex-based thing for VsTest results.
33 | // It sucks that we have to provide one.
34 | return new Regex(string.Empty);
35 | }
36 | }
37 | }
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks/VsTest/VsTestResults.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 |
23 | namespace PicklesDoc.Pickles.TestFrameworks.VsTest
24 | {
25 | public class VsTestResults : MultipleTestRunsBase
26 | {
27 | public VsTestResults(IConfiguration configuration, VsTestSingleResultLoader singleResultLoader, VsTestScenarioExampleMatcher scenarioOutlineExampleMatcher)
28 | : base(configuration, singleResultLoader, scenarioOutlineExampleMatcher)
29 | {
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks/VsTest/VsTestSingleResultLoader.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 | using System.IO.Abstractions;
23 |
24 | namespace PicklesDoc.Pickles.TestFrameworks.VsTest
25 | {
26 | public class VsTestSingleResultLoader : ISingleResultLoader
27 | {
28 | private readonly XDocumentLoader documentLoader = new XDocumentLoader();
29 |
30 | public SingleTestRunBase Load(IFileInfo fileInfo)
31 | {
32 | return new VsTestSingleResults(this.documentLoader.Load(fileInfo));
33 | }
34 | }
35 | }
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks/XUnit/XUnit1/XUnit1Results.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 |
23 | namespace PicklesDoc.Pickles.TestFrameworks.XUnit.XUnit1
24 | {
25 | public class XUnit1Results : MultipleTestRunsBase
26 | {
27 | public XUnit1Results(
28 | IConfiguration configuration,
29 | XUnit1SingleResultLoader singleResultLoader,
30 | XUnit1ScenarioOutlineExampleMatcher scenarioOutlineExampleMatcher)
31 | : base(configuration, singleResultLoader, scenarioOutlineExampleMatcher)
32 | {
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks/XUnit/XUnit1/XUnit1SingleResultLoader.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 | using System.IO.Abstractions;
23 |
24 | namespace PicklesDoc.Pickles.TestFrameworks.XUnit.XUnit1
25 | {
26 | public class XUnit1SingleResultLoader : ISingleResultLoader
27 | {
28 | private readonly XDocumentLoader documentLoader = new XDocumentLoader();
29 |
30 | public SingleTestRunBase Load(IFileInfo fileInfo)
31 | {
32 | return new XUnit1SingleResult(this.documentLoader.Load(fileInfo));
33 | }
34 | }
35 | }
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks/XUnit/XUnit2/XUnit2Results.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 |
23 | namespace PicklesDoc.Pickles.TestFrameworks.XUnit.XUnit2
24 | {
25 | public class XUnit2Results : MultipleTestRunsBase
26 | {
27 | public XUnit2Results(IConfiguration configuration, XUnit2SingleResultLoader singleResultLoader, XUnit2ScenarioOutlineExampleMatcher scenarioOutlineExampleMatcher)
28 | : base(configuration, singleResultLoader, scenarioOutlineExampleMatcher)
29 | {
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks/XUnit/XUnit2/XUnit2SingleResultLoader.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 | using System.IO.Abstractions;
23 |
24 | using PicklesDoc.Pickles.ObjectModel;
25 |
26 | namespace PicklesDoc.Pickles.TestFrameworks.XUnit.XUnit2
27 | {
28 | public class XUnit2SingleResultLoader : ISingleResultLoader
29 | {
30 | private readonly XmlDeserializer xmlDeserializer = new XmlDeserializer();
31 |
32 | public SingleTestRunBase Load(IFileInfo fileInfo)
33 | {
34 | return new XUnit2SingleResults(this.xmlDeserializer.Load(fileInfo));
35 | }
36 | }
37 | }
--------------------------------------------------------------------------------
/src/Pickles.TestFrameworks/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/Pickles.gpState:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/src/Pickles.ncrunchsolution:
--------------------------------------------------------------------------------
1 |
2 | 1
3 | True
4 | true
5 | true
6 | UseDynamicAnalysis
7 | UseStaticAnalysis
8 | UseStaticAnalysis
9 | UseStaticAnalysis
10 | Run all tests automatically:BFRydWU=;Run all tests manually:BUZhbHNl;Run impacted tests automatically, others manually (experimental!):CklzSW1wYWN0ZWQ=;Run pinned tests automatically, others manually:CElzUGlubmVk
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/Pickles.v2.ncrunchsolution:
--------------------------------------------------------------------------------
1 |
2 | 1
3 | false
4 | true
5 | true
6 | UseDynamicAnalysis
7 | UseStaticAnalysis
8 | UseStaticAnalysis
9 | UseStaticAnalysis
10 | UseDynamicAnalysis
11 |
12 | Run all tests automatically:BFRydWU=;Run all tests manually:BUZhbHNl;Run impacted tests automatically, others manually (experimental!):CklzSW1wYWN0ZWQ=;Run pinned tests automatically, others manually:CElzUGlubmVk
13 |
14 | Pickles.Test\Pickles.Test.csproj
15 | Pickles.TestFrameworks.UnitTests\Pickles.TestFrameworks.UnitTests.csproj
16 |
17 |
--------------------------------------------------------------------------------
/src/Pickles.v3.ncrunchsolution:
--------------------------------------------------------------------------------
1 |
2 |
3 | True
4 |
5 | Pickles.Test\Pickles.Test.csproj
6 | Pickles.TestFrameworks.UnitTests\Pickles.TestFrameworks.UnitTests.csproj
7 |
8 | True
9 |
10 |
11 |
12 | Run impacted tests automatically, others manually (experimental!)
13 |
14 | IsImpacted
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/Pickles/DirectoryCrawler/ParsingReport.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 | using System.Collections.Generic;
23 |
24 | namespace PicklesDoc.Pickles.DirectoryCrawler
25 | {
26 | public class ParsingReport : List
27 | {
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/Pickles/EncodingDetector.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO.Abstractions;
3 | using System.Text;
4 |
5 | namespace PicklesDoc.Pickles
6 | {
7 | public class EncodingDetector
8 | {
9 | private readonly IFileSystem fileSystem;
10 |
11 | public EncodingDetector(IFileSystem fileSystem)
12 | {
13 | this.fileSystem = fileSystem;
14 | }
15 |
16 | public Encoding GetEncoding(string filename)
17 | {
18 | if (filename == null)
19 | {
20 | throw new ArgumentNullException();
21 | }
22 |
23 | if (this.fileSystem.File.Exists(filename))
24 | {
25 | var bom = new byte[4];
26 | using (var file = this.fileSystem.FileInfo.FromFileName(filename).OpenRead())
27 | {
28 | file.Read(bom, 0, 4);
29 | }
30 |
31 | // Analyze the BOM
32 | if (bom[0] == 0x2b && bom[1] == 0x2f && bom[2] == 0x76) return Encoding.UTF7;
33 | if (bom[0] == 0xef && bom[1] == 0xbb && bom[2] == 0xbf) return Encoding.UTF8;
34 | if (bom[0] == 0xff && bom[1] == 0xfe) return Encoding.Unicode; //UTF-16LE
35 | if (bom[0] == 0xfe && bom[1] == 0xff) return Encoding.BigEndianUnicode; //UTF-16BE
36 | if (bom[0] == 0 && bom[1] == 0 && bom[2] == 0xfe && bom[3] == 0xff) return Encoding.UTF32;
37 | }
38 |
39 | return Encoding.UTF8;
40 | }
41 | }
42 | }
--------------------------------------------------------------------------------
/src/Pickles/Extensions/FileSystemExtensions.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 | using System.IO.Abstractions;
23 |
24 | namespace PicklesDoc.Pickles.Extensions
25 | {
26 | public static class FileSystemExtensions
27 | {
28 | public static Uri GetUri(this IFileSystem fileSystem, string path)
29 | {
30 | if(fileSystem.Directory.Exists(path))
31 | return fileSystem.DirectoryInfo.FromDirectoryName(path).FullName.ToFolderUri();
32 | return fileSystem.FileInfo.FromFileName(path).FullName.ToFileUri();
33 | }
34 | }
35 | }
--------------------------------------------------------------------------------
/src/Pickles/FeatureFilter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Linq;
3 | using PicklesDoc.Pickles.ObjectModel;
4 |
5 | namespace PicklesDoc.Pickles
6 | {
7 | internal class FeatureFilter
8 | {
9 | private readonly Feature feature;
10 | private readonly string excludeTags;
11 |
12 | public FeatureFilter(Feature feature, string excludeTags)
13 | {
14 | this.feature = feature;
15 | this.excludeTags = excludeTags;
16 | }
17 |
18 | public Feature ExcludeScenariosByTags()
19 | {
20 | if (this.FeatureShouldBeExcuded()
21 | || this.AllFeatureElementsShouldBeExcluded())
22 | return null;
23 |
24 | var wantedFeatures = this.feature.FeatureElements.Where(fe => fe.Tags.All(tag => !this.IsExcludedTag(tag))).ToList();
25 |
26 | this.feature.FeatureElements.Clear();
27 | this.feature.FeatureElements.AddRange(wantedFeatures);
28 |
29 | return this.feature;
30 | }
31 |
32 | private bool FeatureShouldBeExcuded()
33 | {
34 | return this.feature.Tags.Any(this.IsExcludedTag);
35 | }
36 |
37 | private bool AllFeatureElementsShouldBeExcluded()
38 | {
39 | return this.feature.FeatureElements.All(fe => fe.Tags.Any(this.IsExcludedTag));
40 | }
41 |
42 | private bool IsExcludedTag(string tag)
43 | {
44 | return tag.Equals($"@{this.excludeTags}", StringComparison.InvariantCultureIgnoreCase);
45 | }
46 | }
47 | }
--------------------------------------------------------------------------------
/src/Pickles/FeatureParseException.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using System;
22 |
23 | namespace PicklesDoc.Pickles
24 | {
25 | [Serializable]
26 | public class FeatureParseException : Exception
27 | {
28 | public FeatureParseException() : base()
29 | {
30 | }
31 |
32 | public FeatureParseException(string msg) : base(msg)
33 | {
34 | }
35 |
36 | public FeatureParseException(string msg, Exception e)
37 | : base(msg, e)
38 | {
39 | }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/src/Pickles/FeatureToggles/AlternateMarkdownProvider.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | using FeatureSwitcher;
22 |
23 | namespace PicklesDoc.Pickles.FeatureToggles
24 | {
25 | public class AlternateMarkdownProvider : IFeature
26 | {
27 | }
28 | }
--------------------------------------------------------------------------------
/src/Pickles/MarkdownProvider.cs:
--------------------------------------------------------------------------------
1 | // --------------------------------------------------------------------------------------------------------------------
2 | //
3 | // Copyright 2011 Jeffrey Cameron
4 | // Copyright 2012-present PicklesDoc team and community contributors
5 | //
6 | //
7 | // Licensed under the Apache License, Version 2.0 (the "License");
8 | // you may not use this file except in compliance with the License.
9 | // You may obtain a copy of the License at
10 | //
11 | // http://www.apache.org/licenses/LICENSE-2.0
12 | //
13 | // Unless required by applicable law or agreed to in writing, software
14 | // distributed under the License is distributed on an "AS IS" BASIS,
15 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | // See the License for the specific language governing permissions and
17 | // limitations under the License.
18 | //
19 | // --------------------------------------------------------------------------------------------------------------------
20 |
21 | namespace PicklesDoc.Pickles
22 | {
23 | public class MarkdownProvider : IMarkdownProvider
24 | {
25 | private readonly MarkdownDeep.Markdown markdown;
26 |
27 | public MarkdownProvider()
28 | {
29 | this.markdown = new MarkdownDeep.Markdown { ExtraMode = true, SafeMode = true };
30 | }
31 |
32 | public string Transform(string text)
33 | {
34 | string transform = this.markdown.Transform(text);
35 |
36 | transform = transform.Replace(" ", string.Empty);
37 |
38 | return transform;
39 | }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/src/Settings.StyleCop:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | False
8 |
9 |
10 |
11 |
12 | False
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | False
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/src/VersionInfo.cs:
--------------------------------------------------------------------------------
1 | //
2 | using System.Reflection;
3 | using System.Runtime.InteropServices;
4 |
5 | [assembly: AssemblyProductAttribute("Pickles")]
6 | [assembly: AssemblyCompanyAttribute("Pickles")]
7 | [assembly: AssemblyCopyrightAttribute("Copyright (c) Jeffrey Cameron 2010-2012, PicklesDoc 2012-present")]
8 | [assembly: AssemblyTrademarkAttribute("")]
9 | [assembly: AssemblyCultureAttribute("")]
10 | [assembly: ComVisibleAttribute(false)]
11 | namespace System {
12 | internal static class AssemblyVersionInformation {
13 | internal const System.String AssemblyProduct = "Pickles";
14 | internal const System.String AssemblyCompany = "Pickles";
15 | internal const System.String AssemblyCopyright = "Copyright (c) Jeffrey Cameron 2010-2012, PicklesDoc 2012-present";
16 | internal const System.String AssemblyTrademark = "";
17 | internal const System.String AssemblyCulture = "";
18 | internal const System.Boolean ComVisible = false;
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/markdowndeep/Abbreviation.cs:
--------------------------------------------------------------------------------
1 | //
2 | // MarkdownDeep - http://www.toptensoftware.com/markdowndeep
3 | // Copyright (C) 2010-2011 Topten Software
4 | //
5 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this product except in
6 | // compliance with the License. You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | // distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and limitations under the License.
13 | //
14 |
15 | using System;
16 | using System.Collections.Generic;
17 | using System.Linq;
18 | using System.Text;
19 |
20 | namespace MarkdownDeep
21 | {
22 | class Abbreviation
23 | {
24 | public Abbreviation(string abbr, string title)
25 | {
26 | Abbr = abbr;
27 | Title = title;
28 | }
29 | public string Abbr;
30 | public string Title;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/markdowndeep/FootnoteReference.cs:
--------------------------------------------------------------------------------
1 | //
2 | // MarkdownDeep - http://www.toptensoftware.com/markdowndeep
3 | // Copyright (C) 2010-2011 Topten Software
4 | //
5 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this product except in
6 | // compliance with the License. You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | // distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and limitations under the License.
13 | //
14 |
15 | using System;
16 | using System.Collections.Generic;
17 | using System.Linq;
18 | using System.Text;
19 |
20 | namespace MarkdownDeep
21 | {
22 | class FootnoteReference
23 | {
24 | public FootnoteReference(int index, string id)
25 | {
26 | this.index = index;
27 | this.id = id;
28 | }
29 | public int index;
30 | public string id;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/markdowndeep/LinkInfo.cs:
--------------------------------------------------------------------------------
1 | //
2 | // MarkdownDeep - http://www.toptensoftware.com/markdowndeep
3 | // Copyright (C) 2010-2011 Topten Software
4 | //
5 | // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this product except in
6 | // compliance with the License. You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | // distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | // See the License for the specific language governing permissions and limitations under the License.
13 | //
14 |
15 | using System;
16 | using System.Collections.Generic;
17 | using System.Linq;
18 | using System.Text;
19 |
20 | namespace MarkdownDeep
21 | {
22 | internal class LinkInfo
23 | {
24 | public LinkInfo(LinkDefinition def, string link_text)
25 | {
26 | this.def = def;
27 | this.link_text = link_text;
28 | }
29 |
30 | public LinkDefinition def;
31 | public string link_text;
32 | }
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/src/markdowndeep/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // Setting ComVisible to false makes the types in this assembly not visible
6 | // to COM components. If you need to access a type in this assembly from
7 | // COM, set the ComVisible attribute to true on that type.
8 | [assembly: ComVisible(false)]
9 |
10 | // The following GUID is for the ID of the typelib if this project is exposed to COM
11 | [assembly: Guid("1cc9970a-4864-47be-83f9-22b292a743f5")]
12 |
--------------------------------------------------------------------------------
/src/markdowndeep/markdowndeep.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | netstandard2.0
4 | markdowndeep
5 | markdowndeep
6 | Copyright © 2021
7 | bin\$(Configuration)\
8 |
9 |
10 | full
11 |
12 |
13 | pdbonly
14 |
15 |
16 |
17 | all
18 | runtime; build; native; contentfiles; analyzers; buildtransitive
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/markdowndeep/markdowndeep.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.31019.35
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "markdowndeep", "markdowndeep.csproj", "{1CC9970A-4864-47BE-83F9-22B292A743F5}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {1CC9970A-4864-47BE-83F9-22B292A743F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {1CC9970A-4864-47BE-83F9-22B292A743F5}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {1CC9970A-4864-47BE-83F9-22B292A743F5}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {1CC9970A-4864-47BE-83F9-22B292A743F5}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {A5C6E0E1-8FCB-4B12-8FC6-FB2A7361AD77}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/src/packages.nonnuget/Strike.Jint/Jint.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/src/packages.nonnuget/Strike.Jint/Jint.dll
--------------------------------------------------------------------------------
/src/packages.nonnuget/Strike.Jint/Strike.Jint.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/picklesdoc/pickles/dbb77c0136afe66d2f65524580d0e04652eab5cf/src/packages.nonnuget/Strike.Jint/Strike.Jint.dll
--------------------------------------------------------------------------------