diff --git a/CHANGELOG.md b/CHANGELOG.md index 802b17e9b..95ea0bb19 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,16 @@ Features in Experimental are subject to change and removal without being conside This document is formatted according to the principles of [Keep A CHANGELOG](http://keepachangelog.com). +## [2.12.0] - 2017-01-26 + +### Added + +- Adding Cucumber JSON Documentation Builder ([413](https://github.com/picklesdoc/pickles/pull/413)) (by [armsteadj1](https://github.com/armsteadj1), [jgrossrieder](https://github.com/jgrossrieder) and [dgrekov](https://github.com/dgrekov)) + +### Fixed + +- Fixes hiding topnav when printing ([411](https://github.com/picklesdoc/pickles/pull/411)) (by [bliles](https://github.com/bliles)) + ## [2.11.1] - 2016-12-16 ### Fixed diff --git a/build.bat b/build.bat index 93cae65d0..9d8e754b8 100644 --- a/build.bat +++ b/build.bat @@ -1,5 +1,5 @@ @echo off -set "picklesVersion=2.11.1" +set "picklesVersion=2.12.0" cls diff --git a/build.fsx b/build.fsx index ca05843fd..7372cdfc4 100644 --- a/build.fsx +++ b/build.fsx @@ -69,6 +69,12 @@ Target "BuildTest.TestFrameworks" (fun _ -> |> Log "AppBuild-Output: " ) +Target "BuildTest.DocumentationBuilders.Cucumber" (fun _ -> + !! "src/Pickles/Pickles.DocumentationBuilders.Cucumber.UnitTests/Pickles.DocumentationBuilders.Cucumber.UnitTests.csproj" + |> MSBuildRelease testDir "Build" + |> Log "AppBuild-Output: " +) + Target "BuildTest.DocumentationBuilders.Dhtml" (fun _ -> !! "src/Pickles/Pickles.DocumentationBuilders.Dhtml.UnitTests/Pickles.DocumentationBuilders.Dhtml.UnitTests.csproj" |> MSBuildRelease testDir "Build" @@ -124,6 +130,7 @@ Target "Default" (fun _ -> ==> "BuildGui" ==> "BuildTest" ==> "BuildTest.TestFrameworks" + ==> "BuildTest.DocumentationBuilders.Cucumber" ==> "BuildTest.DocumentationBuilders.Dhtml" ==> "BuildTest.DocumentationBuilders.Excel" ==> "BuildTest.DocumentationBuilders.Html" diff --git a/chocolatey.fsx b/chocolatey.fsx index dd1dc302e..44ddcfc60 100644 --- a/chocolatey.fsx +++ b/chocolatey.fsx @@ -30,6 +30,7 @@ Target "CreatePackage CMD" (fun _ -> cmdDir + "PicklesDoc.Pickles.Library.dll"; cmdDir + "PicklesDoc.Pickles.ObjectModel.dll"; cmdDir + "PicklesDoc.Pickles.TestFrameworks.dll"; + cmdDir + "PicklesDoc.Pickles.DocumentationBuilders.Cucumber.dll"; cmdDir + "PicklesDoc.Pickles.DocumentationBuilders.Word.dll"; cmdDir + "PicklesDoc.Pickles.DocumentationBuilders.Excel.dll"; cmdDir + "PicklesDoc.Pickles.DocumentationBuilders.Json.dll"; @@ -73,6 +74,7 @@ Target "CreatePackage GUI" (fun _ -> guiDir + "PicklesDoc.Pickles.Library.dll"; guiDir + "PicklesDoc.Pickles.ObjectModel.dll"; guiDir + "PicklesDoc.Pickles.TestFrameworks.dll"; + guiDir + "PicklesDoc.Pickles.DocumentationBuilders.Cucumber.dll"; guiDir + "PicklesDoc.Pickles.DocumentationBuilders.Word.dll"; guiDir + "PicklesDoc.Pickles.DocumentationBuilders.Excel.dll"; guiDir + "PicklesDoc.Pickles.DocumentationBuilders.Json.dll"; diff --git a/chocolatey/pickles.nuspec b/chocolatey/pickles.nuspec index cf241ad87..db3103665 100644 --- a/chocolatey/pickles.nuspec +++ b/chocolatey/pickles.nuspec @@ -47,6 +47,7 @@ Optionally, *Pickles* can **integrate test results**, so that your stakeholders + diff --git a/chocolatey/picklesui.nuspec b/chocolatey/picklesui.nuspec index a6e498e53..0e20f38b0 100644 --- a/chocolatey/picklesui.nuspec +++ b/chocolatey/picklesui.nuspec @@ -54,6 +54,7 @@ Optionally, *Pickles* can **integrate test results**, so that your stakeholders + diff --git a/docs/Output/Cucumber/cucumberResult.json b/docs/Output/Cucumber/cucumberResult.json new file mode 100644 index 000000000..9deb0db13 --- /dev/null +++ b/docs/Output/Cucumber/cucumberResult.json @@ -0,0 +1,2242 @@ +[ + { + "keyword": "Feature", + "name": "Showing basic gherkin syntax", + "tags": [], + "line": 1, + "elements": [ + { + "keyword": "Scenario", + "name": "Simple GWT", + "line": 8, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "the initial state of the application is Running", + "line": 9, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I ask what the application state is", + "line": 10, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "I should see Running as the answer", + "line": 11, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "Using And and But", + "line": 13, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "the initial state of the application is Running", + "line": 14, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "And", + "name": "I have authorization to ask application state", + "line": 15, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I ask what the application state is", + "line": 16, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "I should see Running as the answer", + "line": 17, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "And", + "name": "I should see the time of the application", + "line": 18, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "But", + "name": "the state of the application should not be Stopped", + "line": 19, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + } + ] + }, + { + "keyword": "Feature", + "name": "The test runner is not (very) important", + "tags": [], + "line": 1, + "elements": [ + { + "keyword": "Scenario", + "name": "A couple of simple steps", + "line": 6, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "I have step defintions in place", + "line": 7, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I call a step", + "line": 8, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the step should have been called", + "line": 9, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + } + ] + }, + { + "keyword": "Feature", + "name": "Addition", + "tags": [], + "line": 1, + "elements": [ + { + "keyword": "Scenario", + "name": "Hooking into pre conditions for Test Runs in SpecFlow", + "line": 6, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "the scenario is running", + "line": 7, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the BeforeTestRun hook should have been executed", + "line": 8, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "Hooking into pre conditions for Features in SpecFlow", + "line": 10, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "the scenario is running", + "line": 11, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the BeforeFeature hook should have been executed", + "line": 12, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "Hooking into pre conditions for Scenarios in SpecFlow", + "line": 14, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "the scenario is running", + "line": 15, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the BeforeScenario hook should have been executed", + "line": 16, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "Hooking into pre conditions for ScenarioBlocks in SpecFlow", + "line": 18, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "the scenario is running", + "line": 19, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the BeforeScenarioBlock hook should have been executed", + "line": 20, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "Hooking into pre conditions for Steps in SpecFlow", + "line": 22, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "the scenario is running", + "line": 23, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the BeforeStep hook should have been executed", + "line": 24, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + } + ] + }, + { + "keyword": "Feature", + "name": "Tag demonstrator", + "tags": [ + { + "name": "@allAboutTags" + }, + { + "name": "@important" + } + ], + "line": 1, + "elements": [ + { + "keyword": "Scenario", + "name": "Ignored scenario", + "line": 8, + "type": "scenario", + "tags": [ + { + "name": "@ignore" + } + ], + "steps": [ + { + "keyword": "Given", + "name": "that my scenario has the @ignore tag", + "line": 9, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I run the scenario", + "line": 10, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the scenario is ignored", + "line": 11, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "And", + "name": "the missing step definitions are not reported", + "line": 12, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "A scenario without tags", + "line": 14, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "that my scenario has 0 tags", + "line": 15, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I run the scenario", + "line": 16, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "before scenario hook with '' is run", + "line": 17, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "A scenario with 1 tag", + "line": 20, + "type": "scenario", + "tags": [ + { + "name": "@testTag1" + } + ], + "steps": [ + { + "keyword": "Given", + "name": "that my scenario has 1 tags", + "line": 21, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I run the scenario", + "line": 22, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "before scenario hook with 'testTag1' is run", + "line": 23, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "A scenario with 3 tags", + "line": 26, + "type": "scenario", + "tags": [ + { + "name": "@testTag1" + }, + { + "name": "@testTag2" + }, + { + "name": "@testTag3" + } + ], + "steps": [ + { + "keyword": "Given", + "name": "that my scenario has 3 tags", + "line": 27, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I run the scenario", + "line": 28, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "before scenario hook with 'testTag1, testTag2, testTag3' is run", + "line": 29, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "A scenario with 2 tags", + "line": 32, + "type": "scenario", + "tags": [ + { + "name": "@testTag1" + }, + { + "name": "@testTag3" + } + ], + "steps": [ + { + "keyword": "Given", + "name": "that my scenario has 2 tags", + "line": 33, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I run the scenario", + "line": 34, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "before scenario hook with 'testTag1, testTag3' is run", + "line": 35, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + } + ] + }, + { + "keyword": "Feature", + "name": "Scenario outline", + "tags": [], + "line": 1, + "elements": [ + { + "keyword": "Scenario Outline", + "name": "Add two positive numbers with many examples", + "line": 8, + "type": "scenario_outline", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "I enter into the calculator", + "line": 9, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "And", + "name": "I enter into the calculator", + "line": 10, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I perform add", + "line": 11, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the result should be ", + "line": 12, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario Outline", + "name": "Add two negative numbers with many examples", + "line": 26, + "type": "scenario_outline", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "I enter into the calculator", + "line": 27, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "And", + "name": "I enter into the calculator", + "line": 28, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I perform add", + "line": 29, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the result should be ", + "line": 30, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + } + ] + }, + { + "keyword": "Feature", + "name": "Scenario Context features", + "tags": [], + "line": 1, + "elements": [ + { + "keyword": "Scenario", + "name": "Store and retrive Person Marcus from ScenarioContext", + "line": 6, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "When", + "name": "I store a person called Marcus in the Current ScenarioContext", + "line": 7, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "a person called Marcus can easily be retrieved", + "line": 8, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "Showing information of the scenario", + "line": 11, + "type": "scenario", + "tags": [ + { + "name": "@showUpInScenarioInfo" + }, + { + "name": "@andThisToo" + } + ], + "steps": [ + { + "keyword": "When", + "name": "I execute any scenario", + "line": 12, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the ScenarioInfo contains the following information", + "line": 13, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "Show the type of step we're currently on", + "line": 18, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "I have a Given step", + "line": 19, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "And", + "name": "I have another Given step", + "line": 20, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I have a When step", + "line": 21, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "I have a Then step", + "line": 22, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "Display error information in AfterScenario", + "line": 27, + "type": "scenario", + "tags": [ + { + "name": "@ignore" + }, + { + "name": "@showingErrorHandling" + } + ], + "steps": [ + { + "keyword": "When", + "name": "an error occurs in a step", + "line": 28, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "Pending step", + "line": 30, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "When", + "name": "I set the ScenarioContext.Current to pending", + "line": 31, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "this step will not even be executed", + "line": 32, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + } + ] + }, + { + "keyword": "Feature", + "name": "FeatureContext features", + "tags": [ + { + "name": "@showUpInScenarioInfo" + }, + { + "name": "@andThisToo" + } + ], + "line": 1, + "elements": [ + { + "keyword": "Scenario", + "name": "Store and retrive Person Marcus from FeatureContext Current", + "line": 7, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "When", + "name": "I store a person called Marcus in the current FeatureContext", + "line": 8, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "a person called Marcus can easily be retrieved from the current FeatureContext", + "line": 9, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "Showing information of the feature", + "line": 11, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "When", + "name": "I execute any scenario in the feature", + "line": 12, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the FeatureInfo contains the following information", + "line": 13, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + } + ] + }, + { + "keyword": "Feature", + "name": "Show the use of background", + "tags": [], + "line": 1, + "elements": [ + { + "keyword": "Scenario", + "name": "Add 1 to the sum", + "line": 10, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "When", + "name": "I add 1 to the Sum-variable", + "line": 11, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the total sum should be 2", + "line": 12, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "Add 2 to the sum", + "line": 14, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "When", + "name": "I add 2 to the Sum-variable", + "line": 15, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the total sum should be 3", + "line": 16, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + } + ] + }, + { + "keyword": "Feature", + "name": "Showing table usage", + "tags": [], + "line": 1, + "elements": [ + { + "keyword": "Scenario", + "name": "Using tables", + "line": 6, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "I have the following persons", + "line": 7, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I search for Jocke", + "line": 12, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the following person should be returned", + "line": 13, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "Using tables with SpecFlow Assist", + "line": 17, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "I have the following persons using assist", + "line": 18, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I search for Jocke", + "line": 23, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the following person should be returned using assist", + "line": 24, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "Creating a entity from field value", + "line": 28, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "When", + "name": "I fill out the form like this", + "line": 29, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the following person should be returned using assist", + "line": 35, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "Example of a wide table", + "line": 39, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "this wide table", + "line": 40, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + } + ] + }, + { + "keyword": "Feature", + "name": "Show the compare to feature", + "tags": [], + "line": 1, + "elements": [ + { + "keyword": "Scenario", + "name": "CompareToInstance", + "line": 8, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "I have the following person", + "line": 9, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "CompareToInstance should match this guy", + "line": 14, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "And", + "name": "CompareToInstance should match this guy", + "line": 19, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "But", + "name": "CompareToInstance should not match this guy", + "line": 23, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "CompareToSet", + "line": 31, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "I have the following persons using assist", + "line": 32, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "CompareToSet should match this", + "line": 37, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "But", + "name": "CompareToSet should not match this", + "line": 42, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + } + ] + }, + { + "keyword": "Feature", + "name": "Svenska - Summering", + "tags": [], + "line": 1, + "elements": [ + { + "keyword": "Scenario", + "name": "Summera 5 och 7 ska vara 12", + "line": 9, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "att jag har knappat in 5", + "line": 10, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "And", + "name": "att jag har knappat in 7", + "line": 11, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "jag summerar", + "line": 12, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "ska resultatet vara 12", + "line": 13, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + } + ] + }, + { + "keyword": "Feature", + "name": "Test de Cultuur in het Vlaams", + "tags": [], + "line": 1, + "elements": [ + { + "keyword": "Scenario", + "name": "Het Scenario", + "line": 4, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "dat ik 50 ingeef", + "line": 5, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "And", + "name": "dat ik 70 ingeef", + "line": 6, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "ik plus druk", + "line": 7, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "moet het resultaat 120 zijn", + "line": 8, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + } + ] + }, + { + "keyword": "Feature", + "name": "Attribute overloading", + "tags": [], + "line": 1, + "elements": [ + { + "keyword": "Scenario", + "name": "Checking number for evenness", + "line": 6, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "I have this simple step", + "line": 7, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "And", + "name": "this simple step", + "line": 8, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "And", + "name": "also this step", + "line": 9, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I do something", + "line": 10, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "I could validate that the number 2 is even", + "line": 11, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "And", + "name": "that the number 4 is even", + "line": 12, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "But", + "name": "the number 3 is odd", + "line": 13, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + } + ] + }, + { + "keyword": "Feature", + "name": "Calling Steps from StepDefinitions", + "tags": [], + "line": 1, + "elements": [ + { + "keyword": "Scenario", + "name": "Log in", + "line": 6, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "I am on the index page", + "line": 7, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I enter my unsername nad password", + "line": 8, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "And", + "name": "I click the login button", + "line": 9, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the welcome page should be displayed", + "line": 10, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "Do something meaningful", + "line": 12, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "I am logged in", + "line": 13, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I dosomething meaningful", + "line": 14, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "I should get rewarded", + "line": 15, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + } + ] + }, + { + "keyword": "Feature", + "name": "Step Argument Transformations", + "tags": [], + "line": 1, + "elements": [ + { + "keyword": "Scenario", + "name": "Steps with non-string arguments", + "line": 6, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "Dan has been registered at date 2003/03/13", + "line": 7, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "And", + "name": "Aslak has been registered at terminal 2", + "line": 8, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "I should be able to see Aslak at terminal 2", + "line": 9, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + } + ] + }, + { + "keyword": "Feature", + "name": "Injecting context into step specifications", + "tags": [], + "line": 1, + "elements": [ + { + "keyword": "Scenario", + "name": "Feature with no context", + "line": 8, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "a feature which requires no context", + "line": 9, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "everything is dandy", + "line": 10, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "Feature with a single context", + "line": 12, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "a feature which requires a single context", + "line": 13, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the context is set", + "line": 14, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "Feature with multiple contexts", + "line": 16, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "a feature which requires multiple contexts", + "line": 17, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the contexts are set", + "line": 18, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "Feature with recursive contexts", + "line": 20, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "a feature which requires a recursive context", + "line": 21, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the context is set", + "line": 22, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "And", + "name": "its sub-context is set", + "line": 23, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "Feature with a dependent context", + "line": 25, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "a feature which requires a single context", + "line": 26, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the context is set", + "line": 27, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "And", + "name": "the context was created by the feature with a single context scenario", + "line": 28, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + } + ] + }, + { + "keyword": "Feature", + "name": "Nested Folder Example", + "tags": [], + "line": 1, + "elements": [ + { + "keyword": "Scenario", + "name": "Nested - Add two numbers", + "line": 7, + "type": "scenario", + "tags": [ + { + "name": "@nestedFolders" + } + ], + "steps": [ + { + "keyword": "Given", + "name": "I have entered 50 into the calculator", + "line": 8, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "And", + "name": "I have entered 70 into the calculator", + "line": 9, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I press add", + "line": 10, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the result should be 120 on the screen", + "line": 11, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + } + ] + }, + { + "keyword": "Feature", + "name": "Multiline Feature Example", + "tags": [], + "line": 1, + "elements": [ + { + "keyword": "Scenario", + "name": "Mutliline Output", + "line": 7, + "type": "scenario", + "tags": [ + { + "name": "@mytag" + } + ], + "steps": [ + { + "keyword": "Given", + "name": "I have read in some text from the user", + "line": 8, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I process this input", + "line": 14, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the result will be saved to the multiline text data store", + "line": 15, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + } + ] + }, + { + "keyword": "Feature", + "name": "Sample Markdown Feature", + "tags": [], + "line": 1, + "elements": [ + { + "keyword": "Scenario", + "name": "Sample Markdown Scenario Example", + "line": 44, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "this", + "line": 62, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "that", + "line": 63, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario Outline", + "name": "Sample Markdown Scenario Outline Example", + "line": 66, + "type": "scenario_outline", + "tags": [ + { + "name": "@AddingATag" + } + ], + "steps": [ + { + "keyword": "Given", + "name": "this: ", + "line": 72, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "that: ", + "line": 73, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + } + ] + }, + { + "keyword": "Feature", + "name": "Interactive DHTML View", + "tags": [], + "line": 1, + "elements": [ + { + "keyword": "Scenario", + "name": "Scenario with large data table", + "line": 7, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "a feature with a large table of data:", + "line": 8, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I click on the table heading", + "line": 32, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the table body should collapse", + "line": 33, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + } + ] + }, + { + "keyword": "Feature", + "name": "Arithmetic", + "tags": [], + "line": 1, + "elements": [ + { + "keyword": "Scenario", + "name": "Add two numbers", + "line": 10, + "type": "scenario", + "tags": [ + { + "name": "@arithmetic" + }, + { + "name": "@fast" + } + ], + "steps": [ + { + "keyword": "Given", + "name": "I have entered 50 into the calculator", + "line": 15, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "And", + "name": "I have entered 70 into the calculator", + "line": 16, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I press add", + "line": 17, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the result should be 120 on the screen", + "line": 18, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "Subtract two numbers", + "line": 21, + "type": "scenario", + "tags": [ + { + "name": "@arithmetic" + }, + { + "name": "@fast" + } + ], + "steps": [ + { + "keyword": "Given", + "name": "I have entered 50 into the calculator", + "line": 22, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "And", + "name": "I have entered 70 into the calculator", + "line": 23, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I press subtract", + "line": 24, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the result should be -20 on the screen", + "line": 25, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "Multiply two numbers", + "line": 28, + "type": "scenario", + "tags": [ + { + "name": "@arithmetic" + }, + { + "name": "@fast" + } + ], + "steps": [ + { + "keyword": "Given", + "name": "I have entered 50 into the calculator", + "line": 29, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "And", + "name": "I have entered 70 into the calculator", + "line": 30, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I press multiply", + "line": 31, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the result should be 3500 on the screen", + "line": 32, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "Divide two numbers", + "line": 35, + "type": "scenario", + "tags": [ + { + "name": "@arithmetic" + }, + { + "name": "@fast" + } + ], + "steps": [ + { + "keyword": "Given", + "name": "I have entered 50 into the calculator", + "line": 36, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "And", + "name": "I have entered 2 into the calculator", + "line": 37, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I press divide", + "line": 38, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the result should be 25 on the screen", + "line": 39, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + } + ] + }, + { + "keyword": "Feature", + "name": "Trigonometry", + "tags": [], + "line": 1, + "elements": [ + { + "keyword": "Scenario", + "name": "Sine", + "line": 7, + "type": "scenario", + "tags": [ + { + "name": "@trigonometric" + }, + { + "name": "@fast" + } + ], + "steps": [ + { + "keyword": "Given", + "name": "I have entered 90 into the calculator", + "line": 8, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I press sin", + "line": 9, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the result should be 1 on the screen", + "line": 10, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "Cosine", + "line": 13, + "type": "scenario", + "tags": [ + { + "name": "@trigonometric" + }, + { + "name": "@fast" + } + ], + "steps": [ + { + "keyword": "Given", + "name": "I have entered 0 into the calculator", + "line": 14, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I press cos", + "line": 15, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the result should be 1 on the screen", + "line": 16, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + }, + { + "keyword": "Scenario", + "name": "Tangent", + "line": 19, + "type": "scenario", + "tags": [ + { + "name": "@trigonometric" + }, + { + "name": "@fast" + } + ], + "steps": [ + { + "keyword": "Given", + "name": "I have entered 45 into the calculator", + "line": 20, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I press tan", + "line": 21, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the result should be 1 on the screen", + "line": 22, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + } + ] + }, + { + "keyword": "Feature", + "name": "Clearing Screen", + "tags": [], + "line": 1, + "elements": [ + { + "keyword": "Scenario", + "name": "Clear the screen", + "line": 7, + "type": "scenario", + "tags": [ + { + "name": "@workflow" + }, + { + "name": "@slow" + } + ], + "steps": [ + { + "keyword": "Given", + "name": "I have entered 50 into the calculator", + "line": 8, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "And", + "name": "I have entered 70 into the calculator", + "line": 9, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I press C", + "line": 10, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the screen should be empty", + "line": 11, + "result": { + "status": "inconclusive", + "duration": 1 + } + } + ] + } + ] + } +] \ No newline at end of file diff --git a/docs/Output/Dhtml/css/print.css b/docs/Output/Dhtml/css/print.css index 54dcbe0f2..50feea3f4 100644 --- a/docs/Output/Dhtml/css/print.css +++ b/docs/Output/Dhtml/css/print.css @@ -1 +1 @@ -#FolderNav, #TopNav { display: none; } +#FolderNav, #TopNav { display: none !important; } diff --git a/docs/Output/Dhtml/pickledFeatures.js b/docs/Output/Dhtml/pickledFeatures.js index ecce14e82..233c118ba 100644 --- a/docs/Output/Dhtml/pickledFeatures.js +++ b/docs/Output/Dhtml/pickledFeatures.js @@ -2056,25 +2056,7 @@ jsonPWrapper ({ "WasExecuted": false, "WasSuccessful": false } - } - ], - "Result": { - "WasExecuted": false, - "WasSuccessful": false - }, - "Tags": [] - }, - "Result": { - "WasExecuted": false, - "WasSuccessful": false - } - }, - { - "RelativeFolder": "Features\\09CallingStepsFromSteps\\CallingStepsFromSteps.feature", - "Feature": { - "Name": "Calling Steps from StepDefinitions", - "Description": "In order to create steps of a higher abstraction \r\nAs a SpecFlow evangelist \r\nI want reuse other steps in my step definitions", - "FeatureElements": [ + }, { "Name": "Feature with multiple contexts", "Slug": "feature-with-multiple-contexts", @@ -2133,25 +2115,7 @@ jsonPWrapper ({ "WasExecuted": false, "WasSuccessful": false } - } - ], - "Result": { - "WasExecuted": false, - "WasSuccessful": false - }, - "Tags": [] - }, - "Result": { - "WasExecuted": false, - "WasSuccessful": false - } - }, - { - "RelativeFolder": "Features\\10StepTransformation\\StepTransformation.feature", - "Feature": { - "Name": "Step Argument Transformations", - "Description": "In order to reduce the amount of code and repetitive tasks in my steps \r\nAs a SpecFlow evanglist \r\nI want to define reusable transformations for my step arguments", - "FeatureElements": [ + }, { "Name": "Feature with a dependent context", "Slug": "feature-with-a-dependent-context", @@ -2335,13 +2299,6 @@ jsonPWrapper ({ "Name": "that", "StepComments": [], "AfterLastStepComments": [] - }, - { - "Keyword": "And", - "NativeKeyword": "And ", - "Name": "its sub-context is set", - "StepComments": [], - "AfterLastStepComments": [] } ], "Tags": [], @@ -2386,13 +2343,6 @@ jsonPWrapper ({ "Name": "that: ", "StepComments": [], "AfterLastStepComments": [] - }, - { - "Keyword": "And", - "NativeKeyword": "And ", - "Name": "the context was created by the feature with a single context scenario", - "StepComments": [], - "AfterLastStepComments": [] } ], "Tags": [ @@ -2554,13 +2504,6 @@ jsonPWrapper ({ "StepComments": [], "AfterLastStepComments": [] }, - { - "Keyword": "And", - "NativeKeyword": "And ", - "Name": "I have entered 70 into the calculator", - "StepComments": [], - "AfterLastStepComments": [] - }, { "Keyword": "When", "NativeKeyword": "When ", @@ -2576,9 +2519,7 @@ jsonPWrapper ({ "AfterLastStepComments": [] } ], - "Tags": [ - "@nestedFolders" - ], + "Tags": [], "Result": { "WasExecuted": false, "WasSuccessful": false @@ -2648,25 +2589,7 @@ jsonPWrapper ({ "WasExecuted": false, "WasSuccessful": false } - } - ], - "Result": { - "WasExecuted": false, - "WasSuccessful": false - }, - "Tags": [] - }, - "Result": { - "WasExecuted": false, - "WasSuccessful": false - } - }, - { - "RelativeFolder": "Features\\14MarkdownExample\\MarkdownExamples.feature", - "Feature": { - "Name": "Sample Markdown Feature", - "Description": "# Header 1\r\n\r\n## Header 2\r\n\r\n### Header 3\r\n\r\n#### Header 4\r\n\r\n##### Header 5\r\n\r\n###### Header 6\r\n\r\nThis is a *significant* word\r\n\r\n1. Ordered #1\r\n2. Ordered #2\r\n3. Ordered #3\r\n\r\n- Unordered #1\r\n- Unordered #2\r\n- Unordered #3\r\n\r\nHorizontal Rule:\r\n- - -\r\n\r\nTable example:\r\n\r\n| First Header | Second Header |\r\n| ------------- | ------------- |\r\n| Content Cell | Content Cell |\r\n| Content Cell | Content Cell |\r\n\r\n- - -\r\n\r\nIncluding a picture: ![](./image.png)", - "FeatureElements": [ + }, { "Name": "Subtract two numbers", "Slug": "subtract-two-numbers", @@ -2685,16 +2608,7 @@ jsonPWrapper ({ "Name": "I have entered 70 into the calculator", "StepComments": [], "AfterLastStepComments": [] - } - ], - "Tags": [], - "Result": { - "WasExecuted": false, - "WasSuccessful": false - } - }, - { - "Examples": [ + }, { "Keyword": "When", "NativeKeyword": "When ", @@ -3160,7 +3074,7 @@ jsonPWrapper ({ }, "Configuration": { "SutName": "Pickles", - "SutVersion": "2.11.1", - "GeneratedOn": "16 Dezember 2016 14:57:42" + "SutVersion": "2.12.0", + "GeneratedOn": "26 Jänner 2017 15:55:05" } }); \ No newline at end of file diff --git a/docs/Output/Excel/features.xlsx b/docs/Output/Excel/features.xlsx index b375f36cf..341eb17aa 100644 Binary files a/docs/Output/Excel/features.xlsx and b/docs/Output/Excel/features.xlsx differ diff --git a/docs/Output/Html/Features/00BasicGherkin/BasicGherkin.html b/docs/Output/Html/Features/00BasicGherkin/BasicGherkin.html index 77b715e41..cc14bd9d7 100644 --- a/docs/Output/Html/Features/00BasicGherkin/BasicGherkin.html +++ b/docs/Output/Html/Features/00BasicGherkin/BasicGherkin.html @@ -305,9 +305,9 @@

Using And and But

diff --git a/docs/Output/Html/Features/00BasicGherkin/index.html b/docs/Output/Html/Features/00BasicGherkin/index.html index a7050dc8b..dbd1a3a7f 100644 --- a/docs/Output/Html/Features/00BasicGherkin/index.html +++ b/docs/Output/Html/Features/00BasicGherkin/index.html @@ -268,9 +268,9 @@

00 Basic Gherkin

diff --git a/docs/Output/Html/Features/01TestRunner/TestRunnerIsNotImportant.html b/docs/Output/Html/Features/01TestRunner/TestRunnerIsNotImportant.html index 9e1ceaf6d..652b4cd51 100644 --- a/docs/Output/Html/Features/01TestRunner/TestRunnerIsNotImportant.html +++ b/docs/Output/Html/Features/01TestRunner/TestRunnerIsNotImportant.html @@ -278,9 +278,9 @@

A couple of simple steps

diff --git a/docs/Output/Html/Features/01TestRunner/index.html b/docs/Output/Html/Features/01TestRunner/index.html index ac29cd39c..e1ae6a2c0 100644 --- a/docs/Output/Html/Features/01TestRunner/index.html +++ b/docs/Output/Html/Features/01TestRunner/index.html @@ -266,9 +266,9 @@

01 Test Runner

diff --git a/docs/Output/Html/Features/02TagsAndHooks/Hooks.html b/docs/Output/Html/Features/02TagsAndHooks/Hooks.html index 475c5ac20..5f8f7bf33 100644 --- a/docs/Output/Html/Features/02TagsAndHooks/Hooks.html +++ b/docs/Output/Html/Features/02TagsAndHooks/Hooks.html @@ -340,9 +340,9 @@

Hooking into pre conditions for Steps in SpecFlow

diff --git a/docs/Output/Html/Features/02TagsAndHooks/TagDemo.html b/docs/Output/Html/Features/02TagsAndHooks/TagDemo.html index 768a99a37..de315f5d0 100644 --- a/docs/Output/Html/Features/02TagsAndHooks/TagDemo.html +++ b/docs/Output/Html/Features/02TagsAndHooks/TagDemo.html @@ -358,9 +358,9 @@

A scenario with 2 tags

diff --git a/docs/Output/Html/Features/02TagsAndHooks/index.html b/docs/Output/Html/Features/02TagsAndHooks/index.html index 8bfaf9b9a..cfa16703f 100644 --- a/docs/Output/Html/Features/02TagsAndHooks/index.html +++ b/docs/Output/Html/Features/02TagsAndHooks/index.html @@ -275,9 +275,9 @@

02 Tags And Hooks

diff --git a/docs/Output/Html/Features/031ScenarioContext/ScenarioContext.html b/docs/Output/Html/Features/031ScenarioContext/ScenarioContext.html index a3e916fc7..e89de15c5 100644 --- a/docs/Output/Html/Features/031ScenarioContext/ScenarioContext.html +++ b/docs/Output/Html/Features/031ScenarioContext/ScenarioContext.html @@ -344,9 +344,9 @@

Pending step

diff --git a/docs/Output/Html/Features/031ScenarioContext/index.html b/docs/Output/Html/Features/031ScenarioContext/index.html index 819cc1dd9..9ebf97607 100644 --- a/docs/Output/Html/Features/031ScenarioContext/index.html +++ b/docs/Output/Html/Features/031ScenarioContext/index.html @@ -266,9 +266,9 @@

031 Scenario Context

diff --git a/docs/Output/Html/Features/032FeatureContext/FeatureContextFeatures.html b/docs/Output/Html/Features/032FeatureContext/FeatureContextFeatures.html index 84f0edaf2..81cdaf91a 100644 --- a/docs/Output/Html/Features/032FeatureContext/FeatureContextFeatures.html +++ b/docs/Output/Html/Features/032FeatureContext/FeatureContextFeatures.html @@ -295,9 +295,9 @@

Showing information of the feature

diff --git a/docs/Output/Html/Features/032FeatureContext/index.html b/docs/Output/Html/Features/032FeatureContext/index.html index 4c309a337..0f7b5e74e 100644 --- a/docs/Output/Html/Features/032FeatureContext/index.html +++ b/docs/Output/Html/Features/032FeatureContext/index.html @@ -266,9 +266,9 @@

032 Feature Context

diff --git a/docs/Output/Html/Features/03ScenarioOutline/ScenarioOutline.html b/docs/Output/Html/Features/03ScenarioOutline/ScenarioOutline.html index 6af920bdd..f58924aac 100644 --- a/docs/Output/Html/Features/03ScenarioOutline/ScenarioOutline.html +++ b/docs/Output/Html/Features/03ScenarioOutline/ScenarioOutline.html @@ -432,9 +432,9 @@

Examples: more than 100

diff --git a/docs/Output/Html/Features/03ScenarioOutline/index.html b/docs/Output/Html/Features/03ScenarioOutline/index.html index 14aa88c0f..3c9a97133 100644 --- a/docs/Output/Html/Features/03ScenarioOutline/index.html +++ b/docs/Output/Html/Features/03ScenarioOutline/index.html @@ -266,9 +266,9 @@

03 Scenario Outline

diff --git a/docs/Output/Html/Features/04Background/BackgroundFeature.html b/docs/Output/Html/Features/04Background/BackgroundFeature.html index ef2640e70..fab31b2ce 100644 --- a/docs/Output/Html/Features/04Background/BackgroundFeature.html +++ b/docs/Output/Html/Features/04Background/BackgroundFeature.html @@ -305,9 +305,9 @@

Add 2 to the sum

diff --git a/docs/Output/Html/Features/04Background/index.html b/docs/Output/Html/Features/04Background/index.html index 7d0eef0e8..8f8e0e511 100644 --- a/docs/Output/Html/Features/04Background/index.html +++ b/docs/Output/Html/Features/04Background/index.html @@ -266,9 +266,9 @@

04 Background

diff --git a/docs/Output/Html/Features/05TablesAndAssist/TableScenario.html b/docs/Output/Html/Features/05TablesAndAssist/TableScenario.html index 747424e77..08a75d757 100644 --- a/docs/Output/Html/Features/05TablesAndAssist/TableScenario.html +++ b/docs/Output/Html/Features/05TablesAndAssist/TableScenario.html @@ -326,9 +326,9 @@

Example of a wide table

diff --git a/docs/Output/Html/Features/05TablesAndAssist/index.html b/docs/Output/Html/Features/05TablesAndAssist/index.html index 721d9ec90..f6e944dae 100644 --- a/docs/Output/Html/Features/05TablesAndAssist/index.html +++ b/docs/Output/Html/Features/05TablesAndAssist/index.html @@ -266,9 +266,9 @@

05 Tables And Assist

diff --git a/docs/Output/Html/Features/06CompareToAssist/CompareTo.html b/docs/Output/Html/Features/06CompareToAssist/CompareTo.html index 33ad9f073..1c454a3cf 100644 --- a/docs/Output/Html/Features/06CompareToAssist/CompareTo.html +++ b/docs/Output/Html/Features/06CompareToAssist/CompareTo.html @@ -298,9 +298,9 @@

CompareToSet

diff --git a/docs/Output/Html/Features/06CompareToAssist/index.html b/docs/Output/Html/Features/06CompareToAssist/index.html index 7dbb944e4..7dbbec73d 100644 --- a/docs/Output/Html/Features/06CompareToAssist/index.html +++ b/docs/Output/Html/Features/06CompareToAssist/index.html @@ -266,9 +266,9 @@

06 Compare To Assist

diff --git a/docs/Output/Html/Features/07Localization/Svenska.html b/docs/Output/Html/Features/07Localization/Svenska.html index c8a47c068..424a9b0f9 100644 --- a/docs/Output/Html/Features/07Localization/Svenska.html +++ b/docs/Output/Html/Features/07Localization/Svenska.html @@ -280,9 +280,9 @@

Summera 5 och 7 ska vara 12

diff --git a/docs/Output/Html/Features/07Localization/Vlaams.html b/docs/Output/Html/Features/07Localization/Vlaams.html index d1ac9e980..141429f73 100644 --- a/docs/Output/Html/Features/07Localization/Vlaams.html +++ b/docs/Output/Html/Features/07Localization/Vlaams.html @@ -277,9 +277,9 @@

Het Scenario

diff --git a/docs/Output/Html/Features/07Localization/index.html b/docs/Output/Html/Features/07Localization/index.html index 7f59812cf..22cff609b 100644 --- a/docs/Output/Html/Features/07Localization/index.html +++ b/docs/Output/Html/Features/07Localization/index.html @@ -273,9 +273,9 @@

07 Localization

diff --git a/docs/Output/Html/Features/07Svenska/Svenska.html b/docs/Output/Html/Features/07Svenska/Svenska.html index 664ed8551..f048cc883 100644 --- a/docs/Output/Html/Features/07Svenska/Svenska.html +++ b/docs/Output/Html/Features/07Svenska/Svenska.html @@ -251,7 +251,12 @@

Summering

-

För att slippa att göra dumma fel
Som räknare
Vill jag kunna lägga summera

+
+            För att slippa att göra dumma fel
+Som räknare
+Vill jag kunna lägga summera
+
+          
diff --git a/docs/Output/Html/Features/08AttributeOverloading/AttributeOverloading.html b/docs/Output/Html/Features/08AttributeOverloading/AttributeOverloading.html index 155c19241..5242cc8b1 100644 --- a/docs/Output/Html/Features/08AttributeOverloading/AttributeOverloading.html +++ b/docs/Output/Html/Features/08AttributeOverloading/AttributeOverloading.html @@ -286,9 +286,9 @@

Checking number for evenness

diff --git a/docs/Output/Html/Features/08AttributeOverloading/index.html b/docs/Output/Html/Features/08AttributeOverloading/index.html index 5e0d0235a..0f1cd0f3b 100644 --- a/docs/Output/Html/Features/08AttributeOverloading/index.html +++ b/docs/Output/Html/Features/08AttributeOverloading/index.html @@ -266,9 +266,9 @@

08 Attribute Overloading

diff --git a/docs/Output/Html/Features/09CallingStepsFromSteps/CallingStepsFromSteps.html b/docs/Output/Html/Features/09CallingStepsFromSteps/CallingStepsFromSteps.html index 284089e34..93f6bbba6 100644 --- a/docs/Output/Html/Features/09CallingStepsFromSteps/CallingStepsFromSteps.html +++ b/docs/Output/Html/Features/09CallingStepsFromSteps/CallingStepsFromSteps.html @@ -298,9 +298,9 @@

Do something meaningful

diff --git a/docs/Output/Html/Features/09CallingStepsFromSteps/index.html b/docs/Output/Html/Features/09CallingStepsFromSteps/index.html index cf30cca33..2036ae854 100644 --- a/docs/Output/Html/Features/09CallingStepsFromSteps/index.html +++ b/docs/Output/Html/Features/09CallingStepsFromSteps/index.html @@ -266,9 +266,9 @@

09 Calling Steps From Steps

diff --git a/docs/Output/Html/Features/10StepTransformation/StepTransformation.html b/docs/Output/Html/Features/10StepTransformation/StepTransformation.html index df50d0e56..7b1e71c0e 100644 --- a/docs/Output/Html/Features/10StepTransformation/StepTransformation.html +++ b/docs/Output/Html/Features/10StepTransformation/StepTransformation.html @@ -278,9 +278,9 @@

Steps with non-string arguments

diff --git a/docs/Output/Html/Features/10StepTransformation/index.html b/docs/Output/Html/Features/10StepTransformation/index.html index 9cc2aaa79..17265b5e6 100644 --- a/docs/Output/Html/Features/10StepTransformation/index.html +++ b/docs/Output/Html/Features/10StepTransformation/index.html @@ -266,9 +266,9 @@

10 Step Transformation

diff --git a/docs/Output/Html/Features/11ContextInjection/ContextInjection.html b/docs/Output/Html/Features/11ContextInjection/ContextInjection.html index 90bbe1d70..10da04038 100644 --- a/docs/Output/Html/Features/11ContextInjection/ContextInjection.html +++ b/docs/Output/Html/Features/11ContextInjection/ContextInjection.html @@ -346,9 +346,9 @@

Feature with a dependent context

diff --git a/docs/Output/Html/Features/11ContextInjection/index.html b/docs/Output/Html/Features/11ContextInjection/index.html index c5a6ee218..eec6bff3f 100644 --- a/docs/Output/Html/Features/11ContextInjection/index.html +++ b/docs/Output/Html/Features/11ContextInjection/index.html @@ -268,9 +268,9 @@

11 Context Injection

diff --git a/docs/Output/Html/Features/12NestedFolders/ChildFolder/ChildChildFolder/NestedFolderExample.html b/docs/Output/Html/Features/12NestedFolders/ChildFolder/ChildChildFolder/NestedFolderExample.html index 03b853fd6..1ee7f4afc 100644 --- a/docs/Output/Html/Features/12NestedFolders/ChildFolder/ChildChildFolder/NestedFolderExample.html +++ b/docs/Output/Html/Features/12NestedFolders/ChildFolder/ChildChildFolder/NestedFolderExample.html @@ -281,9 +281,9 @@

Nested - Add two numbers

diff --git a/docs/Output/Html/Features/12NestedFolders/ChildFolder/ChildChildFolder/index.html b/docs/Output/Html/Features/12NestedFolders/ChildFolder/ChildChildFolder/index.html index e878185c7..6dcac188b 100644 --- a/docs/Output/Html/Features/12NestedFolders/ChildFolder/ChildChildFolder/index.html +++ b/docs/Output/Html/Features/12NestedFolders/ChildFolder/ChildChildFolder/index.html @@ -266,9 +266,9 @@

Child Child Folder

diff --git a/docs/Output/Html/Features/12NestedFolders/ChildFolder/index.html b/docs/Output/Html/Features/12NestedFolders/ChildFolder/index.html index 15cee8c4b..372a62310 100644 --- a/docs/Output/Html/Features/12NestedFolders/ChildFolder/index.html +++ b/docs/Output/Html/Features/12NestedFolders/ChildFolder/index.html @@ -256,9 +256,9 @@

Child Folder

    diff --git a/docs/Output/Html/Features/12NestedFolders/index.html b/docs/Output/Html/Features/12NestedFolders/index.html index 4454a19ee..0d3e38704 100644 --- a/docs/Output/Html/Features/12NestedFolders/index.html +++ b/docs/Output/Html/Features/12NestedFolders/index.html @@ -256,9 +256,9 @@

    12 Nested Folders

      diff --git a/docs/Output/Html/Features/13MultilineText/MultilineFeatureExample.html b/docs/Output/Html/Features/13MultilineText/MultilineFeatureExample.html index 458e1a6b3..5eb688dfe 100644 --- a/docs/Output/Html/Features/13MultilineText/MultilineFeatureExample.html +++ b/docs/Output/Html/Features/13MultilineText/MultilineFeatureExample.html @@ -281,9 +281,9 @@

      Mutliline Output

    diff --git a/docs/Output/Html/Features/13MultilineText/index.html b/docs/Output/Html/Features/13MultilineText/index.html index 660247015..1d3c23415 100644 --- a/docs/Output/Html/Features/13MultilineText/index.html +++ b/docs/Output/Html/Features/13MultilineText/index.html @@ -266,9 +266,9 @@

    13 Multiline Text

diff --git a/docs/Output/Html/Features/14MarkdownExample/MarkdownExamples.html b/docs/Output/Html/Features/14MarkdownExample/MarkdownExamples.html index 0d6c76121..9a7fbb8f3 100644 --- a/docs/Output/Html/Features/14MarkdownExample/MarkdownExamples.html +++ b/docs/Output/Html/Features/14MarkdownExample/MarkdownExamples.html @@ -396,9 +396,9 @@

Examples:

diff --git a/docs/Output/Html/Features/14MarkdownExample/index.html b/docs/Output/Html/Features/14MarkdownExample/index.html index d53e4dfa4..680cbeac8 100644 --- a/docs/Output/Html/Features/14MarkdownExample/index.html +++ b/docs/Output/Html/Features/14MarkdownExample/index.html @@ -298,9 +298,9 @@

14 Markdown Example

diff --git a/docs/Output/Html/Features/15Pickles/InteractiveDHTMLView.html b/docs/Output/Html/Features/15Pickles/InteractiveDHTMLView.html index 3fc1ff742..b4004a526 100644 --- a/docs/Output/Html/Features/15Pickles/InteractiveDHTMLView.html +++ b/docs/Output/Html/Features/15Pickles/InteractiveDHTMLView.html @@ -278,9 +278,9 @@

Scenario with large data table

diff --git a/docs/Output/Html/Features/15Pickles/index.html b/docs/Output/Html/Features/15Pickles/index.html index aeedc6302..316655325 100644 --- a/docs/Output/Html/Features/15Pickles/index.html +++ b/docs/Output/Html/Features/15Pickles/index.html @@ -267,9 +267,9 @@

15 Pickles

diff --git a/docs/Output/Html/Features/Arithmetic.html b/docs/Output/Html/Features/Arithmetic.html index 6514089a3..e6e0a007f 100644 --- a/docs/Output/Html/Features/Arithmetic.html +++ b/docs/Output/Html/Features/Arithmetic.html @@ -350,9 +350,9 @@

Divide two numbers

diff --git a/docs/Output/Html/Features/Trigonometry.html b/docs/Output/Html/Features/Trigonometry.html index 27857f6c1..7543bf4bd 100644 --- a/docs/Output/Html/Features/Trigonometry.html +++ b/docs/Output/Html/Features/Trigonometry.html @@ -317,9 +317,9 @@

Tangent

diff --git a/docs/Output/Html/Features/Workflow/ClearingScreen.html b/docs/Output/Html/Features/Workflow/ClearingScreen.html index 2e3d533d8..9b9f6f305 100644 --- a/docs/Output/Html/Features/Workflow/ClearingScreen.html +++ b/docs/Output/Html/Features/Workflow/ClearingScreen.html @@ -281,9 +281,9 @@

Clear the screen

diff --git a/docs/Output/Html/Features/Workflow/index.html b/docs/Output/Html/Features/Workflow/index.html index d0184d180..c2704a58b 100644 --- a/docs/Output/Html/Features/Workflow/index.html +++ b/docs/Output/Html/Features/Workflow/index.html @@ -266,9 +266,9 @@

Workflow

diff --git a/docs/Output/Html/Features/index.html b/docs/Output/Html/Features/index.html index b4d97af04..7a2e8dd27 100644 --- a/docs/Output/Html/Features/index.html +++ b/docs/Output/Html/Features/index.html @@ -278,9 +278,9 @@

Features

diff --git a/docs/Output/Html/index.html b/docs/Output/Html/index.html index 48a05639e..8ed8ec290 100644 --- a/docs/Output/Html/index.html +++ b/docs/Output/Html/index.html @@ -256,9 +256,9 @@

Examples

    diff --git a/docs/Output/Html/pickles - Shortcut.lnk b/docs/Output/Html/pickles - Shortcut.lnk deleted file mode 100644 index a98152a31..000000000 Binary files a/docs/Output/Html/pickles - Shortcut.lnk and /dev/null differ diff --git a/docs/Output/Html/readme.html b/docs/Output/Html/readme.html index e3927834d..6cebb9f91 100644 --- a/docs/Output/Html/readme.html +++ b/docs/Output/Html/readme.html @@ -255,9 +255,9 @@

    In the Features-folders you'll find quite a large population of .feature files that you can use to test out pickles on.

    diff --git a/docs/Output/JSON/pickledFeatures.json b/docs/Output/JSON/pickledFeatures.json index 68b85168f..594414a8f 100644 --- a/docs/Output/JSON/pickledFeatures.json +++ b/docs/Output/JSON/pickledFeatures.json @@ -2056,25 +2056,7 @@ "WasExecuted": false, "WasSuccessful": false } - } - ], - "Result": { - "WasExecuted": false, - "WasSuccessful": false - }, - "Tags": [] - }, - "Result": { - "WasExecuted": false, - "WasSuccessful": false - } - }, - { - "RelativeFolder": "Features\\09CallingStepsFromSteps\\CallingStepsFromSteps.feature", - "Feature": { - "Name": "Calling Steps from StepDefinitions", - "Description": "In order to create steps of a higher abstraction \r\nAs a SpecFlow evangelist \r\nI want reuse other steps in my step definitions", - "FeatureElements": [ + }, { "Name": "Feature with multiple contexts", "Slug": "feature-with-multiple-contexts", @@ -2133,25 +2115,7 @@ "WasExecuted": false, "WasSuccessful": false } - } - ], - "Result": { - "WasExecuted": false, - "WasSuccessful": false - }, - "Tags": [] - }, - "Result": { - "WasExecuted": false, - "WasSuccessful": false - } - }, - { - "RelativeFolder": "Features\\10StepTransformation\\StepTransformation.feature", - "Feature": { - "Name": "Step Argument Transformations", - "Description": "In order to reduce the amount of code and repetitive tasks in my steps \r\nAs a SpecFlow evanglist \r\nI want to define reusable transformations for my step arguments", - "FeatureElements": [ + }, { "Name": "Feature with a dependent context", "Slug": "feature-with-a-dependent-context", @@ -2335,13 +2299,6 @@ "Name": "that", "StepComments": [], "AfterLastStepComments": [] - }, - { - "Keyword": "And", - "NativeKeyword": "And ", - "Name": "its sub-context is set", - "StepComments": [], - "AfterLastStepComments": [] } ], "Tags": [], @@ -2386,13 +2343,6 @@ "Name": "that: ", "StepComments": [], "AfterLastStepComments": [] - }, - { - "Keyword": "And", - "NativeKeyword": "And ", - "Name": "the context was created by the feature with a single context scenario", - "StepComments": [], - "AfterLastStepComments": [] } ], "Tags": [ @@ -2554,13 +2504,6 @@ "StepComments": [], "AfterLastStepComments": [] }, - { - "Keyword": "And", - "NativeKeyword": "And ", - "Name": "I have entered 70 into the calculator", - "StepComments": [], - "AfterLastStepComments": [] - }, { "Keyword": "When", "NativeKeyword": "When ", @@ -2576,9 +2519,7 @@ "AfterLastStepComments": [] } ], - "Tags": [ - "@nestedFolders" - ], + "Tags": [], "Result": { "WasExecuted": false, "WasSuccessful": false @@ -2648,25 +2589,7 @@ "WasExecuted": false, "WasSuccessful": false } - } - ], - "Result": { - "WasExecuted": false, - "WasSuccessful": false - }, - "Tags": [] - }, - "Result": { - "WasExecuted": false, - "WasSuccessful": false - } - }, - { - "RelativeFolder": "Features\\14MarkdownExample\\MarkdownExamples.feature", - "Feature": { - "Name": "Sample Markdown Feature", - "Description": "# Header 1\r\n\r\n## Header 2\r\n\r\n### Header 3\r\n\r\n#### Header 4\r\n\r\n##### Header 5\r\n\r\n###### Header 6\r\n\r\nThis is a *significant* word\r\n\r\n1. Ordered #1\r\n2. Ordered #2\r\n3. Ordered #3\r\n\r\n- Unordered #1\r\n- Unordered #2\r\n- Unordered #3\r\n\r\nHorizontal Rule:\r\n- - -\r\n\r\nTable example:\r\n\r\n| First Header | Second Header |\r\n| ------------- | ------------- |\r\n| Content Cell | Content Cell |\r\n| Content Cell | Content Cell |\r\n\r\n- - -\r\n\r\nIncluding a picture: ![](./image.png)", - "FeatureElements": [ + }, { "Name": "Subtract two numbers", "Slug": "subtract-two-numbers", @@ -2685,16 +2608,7 @@ "Name": "I have entered 70 into the calculator", "StepComments": [], "AfterLastStepComments": [] - } - ], - "Tags": [], - "Result": { - "WasExecuted": false, - "WasSuccessful": false - } - }, - { - "Examples": [ + }, { "Keyword": "When", "NativeKeyword": "When ", @@ -3160,7 +3074,7 @@ }, "Configuration": { "SutName": "Pickles", - "SutVersion": "2.11.1", - "GeneratedOn": "16 Dezember 2016 14:57:43" + "SutVersion": "2.12.0", + "GeneratedOn": "26 Jänner 2017 15:55:07" } } \ No newline at end of file diff --git a/docs/Output/Word/Pickles.docx b/docs/Output/Word/Pickles.docx index 89bb8fb8f..238d5e543 100644 Binary files a/docs/Output/Word/Pickles.docx and b/docs/Output/Word/Pickles.docx differ diff --git a/docs/Output/Word/features.docx b/docs/Output/Word/features.docx index 85f133ddb..f1e306d28 100644 Binary files a/docs/Output/Word/features.docx and b/docs/Output/Word/features.docx differ diff --git a/docs/index.html b/docs/index.html index 71adcec44..f74806efe 100644 --- a/docs/index.html +++ b/docs/index.html @@ -159,7 +159,7 @@

    Download

- If you prefer to download the .zip files, you can so from the Github release page. + If you prefer to download the .zip files, you can so from the Github release page.

+ + + + diff --git a/src/Pickles/Pickles.DocumentationBuilders.Cucumber.UnitTests/AutomationLayer/StepDefinitions.cs b/src/Pickles/Pickles.DocumentationBuilders.Cucumber.UnitTests/AutomationLayer/StepDefinitions.cs new file mode 100644 index 000000000..f9058704c --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Cucumber.UnitTests/AutomationLayer/StepDefinitions.cs @@ -0,0 +1,76 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright 2017 Dmitry Grekov +// Copyright 2012-present PicklesDoc team and community contributors +// +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// -------------------------------------------------------------------------------------------------------------------- + + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using TechTalk.SpecFlow; +using PicklesDoc.Pickles.DocumentationBuilders.Cucumber; +using PicklesDoc.Pickles.Test; +using PicklesDoc.Pickles.DataStructures; +using PicklesDoc.Pickles; +using System.IO; +using PicklesDoc.Pickles.DirectoryCrawler; +using Autofac; +using NFluent; + +namespace Pickles.DocumentationBuilders.Cucumber.UnitTests.AutomationLayer +{ + [Binding] + [Scope(Tag = "cucumber")] + public sealed class StepDefinitions : BaseFixture /* God object antipattern */ + { + private Tree nodes; + + [Given("I have this feature description")] + public void IHaveThisFeatureDescription(string featureDescription) + { + var configuration = this.Configuration; + FeatureParser parser = new FeatureParser(this.FileSystem, configuration); + + var feature = parser.Parse(new StringReader(featureDescription)); + + this.nodes = new Tree(new FeatureNode(this.FileSystem.DirectoryInfo.FromDirectoryName(@"c:\output\"), string.Empty, feature)); + } + + [When(@"I generate the documentation")] + public void WhenIGenerateTheJsonDocumentation() + { + var configuration = this.Configuration; + configuration.OutputFolder = this.FileSystem.DirectoryInfo.FromDirectoryName(@"c:\output\"); + var jsonDocumentationBuilder = this.Container.Resolve(); + + jsonDocumentationBuilder.Build(this.nodes); + } + + [Then("the JSON file should contain")] + public void ThenTheResultShouldBe(string expectedResult) + { + var actualResult = this.FileSystem.File.ReadAllText(@"c:\output\cucumberResult.json"); + + //standardize newlines across various environments + actualResult = actualResult.Replace("\r\n", "\n"); + expectedResult = expectedResult.Replace("\r\n", "\n"); + Check.That(actualResult).Contains(expectedResult); + } + } +} diff --git a/src/Pickles/Pickles.DocumentationBuilders.Cucumber.UnitTests/FormattingAFeature.feature b/src/Pickles/Pickles.DocumentationBuilders.Cucumber.UnitTests/FormattingAFeature.feature new file mode 100644 index 000000000..e2fb05b60 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Cucumber.UnitTests/FormattingAFeature.feature @@ -0,0 +1,165 @@ +Feature: Formatting A Feature + +@cucumber +Scenario: A simple feature + + Given I have this feature description + """ + Feature: Clearing Screen + In order to restart a new set of calculations + As a math idiot + I want to be able to clear the screen + + @workflow @slow + Scenario: Clear the screen + Given I have entered 50 into the calculator + And I have entered 70 into the calculator + When I press C + Then the screen should be empty + """ + When I generate the documentation + Then the JSON file should contain +""" +[ + { + "keyword": "Feature", + "name": "Clearing Screen", + "tags": [], + "line": 1, + "elements": [ + { + "keyword": "Scenario", + "name": "Clear the screen", + "line": 7, + "type": "scenario", + "tags": [ + { + "name": "@workflow" + }, + { + "name": "@slow" + } + ], + "steps": [ + { + "keyword": "Given", + "name": "I have entered 50 into the calculator", + "line": 8, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "And", + "name": "I have entered 70 into the calculator", + "line": 9, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I press C", + "line": 10, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the screen should be empty", + "line": 11, + "result": { + "status": "inconclusive", + "duration": 1 + } + } +""" + +@cucumber +Scenario: A feature with a table + + Given I have this feature description + """ + Feature: Interactive DHTML View + In order to increase stakeholder engagement with pickled specs + As a SpecFlow evangelist + I want to adjust the level of detail in the DHTML view to suit my audience + So that I do not overwhelm them. + + Scenario: Scenario with large data table + Given a feature with a large table of data: + | heading | page # | + | Chapter 1 | 1 | + | Chapter 2 | 5 | + | Chapter 3 | 10 | + | Chapter 4 | 15 | + | Chapter 5 | 20 | + | Chapter 6 | 25 | + | Chapter 7 | 30 | + | Chapter 8 | 35 | + | Chapter 9 | 40 | + | Chapter 10 | 45 | + | Chapter 11 | 50 | + | Chapter 12 | 55 | + | Chapter 13 | 60 | + | Chapter 14 | 65 | + | Chapter 15 | 70 | + | Chapter 16 | 75 | + | Chapter 17 | 80 | + | Chapter 18 | 85 | + | Chapter 19 | 90 | + | Chapter 20 | 95 | + | Chapter 21 | 100 | + | Chapter 22 | 105 | + When I click on the table heading + Then the table body should collapse + """ + When I generate the documentation + Then the JSON file should contain +""" +[ + { + "keyword": "Feature", + "name": "Interactive DHTML View", + "tags": [], + "line": 1, + "elements": [ + { + "keyword": "Scenario", + "name": "Scenario with large data table", + "line": 7, + "type": "scenario", + "tags": [], + "steps": [ + { + "keyword": "Given", + "name": "a feature with a large table of data:", + "line": 8, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "When", + "name": "I click on the table heading", + "line": 32, + "result": { + "status": "inconclusive", + "duration": 1 + } + }, + { + "keyword": "Then", + "name": "the table body should collapse", + "line": 33, + "result": { + "status": "inconclusive", + "duration": 1 + } + } +""" \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Cucumber.UnitTests/FormattingAFeature.feature.cs b/src/Pickles/Pickles.DocumentationBuilders.Cucumber.UnitTests/FormattingAFeature.feature.cs new file mode 100644 index 000000000..a4590f89f --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Cucumber.UnitTests/FormattingAFeature.feature.cs @@ -0,0 +1,248 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:2.1.0.0 +// SpecFlow Generator Version:2.0.0.0 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace PicklesDoc.Pickles.DocumentationBuilders.Cucumber.UnitTests +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "2.1.0.0")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [NUnit.Framework.TestFixtureAttribute()] + [NUnit.Framework.DescriptionAttribute("Formatting A Feature")] + public partial class FormattingAFeatureFeature + { + + private TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "FormattingAFeature.feature" +#line hidden + + [NUnit.Framework.TestFixtureSetUpAttribute()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Formatting A Feature", null, ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [NUnit.Framework.TestFixtureTearDownAttribute()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [NUnit.Framework.SetUpAttribute()] + public virtual void TestInitialize() + { + } + + [NUnit.Framework.TearDownAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("A simple feature")] + [NUnit.Framework.CategoryAttribute("cucumber")] + public virtual void ASimpleFeature() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("A simple feature", new string[] { + "cucumber"}); +#line 4 +this.ScenarioSetup(scenarioInfo); +#line hidden +#line 6 + testRunner.Given("I have this feature description", @"Feature: Clearing Screen + In order to restart a new set of calculations + As a math idiot + I want to be able to clear the screen + +@workflow @slow +Scenario: Clear the screen + Given I have entered 50 into the calculator + And I have entered 70 into the calculator + When I press C + Then the screen should be empty", ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 20 + testRunner.When("I generate the documentation", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden +#line 21 + testRunner.Then("the JSON file should contain", @"[ + { + ""keyword"": ""Feature"", + ""name"": ""Clearing Screen"", + ""tags"": [], + ""line"": 1, + ""elements"": [ + { + ""keyword"": ""Scenario"", + ""name"": ""Clear the screen"", + ""line"": 7, + ""type"": ""scenario"", + ""tags"": [ + { + ""name"": ""@workflow"" + }, + { + ""name"": ""@slow"" + } + ], + ""steps"": [ + { + ""keyword"": ""Given"", + ""name"": ""I have entered 50 into the calculator"", + ""line"": 8, + ""result"": { + ""status"": ""inconclusive"", + ""duration"": 1 + } + }, + { + ""keyword"": ""And"", + ""name"": ""I have entered 70 into the calculator"", + ""line"": 9, + ""result"": { + ""status"": ""inconclusive"", + ""duration"": 1 + } + }, + { + ""keyword"": ""When"", + ""name"": ""I press C"", + ""line"": 10, + ""result"": { + ""status"": ""inconclusive"", + ""duration"": 1 + } + }, + { + ""keyword"": ""Then"", + ""name"": ""the screen should be empty"", + ""line"": 11, + ""result"": { + ""status"": ""inconclusive"", + ""duration"": 1 + } + }", ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("A feature with a table")] + [NUnit.Framework.CategoryAttribute("cucumber")] + public virtual void AFeatureWithATable() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("A feature with a table", new string[] { + "cucumber"}); +#line 83 +this.ScenarioSetup(scenarioInfo); +#line hidden +#line 85 + testRunner.Given("I have this feature description", @"Feature: Interactive DHTML View + In order to increase stakeholder engagement with pickled specs + As a SpecFlow evangelist + I want to adjust the level of detail in the DHTML view to suit my audience + So that I do not overwhelm them. + +Scenario: Scenario with large data table + Given a feature with a large table of data: + | heading | page # | + | Chapter 1 | 1 | + | Chapter 2 | 5 | + | Chapter 3 | 10 | + | Chapter 4 | 15 | + | Chapter 5 | 20 | + | Chapter 6 | 25 | + | Chapter 7 | 30 | + | Chapter 8 | 35 | + | Chapter 9 | 40 | + | Chapter 10 | 45 | + | Chapter 11 | 50 | + | Chapter 12 | 55 | + | Chapter 13 | 60 | + | Chapter 14 | 65 | + | Chapter 15 | 70 | + | Chapter 16 | 75 | + | Chapter 17 | 80 | + | Chapter 18 | 85 | + | Chapter 19 | 90 | + | Chapter 20 | 95 | + | Chapter 21 | 100 | + | Chapter 22 | 105 | + When I click on the table heading + Then the table body should collapse", ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 121 + testRunner.When("I generate the documentation", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden +#line 122 + testRunner.Then("the JSON file should contain", @"[ + { + ""keyword"": ""Feature"", + ""name"": ""Interactive DHTML View"", + ""tags"": [], + ""line"": 1, + ""elements"": [ + { + ""keyword"": ""Scenario"", + ""name"": ""Scenario with large data table"", + ""line"": 7, + ""type"": ""scenario"", + ""tags"": [], + ""steps"": [ + { + ""keyword"": ""Given"", + ""name"": ""a feature with a large table of data:"", + ""line"": 8, + ""result"": { + ""status"": ""inconclusive"", + ""duration"": 1 + } + }, + { + ""keyword"": ""When"", + ""name"": ""I click on the table heading"", + ""line"": 32, + ""result"": { + ""status"": ""inconclusive"", + ""duration"": 1 + } + }, + { + ""keyword"": ""Then"", + ""name"": ""the table body should collapse"", + ""line"": 33, + ""result"": { + ""status"": ""inconclusive"", + ""duration"": 1 + } + }", ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + } +} +#pragma warning restore +#endregion diff --git a/src/Pickles/Pickles.DocumentationBuilders.Cucumber.UnitTests/Pickles.DocumentationBuilders.Cucumber.UnitTests.csproj b/src/Pickles/Pickles.DocumentationBuilders.Cucumber.UnitTests/Pickles.DocumentationBuilders.Cucumber.UnitTests.csproj new file mode 100644 index 000000000..9eee54270 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Cucumber.UnitTests/Pickles.DocumentationBuilders.Cucumber.UnitTests.csproj @@ -0,0 +1,143 @@ + + + + Debug + AnyCPU + {4C0CDA28-8C6A-4F14-B2C6-D1873DE66641} + Library + Properties + PicklesDoc.Pickles.DocumentationBuilders.Cucumber.UnitTests + PicklesDoc.Pickles.DocumentationBuilders.Cucumber.UnitTests + v4.5 + 512 + {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 10.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages + False + UnitTest + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\Autofac.4.2.1\lib\net45\Autofac.dll + True + + + ..\packages\NFluent.1.3.1.0\lib\net40\NFluent.dll + True + + + ..\packages\NUnit.3.5.0\lib\net45\nunit.framework.dll + True + + + + ..\packages\System.IO.Abstractions.2.0.0.138\lib\net40\System.IO.Abstractions.dll + True + + + ..\packages\System.IO.Abstractions.TestingHelpers.2.0.0.138\lib\net40\System.IO.Abstractions.TestingHelpers.dll + True + + + ..\packages\SpecFlow.2.1.0\lib\net45\TechTalk.SpecFlow.dll + True + + + + + + + + + + + + + + + + + + True + True + FormattingAFeature.feature + + + + + + + SpecFlowSingleFileGenerator + FormattingAFeature.feature.cs + + + + + + {f69aac03-a2a6-4b3f-a4ef-accb145c64ad} + Pickles.DocumentationBuilders.Cucumber + + + {55382AFC-E050-4DF7-AA4F-0ABA71E2E169} + Pickles.ObjectModel + + + {599bcf0c-8fb4-4727-a902-160c4e7d8fb0} + Pickles.TestFrameworks + + + {8BD9FCD2-7ED5-46B5-B6A4-7FA3775E159F} + Pickles.Test + + + {38BAD6E0-78AB-4AC3-91A8-BF72AF5EE394} + Pickles + + + + + + + False + + + False + + + False + + + False + + + + + + + + \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Cucumber.UnitTests/Properties/AssemblyInfo.cs b/src/Pickles/Pickles.DocumentationBuilders.Cucumber.UnitTests/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..45549a883 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Cucumber.UnitTests/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Pickles.DocumentationBuilders.Cucumber.UnitTests")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Pickles.DocumentationBuilders.Cucumber.UnitTests")] +[assembly: AssemblyCopyright("Copyright © 2017")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("4c0cda28-8c6a-4f14-b2c6-d1873de66641")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/src/Pickles/Pickles.DocumentationBuilders.Cucumber.UnitTests/packages.config b/src/Pickles/Pickles.DocumentationBuilders.Cucumber.UnitTests/packages.config new file mode 100644 index 000000000..0b57a2b48 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Cucumber.UnitTests/packages.config @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Cucumber/CucumberDocumentationBuilder.cs b/src/Pickles/Pickles.DocumentationBuilders.Cucumber/CucumberDocumentationBuilder.cs new file mode 100644 index 000000000..54e848692 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Cucumber/CucumberDocumentationBuilder.cs @@ -0,0 +1,128 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright 2017 Dmitry Grekov +// Copyright 2012-present PicklesDoc team and community contributors +// +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// -------------------------------------------------------------------------------------------------------------------- + +using System.Collections.Generic; +using System.IO; +using System.IO.Abstractions; +using System.Reflection; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using NLog; +using PicklesDoc.Pickles.DirectoryCrawler; +using PicklesDoc.Pickles.ObjectModel; + +namespace PicklesDoc.Pickles.DocumentationBuilders.Cucumber +{ + using Pickles; + using DocumentationBuilders; + using System.Linq; + using DataStructures; + + public class CucumberDocumentationBuilder : IDocumentationBuilder + { + public const string CucumberFileName = @"cucumberResult.json"; + + private static readonly Logger Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType?.Name); + private readonly IConfiguration configuration; + private readonly IFileSystem fileSystem; + + + public string OutputFilePath => this.fileSystem.Path.Combine(this.configuration.OutputFolder.FullName, CucumberFileName); + + public CucumberDocumentationBuilder(IConfiguration configuration, IFileSystem fileSystem) + { + this.configuration = configuration; + this.fileSystem = fileSystem; + } + + public void Build(Tree features) + { + if (Log.IsInfoEnabled) + { + Log.Info("Writing Cucumber to {0}", this.configuration.OutputFolder.FullName); + } + + List featuresToFormat = new List(); + + foreach (var node in features) + { + var featureTreeNode = node as FeatureNode; + if (featureTreeNode != null) + { + featuresToFormat.Add(featureTreeNode.Feature); + } + } + + CreateFile(OutputFilePath, GenerateJson(featuresToFormat)); + } + + private string GenerateJson(List features) + { + var toOutPut = features.Select(f => new + { + keyword = "Feature", + name = f.Name, + tags = f.Tags.Select(t => new { name = t }), + line = 1, + elements = f.FeatureElements.Select(fe => + new + { + keyword = fe is Scenario ? "Scenario" : "Scenario Outline", + name = fe.Name, + line = fe.Location.Line, + type = fe is Scenario ? "scenario" : "scenario_outline", + tags = fe.Tags.Select(t => new { name = t }), + steps = fe.Steps.Select(s => new + { + keyword = s.Keyword, + name = s.Name, + line = s.Location.Line, + result = new + { + status = fe.Result.ToString().ToLowerInvariant(), + duration = 1 + } + }) + } + ), + + }); + + + JsonSerializerSettings settings = new JsonSerializerSettings + { + ReferenceLoopHandling = ReferenceLoopHandling.Ignore, + NullValueHandling = NullValueHandling.Ignore, + Converters = new List { new StringEnumConverter() } + }; + + return JsonConvert.SerializeObject(toOutPut, Formatting.Indented, settings); + } + + private void CreateFile(string outputFolderName, string jsonToWrite) + { + using (StreamWriter writer = this.fileSystem.File.CreateText(outputFolderName)) + { + writer.Write(jsonToWrite); + writer.Close(); + } + } + } +} diff --git a/src/Pickles/Pickles.DocumentationBuilders.Cucumber/Pickles.DocumentationBuilders.Cucumber.csproj b/src/Pickles/Pickles.DocumentationBuilders.Cucumber/Pickles.DocumentationBuilders.Cucumber.csproj new file mode 100644 index 000000000..dd809020f --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Cucumber/Pickles.DocumentationBuilders.Cucumber.csproj @@ -0,0 +1,83 @@ + + + + + Debug + AnyCPU + {F69AAC03-A2A6-4B3F-A4EF-ACCB145C64AD} + Library + Properties + PicklesDoc.Pickles.DocumentationBuilders.Cucumber + PicklesDoc.Pickles.DocumentationBuilders.Cucumber + v4.5 + 512 + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\Autofac.4.2.1\lib\net45\Autofac.dll + True + + + ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll + True + + + ..\packages\NLog.4.3.11\lib\net45\NLog.dll + True + + + + + ..\packages\System.IO.Abstractions.2.0.0.138\lib\net40\System.IO.Abstractions.dll + True + + + + + + + + + + + VersionInfo.cs + + + + + + + + + + {55382afc-e050-4df7-aa4f-0aba71e2e169} + Pickles.ObjectModel + + + + + \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Cucumber/Properties/AssemblyInfo.cs b/src/Pickles/Pickles.DocumentationBuilders.Cucumber/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..90843630e --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Cucumber/Properties/AssemblyInfo.cs @@ -0,0 +1,7 @@ +using System.Reflection; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Pickles.DocumentationBuilders.Cucumber")] +[assembly: AssemblyDescription("A Pickles output formatter that outputs Cucmber JSON documents")] \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Cucumber/packages.config b/src/Pickles/Pickles.DocumentationBuilders.Cucumber/packages.config new file mode 100644 index 000000000..a03a64eae --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Cucumber/packages.config @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Dhtml.UnitTests/Pickles.DocumentationBuilders.Dhtml.UnitTests.csproj b/src/Pickles/Pickles.DocumentationBuilders.Dhtml.UnitTests/Pickles.DocumentationBuilders.Dhtml.UnitTests.csproj index f80b52173..b53873c13 100644 --- a/src/Pickles/Pickles.DocumentationBuilders.Dhtml.UnitTests/Pickles.DocumentationBuilders.Dhtml.UnitTests.csproj +++ b/src/Pickles/Pickles.DocumentationBuilders.Dhtml.UnitTests/Pickles.DocumentationBuilders.Dhtml.UnitTests.csproj @@ -87,6 +87,9 @@ + + +