diff --git a/.gitignore b/.gitignore index 6780768b2..58c1435cb 100644 --- a/.gitignore +++ b/.gitignore @@ -97,3 +97,4 @@ node_modules/ #include output docs !docs/Output/ +src/Pickles/.vs/config/applicationhost.config diff --git a/CHANGELOG.md b/CHANGELOG.md index faef42fc1..2b41a831a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,13 @@ 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.10.0] - 2016-10-22 + +### Changed + +- Enable Pickles to with cultures in the language setting ([308](https://github.com/picklesdoc/pickles/pull/308)) (by [@dirkrombauts](https://github.com/dirkrombauts)) +- Improve Markdown Parsing to Reduce Unintended Block Quotes ([302](https://github.com/picklesdoc/pickles/pull/302)) (by [@dirkrombauts](https://github.com/dirkrombauts)) + ## [2.9.0] - 2016-10-07 ### Changed diff --git a/DeployArtifacts.cmd b/DeployArtifacts.cmd index aae3b8997..aad36f1f7 100644 --- a/DeployArtifacts.cmd +++ b/DeployArtifacts.cmd @@ -1,4 +1,4 @@ @ECHO OFF -call DeployOutput.cmd %1 +REM call DeployOutput.cmd %1 call DeployToChocolatey.cmd %1 call DeployToNuget.cmd %1 diff --git a/build.bat b/build.bat index 977b1bb76..50d4fe636 100644 --- a/build.bat +++ b/build.bat @@ -1,5 +1,5 @@ @echo off -set "picklesVersion=2.9.0" +set "picklesVersion=2.10.0" cls diff --git a/build.fsx b/build.fsx index 4baf7c332..ca05843fd 100644 --- a/build.fsx +++ b/build.fsx @@ -69,6 +69,36 @@ Target "BuildTest.TestFrameworks" (fun _ -> |> Log "AppBuild-Output: " ) +Target "BuildTest.DocumentationBuilders.Dhtml" (fun _ -> + !! "src/Pickles/Pickles.DocumentationBuilders.Dhtml.UnitTests/Pickles.DocumentationBuilders.Dhtml.UnitTests.csproj" + |> MSBuildRelease testDir "Build" + |> Log "AppBuild-Output: " +) + +Target "BuildTest.DocumentationBuilders.Excel" (fun _ -> + !! "src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/Pickles.DocumentationBuilders.Excel.UnitTests.csproj" + |> MSBuildRelease testDir "Build" + |> Log "AppBuild-Output: " +) + +Target "BuildTest.DocumentationBuilders.Html" (fun _ -> + !! "src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/Pickles.DocumentationBuilders.Html.UnitTests.csproj" + |> MSBuildRelease testDir "Build" + |> Log "AppBuild-Output: " +) + +Target "BuildTest.DocumentationBuilders.Json" (fun _ -> + !! "src/Pickles/Pickles.DocumentationBuilders.Json.UnitTests/Pickles.DocumentationBuilders.Json.UnitTests.csproj" + |> MSBuildRelease testDir "Build" + |> Log "AppBuild-Output: " +) + +Target "BuildTest.DocumentationBuilders.Word" (fun _ -> + !! "src/Pickles/Pickles.DocumentationBuilders.Word.UnitTests/Pickles.DocumentationBuilders.Word.UnitTests.csproj" + |> MSBuildRelease testDir "Build" + |> Log "AppBuild-Output: " +) + let createZip (packageType : string) = !! (buildDir + "/" + packageType + "/*.*") -- "*.zip" |> Zip (buildDir + packageType) (deployDir + "Pickles-" + packageType + "-" + version + ".zip") @@ -94,6 +124,11 @@ Target "Default" (fun _ -> ==> "BuildGui" ==> "BuildTest" ==> "BuildTest.TestFrameworks" + ==> "BuildTest.DocumentationBuilders.Dhtml" + ==> "BuildTest.DocumentationBuilders.Excel" + ==> "BuildTest.DocumentationBuilders.Html" + ==> "BuildTest.DocumentationBuilders.Json" + ==> "BuildTest.DocumentationBuilders.Word" ==> "Zip" ==> "Default" diff --git a/chocolatey.fsx b/chocolatey.fsx index f1a2ab5a6..dd1dc302e 100644 --- a/chocolatey.fsx +++ b/chocolatey.fsx @@ -30,6 +30,11 @@ Target "CreatePackage CMD" (fun _ -> cmdDir + "PicklesDoc.Pickles.Library.dll"; cmdDir + "PicklesDoc.Pickles.ObjectModel.dll"; cmdDir + "PicklesDoc.Pickles.TestFrameworks.dll"; + cmdDir + "PicklesDoc.Pickles.DocumentationBuilders.Word.dll"; + cmdDir + "PicklesDoc.Pickles.DocumentationBuilders.Excel.dll"; + cmdDir + "PicklesDoc.Pickles.DocumentationBuilders.Json.dll"; + cmdDir + "PicklesDoc.Pickles.DocumentationBuilders.Html.dll"; + cmdDir + "PicklesDoc.Pickles.DocumentationBuilders.Dhtml.dll"; cmdDir + "System.IO.Abstractions.dll"; cmdDir + "FeatureSwitcher.dll"; cmdDir + "Strike.Jint.dll"; @@ -68,6 +73,11 @@ Target "CreatePackage GUI" (fun _ -> guiDir + "PicklesDoc.Pickles.Library.dll"; guiDir + "PicklesDoc.Pickles.ObjectModel.dll"; guiDir + "PicklesDoc.Pickles.TestFrameworks.dll"; + guiDir + "PicklesDoc.Pickles.DocumentationBuilders.Word.dll"; + guiDir + "PicklesDoc.Pickles.DocumentationBuilders.Excel.dll"; + guiDir + "PicklesDoc.Pickles.DocumentationBuilders.Json.dll"; + guiDir + "PicklesDoc.Pickles.DocumentationBuilders.Html.dll"; + guiDir + "PicklesDoc.Pickles.DocumentationBuilders.Dhtml.dll"; guiDir + "System.IO.Abstractions.dll"; guiDir + "FeatureSwitcher.dll"; guiDir + "Strike.Jint.dll"; diff --git a/chocolatey/pickles.nuspec b/chocolatey/pickles.nuspec index fe3b75be7..cf241ad87 100644 --- a/chocolatey/pickles.nuspec +++ b/chocolatey/pickles.nuspec @@ -47,6 +47,11 @@ Optionally, *Pickles* can **integrate test results**, so that your stakeholders + + + + + diff --git a/chocolatey/picklesui.nuspec b/chocolatey/picklesui.nuspec index 4d77ba2f2..a6e498e53 100644 --- a/chocolatey/picklesui.nuspec +++ b/chocolatey/picklesui.nuspec @@ -54,6 +54,11 @@ Optionally, *Pickles* can **integrate test results**, so that your stakeholders + + + + + diff --git a/docs/Output/Dhtml/pickledFeatures.js b/docs/Output/Dhtml/pickledFeatures.js index 6f1e0392d..38dd41e29 100644 --- a/docs/Output/Dhtml/pickledFeatures.js +++ b/docs/Output/Dhtml/pickledFeatures.js @@ -4,7 +4,7 @@ jsonPWrapper ({ "RelativeFolder": "Features\\00BasicGherkin\\BasicGherkin.feature", "Feature": { "Name": "Showing basic gherkin syntax", - "Description": "In order to see that gherkin is a very simple language\r\nAs a SpecFlow evangelist\r\nI want to show that basic syntax\r\n\r\n![Test Image](test.jpg)", + "Description": "In order to see that gherkin is a very simple language \r\nAs a SpecFlow evangelist \r\nI want to show that basic syntax\r\n\r\n![Test Image](test.jpg)", "FeatureElements": [ { "Name": "Simple GWT", @@ -109,7 +109,7 @@ jsonPWrapper ({ "RelativeFolder": "Features\\01TestRunner\\TestRunnerIsNotImportant.feature", "Feature": { "Name": "The test runner is not (very) important", - "Description": "\tIn order to show that the test runner is just for the autogenerated stuff in SpecFlow \r\n\tAs a SpecFlow evanglist \r\n\tI want to be able to call my steps in the same manner inspite of the testrunner configured ", + "Description": "In order to show that the test runner is just for the autogenerated stuff in SpecFlow \r\nAs a SpecFlow evanglist \r\nI want to be able to call my steps in the same manner inspite of the testrunner configured", "FeatureElements": [ { "Name": "A couple of simple steps", @@ -160,7 +160,7 @@ jsonPWrapper ({ "RelativeFolder": "Features\\02TagsAndHooks\\Hooks.feature", "Feature": { "Name": "Addition", - "Description": "\tIn order to explain the order in which hooks are run\r\n\tAs a SpecFlow evanglist\r\n\tI wan to be able to hook into pre and post conditions in SpecFlow", + "Description": "In order to explain the order in which hooks are run \r\nAs a SpecFlow evanglist \r\nI wan to be able to hook into pre and post conditions in SpecFlow", "FeatureElements": [ { "Name": "Hooking into pre conditions for Test Runs in SpecFlow", @@ -308,7 +308,7 @@ jsonPWrapper ({ "RelativeFolder": "Features\\02TagsAndHooks\\TagDemo.feature", "Feature": { "Name": "Tag demonstrator", - "Description": "\tIn order to show the capabilities of tags in SpecFlow\r\n\tAs a SpecFlow evanglist\r\n\tI want to write scenarios that has tags and show their usage in code", + "Description": "In order to show the capabilities of tags in SpecFlow \r\nAs a SpecFlow evanglist \r\nI want to write scenarios that has tags and show their usage in code", "FeatureElements": [ { "Name": "Ignored scenario", @@ -512,7 +512,7 @@ jsonPWrapper ({ "RelativeFolder": "Features\\03ScenarioOutline\\ScenarioOutline.feature", "Feature": { "Name": "Scenario outline", - "Description": "\tIn order to not have to type the same scenario over and over\r\n\tAs a SpecFlow evangelist\r\n\tI want to show how to use ScenarioOutline", + "Description": "In order to not have to type the same scenario over and over \r\nAs a SpecFlow evangelist \r\nI want to show how to use ScenarioOutline", "FeatureElements": [ { "Examples": [ @@ -716,7 +716,7 @@ jsonPWrapper ({ "RelativeFolder": "Features\\031ScenarioContext\\ScenarioContext.feature", "Feature": { "Name": "Scenario Context features", - "Description": "\tIn order to show how to use ScenarioContext\r\n\tAs a SpecFlow evangelist\r\n\tI want to write some simple scenarios with data in ScenarioContext", + "Description": "In order to show how to use ScenarioContext \r\nAs a SpecFlow evangelist \r\nI want to write some simple scenarios with data in ScenarioContext", "FeatureElements": [ { "Name": "Store and retrive Person Marcus from ScenarioContext", @@ -900,7 +900,7 @@ jsonPWrapper ({ "RelativeFolder": "Features\\032FeatureContext\\FeatureContextFeatures.feature", "Feature": { "Name": "FeatureContext features", - "Description": "\tIn order to show how to use FeatureContext\r\n\tAs a SpecFlow evangelist\r\n\tI want to write some simple scenarios with data in FeatureContext", + "Description": "In order to show how to use FeatureContext \r\nAs a SpecFlow evangelist \r\nI want to write some simple scenarios with data in FeatureContext", "FeatureElements": [ { "Name": "Store and retrive Person Marcus from FeatureContext Current", @@ -1001,7 +1001,7 @@ jsonPWrapper ({ "RelativeFolder": "Features\\04Background\\BackgroundFeature.feature", "Feature": { "Name": "Show the use of background", - "Description": "\tIn order to show how to use the Background keyword of Gherkin\r\n\tAs a SpecFlow evanglist\r\n\tI want to show that background steps are called before any scenario step", + "Description": "In order to show how to use the Background keyword of Gherkin \r\nAs a SpecFlow evanglist \r\nI want to show that background steps are called before any scenario step", "FeatureElements": [ { "Name": "Add 1 to the sum", @@ -1096,7 +1096,7 @@ jsonPWrapper ({ "RelativeFolder": "Features\\05TablesAndAssist\\TableScenario.feature", "Feature": { "Name": "Showing table usage", - "Description": "\tIn order to show how to use tables\r\n\tAs a SpecFlow evanglist\r\n\tI want to write some simple scenarios that uses tables tables", + "Description": "In order to show how to use tables \r\nAs a SpecFlow evanglist \r\nI want to write some simple scenarios that uses tables tables", "FeatureElements": [ { "Name": "Using tables", @@ -1425,7 +1425,7 @@ jsonPWrapper ({ "RelativeFolder": "Features\\06CompareToAssist\\CompareTo.feature", "Feature": { "Name": "Show the compare to feature", - "Description": "\tIn order to show the compare to features of SpecFlow Assist\r\n\tAs a SpecFlow evanglist\r\n\tI want to show how the different versions of compareTo works", + "Description": "In order to show the compare to features of SpecFlow Assist \r\nAs a SpecFlow evanglist \r\nI want to show how the different versions of compareTo works", "FeatureElements": [ { "Name": "CompareToInstance", @@ -1663,10 +1663,10 @@ jsonPWrapper ({ } }, { - "RelativeFolder": "Features\\07Svenska\\Svenska.feature", + "RelativeFolder": "Features\\07Localization\\Svenska.feature", "Feature": { - "Name": "Summering", - "Description": "\tFör att slippa att göra dumma fel\r\n\tSom räknare\r\n\tVill jag kunna lägga summera", + "Name": "Svenska - Summering", + "Description": "För att slippa att göra dumma fel \r\nSom räknare \r\nVill jag kunna lägga summera", "FeatureElements": [ { "Name": "Summera 5 och 7 ska vara 12", @@ -1720,11 +1720,90 @@ jsonPWrapper ({ "WasSuccessful": false } }, + { + "RelativeFolder": "Features\\07Localization\\Vlaams.feature", + "Feature": { + "Name": "Test de Cultuur in het Vlaams", + "Description": "", + "FeatureElements": [ + { + "Name": "Het Scenario", + "Slug": "het-scenario", + "Description": "", + "Steps": [ + { + "Keyword": "Given", + "NativeKeyword": "Stel ", + "Name": "dat ik 50 ingeef", + "StepComments": [], + "AfterLastStepComments": [] + }, + { + "Keyword": "And", + "NativeKeyword": "En ", + "Name": "dat ik 70 ingeef", + "StepComments": [], + "AfterLastStepComments": [] + }, + { + "Keyword": "And", + "NativeKeyword": "And ", + "Name": "also this step", + "StepComments": [], + "AfterLastStepComments": [] + }, + { + "Keyword": "When", + "NativeKeyword": "Als ", + "Name": "ik plus druk", + "StepComments": [], + "AfterLastStepComments": [] + }, + { + "Keyword": "Then", + "NativeKeyword": "Dan ", + "Name": "moet het resultaat 120 zijn", + "StepComments": [], + "AfterLastStepComments": [] + }, + { + "Keyword": "And", + "NativeKeyword": "And ", + "Name": "that the number 4 is even", + "StepComments": [], + "AfterLastStepComments": [] + }, + { + "Keyword": "But", + "NativeKeyword": "But ", + "Name": "the number 3 is odd", + "StepComments": [], + "AfterLastStepComments": [] + } + ], + "Tags": [], + "Result": { + "WasExecuted": false, + "WasSuccessful": false + } + } + ], + "Result": { + "WasExecuted": false, + "WasSuccessful": false + }, + "Tags": [] + }, + "Result": { + "WasExecuted": false, + "WasSuccessful": false + } + }, { "RelativeFolder": "Features\\08AttributeOverloading\\AttributeOverloading.feature", "Feature": { "Name": "Attribute overloading", - "Description": "\tIn order to show that steps can be used with multiple attributes\r\n\tAs a SpecFlow Evangelist\r\n\tI want to show that similar attributes can be applied to the same step definition", + "Description": "In order to show that steps can be used with multiple attributes \r\nAs a SpecFlow Evangelist \r\nI want to show that similar attributes can be applied to the same step definition", "FeatureElements": [ { "Name": "Checking number for evenness", @@ -1803,7 +1882,7 @@ jsonPWrapper ({ "RelativeFolder": "Features\\09CallingStepsFromSteps\\CallingStepsFromSteps.feature", "Feature": { "Name": "Calling Steps from StepDefinitions", - "Description": "\tIn order to create steps of a higher abstraction\r\n\tAs a SpecFlow evangelist\r\n\tI want reuse other steps in my step definitions", + "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": "Log in", @@ -1894,7 +1973,7 @@ jsonPWrapper ({ "RelativeFolder": "Features\\10StepTransformation\\StepTransformation.feature", "Feature": { "Name": "Step Argument Transformations", - "Description": "\tIn order to reduce the amount of code and repetitive tasks in my steps\r\n\tAs a SpecFlow evanglist\r\n\tI want to define reusable transformations for my step arguments", + "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": "Steps with non-string arguments", @@ -1945,7 +2024,7 @@ jsonPWrapper ({ "RelativeFolder": "Features\\11ContextInjection\\ContextInjection.feature", "Feature": { "Name": "Injecting context into step specifications", - "Description": "\tIn order to don't have to rely on the global shared state\r\n\t\tand to be able to define the contexts required for each scenario.\r\n\tAs a SpecFlow Evanglist\r\n\tI would like to have the system automatically inject an instance of any class as \r\n\t\tdefined in the constructor of a step file", + "Description": "In order to don't have to rely on the global shared state\r\nand to be able to define the contexts required for each scenario. \r\nAs a SpecFlow Evanglist \r\nI would like to have the system automatically inject an instance of any class as\r\ndefined in the constructor of a step file", "FeatureElements": [ { "Name": "Feature with no context", @@ -2107,7 +2186,7 @@ jsonPWrapper ({ "RelativeFolder": "Features\\12NestedFolders\\ChildFolder\\ChildChildFolder\\NestedFolderExample.feature", "Feature": { "Name": "Nested Folder Example", - "Description": "\tIn order to test nested folder output\r\n\tAs a silly contributer\r\n\tI want to create an example of something several folders deep", + "Description": "In order to test nested folder output \r\nAs a silly contributer \r\nI want to create an example of something several folders deep", "FeatureElements": [ { "Name": "Nested - Add two numbers", @@ -2167,7 +2246,7 @@ jsonPWrapper ({ "RelativeFolder": "Features\\13MultilineText\\MultilineFeatureExample.feature", "Feature": { "Name": "Multiline Feature Example", - "Description": "\tIn order capture this particular Gherkin feature\r\n\tAs a Pickles contributer\r\n\tI want to demonstrate an example of using multiline text in a Scenario", + "Description": "In order capture this particular Gherkin feature \r\nAs a Pickles contributer \r\nI want to demonstrate an example of using multiline text in a Scenario", "FeatureElements": [ { "Name": "Mutliline Output", @@ -2221,7 +2300,7 @@ jsonPWrapper ({ "RelativeFolder": "Features\\14MarkdownExample\\MarkdownExamples.feature", "Feature": { "Name": "Sample Markdown Feature", - "Description": "Header 1\r\n========\r\n\r\nHeader 2\r\n--------\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)", + "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": "Sample Markdown Scenario Example", @@ -2253,7 +2332,7 @@ jsonPWrapper ({ "Examples": [ { "Name": "", - "Description": "This __message__ is important too and is for an *Example* table.", + "Description": "\tThis __message__ is important too and is for an *Example* table.", "TableArgument": { "HeaderRow": [ "test", @@ -2336,7 +2415,7 @@ jsonPWrapper ({ "RelativeFolder": "Features\\15Pickles\\InteractiveDHTMLView.feature", "Feature": { "Name": "Interactive DHTML View", - "Description": "\tIn order to increase stakeholder engagement with pickled specs\r\n\tAs a SpecFlow evangelist \r\n\tI want to adjust the level of detail in the DHTML view to suit my audience\r\n\tSo that I do not overwhelm them.", + "Description": "In order to increase stakeholder engagement with pickled specs \r\nAs a SpecFlow evangelist \r\nI want to adjust the level of detail in the DHTML view to suite my audience \r\nSo that I do not overwhelm them.", "FeatureElements": [ { "Name": "Scenario with large data table", @@ -2483,7 +2562,7 @@ jsonPWrapper ({ "RelativeFolder": "Features\\Arithmetic.feature", "Feature": { "Name": "Arithmetic", - "Description": "In order to avoid silly mistakes\r\nAs a math idiot\r\nI want to be able to perform arithmetic on the calculator\r\n\r\nWhen $a \\ne 0$, there are two solutions to $\\(ax^2 + bx + c = 0\\)$ and they are\r\n$$x = {-b \\pm \\sqrt{b^2-4ac} \\over 2a}.$$", + "Description": "In order to avoid silly mistakes \r\nAs a math idiot \r\nI want to be able to perform arithmetic on the calculator\r\n\r\nWhen $a \\ne 0$, there are two solutions to $\\(ax^2 + bx + c = 0\\)$ and they are\r\n$$x = {-b \\pm \\sqrt{b^2-4ac} \\over 2a}.$$", "FeatureElements": [ { "Name": "Add two numbers", @@ -2677,7 +2756,7 @@ jsonPWrapper ({ "RelativeFolder": "Features\\Trigonometry.feature", "Feature": { "Name": "Trigonometry", - "Description": "\tIn order to avoid perform more advanced calculations\r\n\tAs a math idiot\r\n\tI want to be able to use trigonometric functions", + "Description": "In order to avoid perform more advanced calculations \r\nAs a math idiot \r\nI want to be able to use trigonometric functions", "FeatureElements": [ { "Name": "Sine", @@ -2803,7 +2882,7 @@ jsonPWrapper ({ "RelativeFolder": "Features\\Workflow\\ClearingScreen.feature", "Feature": { "Name": "Clearing Screen", - "Description": "\tIn order to restart a new set of calculations\r\n\tAs a math idiot\r\n\tI want to be able to clear the screen", + "Description": "In order to restart a new set of calculations \r\nAs a math idiot \r\nI want to be able to clear the screen", "FeatureElements": [ { "Name": "Clear the screen", @@ -2986,10 +3065,10 @@ jsonPWrapper ({ "Folders": [ { "Folder": "Features", - "Total": 53, + "Total": 54, "Passing": 0, "Failing": 0, - "Inconclusive": 53 + "Inconclusive": 54 } ], "NotTestedFolders": [ @@ -3002,21 +3081,21 @@ jsonPWrapper ({ } ], "Scenarios": { - "Total": 53, + "Total": 54, "Passing": 0, "Failing": 0, - "Inconclusive": 53 + "Inconclusive": 54 }, "Features": { - "Total": 22, + "Total": 23, "Passing": 0, "Failing": 0, - "Inconclusive": 22 + "Inconclusive": 23 } }, "Configuration": { "SutName": "Pickles", - "SutVersion": "2.8.3", - "GeneratedOn": "28 September 2016 10:45:41" + "SutVersion": "2.10.0", + "GeneratedOn": "22 Oktober 2016 13:32:31" } }); \ No newline at end of file diff --git a/docs/Output/Excel/features.xlsx b/docs/Output/Excel/features.xlsx index 73fe93281..a69b643b4 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 b59324823..fba599cdc 100644 --- a/docs/Output/Html/Features/00BasicGherkin/BasicGherkin.html +++ b/docs/Output/Html/Features/00BasicGherkin/BasicGherkin.html @@ -132,11 +132,14 @@
  • @@ -251,9 +254,7 @@

    Showing basic gherkin syntax

    -

    In order to see that gherkin is a very simple language -As a SpecFlow evangelist -I want to show that basic syntax

    +

    In order to see that gherkin is a very simple language
    As a SpecFlow evangelist
    I want to show that basic syntax

    Test Image

    @@ -304,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 97f8191fa..8dcd2b013 100644 --- a/docs/Output/Html/Features/00BasicGherkin/index.html +++ b/docs/Output/Html/Features/00BasicGherkin/index.html @@ -132,11 +132,14 @@
  • @@ -255,8 +258,8 @@

    00 Basic Gherkin

    Showing basic gherkin syntax - - In order to see that gherkin is a very simple language -As a SpecFlow evangelist + In order to see that gherkin is a very simple language +As a SpecFlow evangelist I want to show that basic syntax ![Test Image](test.jpg) @@ -265,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 1db70109c..87349a5ff 100644 --- a/docs/Output/Html/Features/01TestRunner/TestRunnerIsNotImportant.html +++ b/docs/Output/Html/Features/01TestRunner/TestRunnerIsNotImportant.html @@ -132,11 +132,14 @@
  • @@ -251,12 +254,7 @@

    The test runner is not (very) important

    -
    -            In order to show that the test runner is just for the autogenerated stuff in SpecFlow  
    -As a SpecFlow evanglist  
    -I want to be able to call my steps in the same manner inspite of the testrunner configured  
    -
    -          
    +

    In order to show that the test runner is just for the autogenerated stuff in SpecFlow
    As a SpecFlow evanglist
    I want to be able to call my steps in the same manner inspite of the testrunner configured

    • @@ -280,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 d22340a87..f7ec20626 100644 --- a/docs/Output/Html/Features/01TestRunner/index.html +++ b/docs/Output/Html/Features/01TestRunner/index.html @@ -132,11 +132,14 @@
  • @@ -255,17 +258,17 @@

    01 Test Runner

    The test runner is not (very) important - - In order to show that the test runner is just for the autogenerated stuff in SpecFlow - As a SpecFlow evanglist - I want to be able to call my steps in the same manner inspite of the testrunner configured + In order to show that the test runner is just for the autogenerated stuff in SpecFlow +As a SpecFlow evanglist +I want to be able to call my steps in the same manner inspite of the testrunner configured diff --git a/docs/Output/Html/Features/02TagsAndHooks/Hooks.html b/docs/Output/Html/Features/02TagsAndHooks/Hooks.html index ce739d4dc..7d931d139 100644 --- a/docs/Output/Html/Features/02TagsAndHooks/Hooks.html +++ b/docs/Output/Html/Features/02TagsAndHooks/Hooks.html @@ -132,11 +132,14 @@
  • @@ -251,12 +254,7 @@

    Addition

    -
    -            In order to explain the order in which hooks are run
    -As a SpecFlow evanglist
    -I wan to  be able to hook into pre and post conditions in SpecFlow
    -
    -          
    +

    In order to explain the order in which hooks are run
    As a SpecFlow evanglist
    I wan to be able to hook into pre and post conditions in SpecFlow

    • @@ -342,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 526ebb4c2..d60a305a7 100644 --- a/docs/Output/Html/Features/02TagsAndHooks/TagDemo.html +++ b/docs/Output/Html/Features/02TagsAndHooks/TagDemo.html @@ -132,11 +132,14 @@
  • @@ -252,12 +255,7 @@

    Tag demonstrator

    Tags: @allAboutTags, @important

    -
    -            In order to show the capabilities of tags in SpecFlow
    -As a SpecFlow evanglist
    -I want to write scenarios that has tags and show their usage in code
    -
    -          
    +

    In order to show the capabilities of tags in SpecFlow
    As a SpecFlow evanglist
    I want to write scenarios that has tags and show their usage in code

    • @@ -360,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 dd3b76202..ec58b5e9d 100644 --- a/docs/Output/Html/Features/02TagsAndHooks/index.html +++ b/docs/Output/Html/Features/02TagsAndHooks/index.html @@ -132,11 +132,14 @@
  • @@ -255,26 +258,26 @@

    02 Tags And Hooks

    Addition - - In order to explain the order in which hooks are run - As a SpecFlow evanglist - I wan to be able to hook into pre and post conditions in SpecFlow + In order to explain the order in which hooks are run +As a SpecFlow evanglist +I wan to be able to hook into pre and post conditions in SpecFlow
  • Tag demonstrator - - In order to show the capabilities of tags in SpecFlow - As a SpecFlow evanglist - I want to write scenarios that has tags and show their usage in code + In order to show the capabilities of tags in SpecFlow +As a SpecFlow evanglist +I want to write scenarios that has tags and show their usage in code
  • diff --git a/docs/Output/Html/Features/031ScenarioContext/ScenarioContext.html b/docs/Output/Html/Features/031ScenarioContext/ScenarioContext.html index 144038e65..080f0f941 100644 --- a/docs/Output/Html/Features/031ScenarioContext/ScenarioContext.html +++ b/docs/Output/Html/Features/031ScenarioContext/ScenarioContext.html @@ -132,11 +132,14 @@
  • @@ -251,12 +254,7 @@

    Scenario Context features

    -
    -            In order to show how to use ScenarioContext
    -As a SpecFlow evangelist
    -I want to write some simple scenarios with data in ScenarioContext
    -
    -          
    +

    In order to show how to use ScenarioContext
    As a SpecFlow evangelist
    I want to write some simple scenarios with data in ScenarioContext

    • @@ -346,9 +344,9 @@

      Pending step

    diff --git a/docs/Output/Html/Features/031ScenarioContext/index.html b/docs/Output/Html/Features/031ScenarioContext/index.html index 23b30fd79..d54caedb1 100644 --- a/docs/Output/Html/Features/031ScenarioContext/index.html +++ b/docs/Output/Html/Features/031ScenarioContext/index.html @@ -132,11 +132,14 @@
  • @@ -255,17 +258,17 @@

    031 Scenario Context

    Scenario Context features - - In order to show how to use ScenarioContext - As a SpecFlow evangelist - I want to write some simple scenarios with data in ScenarioContext + In order to show how to use ScenarioContext +As a SpecFlow evangelist +I want to write some simple scenarios with data in ScenarioContext diff --git a/docs/Output/Html/Features/032FeatureContext/FeatureContextFeatures.html b/docs/Output/Html/Features/032FeatureContext/FeatureContextFeatures.html index a74ac09f4..02f8fbe60 100644 --- a/docs/Output/Html/Features/032FeatureContext/FeatureContextFeatures.html +++ b/docs/Output/Html/Features/032FeatureContext/FeatureContextFeatures.html @@ -132,11 +132,14 @@
  • @@ -252,12 +255,7 @@

    FeatureContext features

    Tags: @andThisToo, @showUpInScenarioInfo

    -
    -            In order to show how to use FeatureContext
    -As a SpecFlow evangelist
    -I want to write some simple scenarios with data in FeatureContext
    -
    -          
    +

    In order to show how to use FeatureContext
    As a SpecFlow evangelist
    I want to write some simple scenarios with data in FeatureContext

    • @@ -297,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 cf526fbfb..0a4839055 100644 --- a/docs/Output/Html/Features/032FeatureContext/index.html +++ b/docs/Output/Html/Features/032FeatureContext/index.html @@ -132,11 +132,14 @@
  • @@ -255,17 +258,17 @@

    032 Feature Context

    FeatureContext features - - In order to show how to use FeatureContext - As a SpecFlow evangelist - I want to write some simple scenarios with data in FeatureContext + In order to show how to use FeatureContext +As a SpecFlow evangelist +I want to write some simple scenarios with data in FeatureContext diff --git a/docs/Output/Html/Features/03ScenarioOutline/ScenarioOutline.html b/docs/Output/Html/Features/03ScenarioOutline/ScenarioOutline.html index 47037499e..4f1c3bb78 100644 --- a/docs/Output/Html/Features/03ScenarioOutline/ScenarioOutline.html +++ b/docs/Output/Html/Features/03ScenarioOutline/ScenarioOutline.html @@ -132,11 +132,14 @@
  • @@ -251,12 +254,7 @@

    Scenario outline

    -
    -            In order to not have to type the same scenario over and over
    -As a SpecFlow evangelist
    -I want to show how to use ScenarioOutline
    -
    -          
    +

    In order to not have to type the same scenario over and over
    As a SpecFlow evangelist
    I want to show how to use ScenarioOutline

    • @@ -434,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 f5688ce6a..af5ef1265 100644 --- a/docs/Output/Html/Features/03ScenarioOutline/index.html +++ b/docs/Output/Html/Features/03ScenarioOutline/index.html @@ -132,11 +132,14 @@
  • @@ -255,17 +258,17 @@

    03 Scenario Outline

    Scenario outline - - In order to not have to type the same scenario over and over - As a SpecFlow evangelist - I want to show how to use ScenarioOutline + In order to not have to type the same scenario over and over +As a SpecFlow evangelist +I want to show how to use ScenarioOutline diff --git a/docs/Output/Html/Features/04Background/BackgroundFeature.html b/docs/Output/Html/Features/04Background/BackgroundFeature.html index 316e88148..a03654703 100644 --- a/docs/Output/Html/Features/04Background/BackgroundFeature.html +++ b/docs/Output/Html/Features/04Background/BackgroundFeature.html @@ -132,11 +132,14 @@
  • @@ -251,12 +254,7 @@

    Show the use of background

    -
    -            In order to show how to use the Background keyword of Gherkin
    -As a SpecFlow evanglist
    -I want to show that background steps are called before any scenario step
    -
    -          
    +

    In order to show how to use the Background keyword of Gherkin
    As a SpecFlow evanglist
    I want to show that background steps are called before any scenario step

    • @@ -307,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 00cac4fa7..b5d585972 100644 --- a/docs/Output/Html/Features/04Background/index.html +++ b/docs/Output/Html/Features/04Background/index.html @@ -132,11 +132,14 @@
  • @@ -255,17 +258,17 @@

    04 Background

    Show the use of background - - In order to show how to use the Background keyword of Gherkin - As a SpecFlow evanglist - I want to show that background steps are called before any scenario step + In order to show how to use the Background keyword of Gherkin +As a SpecFlow evanglist +I want to show that background steps are called before any scenario step diff --git a/docs/Output/Html/Features/05TablesAndAssist/TableScenario.html b/docs/Output/Html/Features/05TablesAndAssist/TableScenario.html index 207caedc7..d5966bdfe 100644 --- a/docs/Output/Html/Features/05TablesAndAssist/TableScenario.html +++ b/docs/Output/Html/Features/05TablesAndAssist/TableScenario.html @@ -132,11 +132,14 @@
  • @@ -251,12 +254,7 @@

    Showing table usage

    -
    -            In order to show how to use tables
    -As a SpecFlow evanglist
    -I want to write some simple scenarios that uses tables tables
    -
    -          
    +

    In order to show how to use tables
    As a SpecFlow evanglist
    I want to write some simple scenarios that uses tables tables

    • @@ -328,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 269df0fa6..99f5fb526 100644 --- a/docs/Output/Html/Features/05TablesAndAssist/index.html +++ b/docs/Output/Html/Features/05TablesAndAssist/index.html @@ -132,11 +132,14 @@
  • @@ -255,17 +258,17 @@

    05 Tables And Assist

    Showing table usage - - In order to show how to use tables - As a SpecFlow evanglist - I want to write some simple scenarios that uses tables tables + In order to show how to use tables +As a SpecFlow evanglist +I want to write some simple scenarios that uses tables tables diff --git a/docs/Output/Html/Features/06CompareToAssist/CompareTo.html b/docs/Output/Html/Features/06CompareToAssist/CompareTo.html index 9725c90a8..bbac69a03 100644 --- a/docs/Output/Html/Features/06CompareToAssist/CompareTo.html +++ b/docs/Output/Html/Features/06CompareToAssist/CompareTo.html @@ -132,11 +132,14 @@
  • @@ -251,12 +254,7 @@

    Show the compare to feature

    -
    -            In order to show the compare to features of SpecFlow Assist
    -As a SpecFlow evanglist
    -I want to show how the different versions of compareTo works
    -
    -          
    +

    In order to show the compare to features of SpecFlow Assist
    As a SpecFlow evanglist
    I want to show how the different versions of compareTo works

    • @@ -300,9 +298,9 @@

      CompareToSet

    diff --git a/docs/Output/Html/Features/06CompareToAssist/index.html b/docs/Output/Html/Features/06CompareToAssist/index.html index fbfe485e4..887c707fe 100644 --- a/docs/Output/Html/Features/06CompareToAssist/index.html +++ b/docs/Output/Html/Features/06CompareToAssist/index.html @@ -132,11 +132,14 @@
  • @@ -255,17 +258,17 @@

    06 Compare To Assist

    Show the compare to feature - - In order to show the compare to features of SpecFlow Assist - As a SpecFlow evanglist - I want to show how the different versions of compareTo works + In order to show the compare to features of SpecFlow Assist +As a SpecFlow evanglist +I want to show how the different versions of compareTo works diff --git a/docs/Output/Html/Features/07Localization/Svenska.html b/docs/Output/Html/Features/07Localization/Svenska.html new file mode 100644 index 000000000..7fe320949 --- /dev/null +++ b/docs/Output/Html/Features/07Localization/Svenska.html @@ -0,0 +1,289 @@ + + + + + Svenska - Summering + + + + + + + + +
    +
    + +
    +

    Svenska - Summering

    +
    +

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

    +
    +
      +
    • +
      +

      Summera 5 och 7 ska vara 12

      +
      +
      +
        +
      • + Givet att jag har knappat in 5
      • +
      • + Och att jag har knappat in 7
      • +
      • + När jag summerar
      • +
      • + ska resultatet vara 12
      • +
      +
      + + + +
    • +
    +
    + +
    + + \ No newline at end of file diff --git a/docs/Output/Html/Features/07Localization/Vlaams.html b/docs/Output/Html/Features/07Localization/Vlaams.html new file mode 100644 index 000000000..fed84ad2a --- /dev/null +++ b/docs/Output/Html/Features/07Localization/Vlaams.html @@ -0,0 +1,286 @@ + + + + + Test de Cultuur in het Vlaams + + + + + + + + +
    +
    + +
    +

    Test de Cultuur in het Vlaams

    +
      +
    • +
      +

      Het Scenario

      +
      +
      +
        +
      • + Stel dat ik 50 ingeef
      • +
      • + En dat ik 70 ingeef
      • +
      • + Als ik plus druk
      • +
      • + Dan moet het resultaat 120 zijn
      • +
      +
      + + + +
    • +
    +
    + +
    + + \ No newline at end of file diff --git a/docs/Output/Html/Features/07Localization/index.html b/docs/Output/Html/Features/07Localization/index.html new file mode 100644 index 000000000..aa6520859 --- /dev/null +++ b/docs/Output/Html/Features/07Localization/index.html @@ -0,0 +1,282 @@ + + + + + 07 Localization + + + + + + + + +
    +
    + + + +
    + + \ No newline at end of file diff --git a/docs/Output/Html/Features/07Svenska/Svenska.html b/docs/Output/Html/Features/07Svenska/Svenska.html index 48709ba7e..568ba0dc7 100644 --- a/docs/Output/Html/Features/07Svenska/Svenska.html +++ b/docs/Output/Html/Features/07Svenska/Svenska.html @@ -251,12 +251,7 @@

    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

    • @@ -282,9 +277,9 @@

      Summera 5 och 7 ska vara 12

    diff --git a/docs/Output/Html/Features/07Svenska/index.html b/docs/Output/Html/Features/07Svenska/index.html index f6472aaa6..07a2b8fe6 100644 --- a/docs/Output/Html/Features/07Svenska/index.html +++ b/docs/Output/Html/Features/07Svenska/index.html @@ -255,17 +255,17 @@

    07 Svenska

    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 8c4e381b2..3aad1a298 100644 --- a/docs/Output/Html/Features/08AttributeOverloading/AttributeOverloading.html +++ b/docs/Output/Html/Features/08AttributeOverloading/AttributeOverloading.html @@ -132,11 +132,14 @@
  • @@ -251,12 +254,7 @@

    Attribute overloading

    -
    -            In order to show that steps can be used with multiple attributes
    -As a SpecFlow Evangelist
    -I want to show that similar attributes can be applied to the same step definition
    -
    -          
    +

    In order to show that steps can be used with multiple attributes
    As a SpecFlow Evangelist
    I want to show that similar attributes can be applied to the same step definition

    • @@ -288,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 4838b3145..e57b43e62 100644 --- a/docs/Output/Html/Features/08AttributeOverloading/index.html +++ b/docs/Output/Html/Features/08AttributeOverloading/index.html @@ -132,11 +132,14 @@
  • @@ -255,17 +258,17 @@

    08 Attribute Overloading

    Attribute overloading - - In order to show that steps can be used with multiple attributes - As a SpecFlow Evangelist - I want to show that similar attributes can be applied to the same step definition + In order to show that steps can be used with multiple attributes +As a SpecFlow Evangelist +I want to show that similar attributes can be applied to the same step definition diff --git a/docs/Output/Html/Features/09CallingStepsFromSteps/CallingStepsFromSteps.html b/docs/Output/Html/Features/09CallingStepsFromSteps/CallingStepsFromSteps.html index 064287ce6..3a12162e1 100644 --- a/docs/Output/Html/Features/09CallingStepsFromSteps/CallingStepsFromSteps.html +++ b/docs/Output/Html/Features/09CallingStepsFromSteps/CallingStepsFromSteps.html @@ -132,11 +132,14 @@
  • @@ -251,12 +254,7 @@

    Calling Steps from StepDefinitions

    -
    -            In order to create steps of a higher abstraction
    -As a SpecFlow evangelist
    -I want reuse other steps in my step definitions
    -
    -          
    +

    In order to create steps of a higher abstraction
    As a SpecFlow evangelist
    I want reuse other steps in my step definitions

    • @@ -300,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 eabcc611a..783fe80b7 100644 --- a/docs/Output/Html/Features/09CallingStepsFromSteps/index.html +++ b/docs/Output/Html/Features/09CallingStepsFromSteps/index.html @@ -132,11 +132,14 @@
  • @@ -255,17 +258,17 @@

    09 Calling Steps From Steps

    Calling Steps from StepDefinitions - - In order to create steps of a higher abstraction - As a SpecFlow evangelist - I want reuse other steps in my step definitions + In order to create steps of a higher abstraction +As a SpecFlow evangelist +I want reuse other steps in my step definitions diff --git a/docs/Output/Html/Features/10StepTransformation/StepTransformation.html b/docs/Output/Html/Features/10StepTransformation/StepTransformation.html index 2d92e788b..bf7599059 100644 --- a/docs/Output/Html/Features/10StepTransformation/StepTransformation.html +++ b/docs/Output/Html/Features/10StepTransformation/StepTransformation.html @@ -132,11 +132,14 @@
  • @@ -251,12 +254,7 @@

    Step Argument Transformations

    -
    -            In order to reduce the amount of code and repetitive tasks in my steps
    -As a SpecFlow evanglist
    -I want to define reusable transformations for my step arguments
    -
    -          
    +

    In order to reduce the amount of code and repetitive tasks in my steps
    As a SpecFlow evanglist
    I want to define reusable transformations for my step arguments

    • @@ -280,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 9e6b21d4a..99de376be 100644 --- a/docs/Output/Html/Features/10StepTransformation/index.html +++ b/docs/Output/Html/Features/10StepTransformation/index.html @@ -132,11 +132,14 @@
  • @@ -255,17 +258,17 @@

    10 Step Transformation

    Step Argument Transformations - - In order to reduce the amount of code and repetitive tasks in my steps - As a SpecFlow evanglist - I want to define reusable transformations for my step arguments + In order to reduce the amount of code and repetitive tasks in my steps +As a SpecFlow evanglist +I want to define reusable transformations for my step arguments diff --git a/docs/Output/Html/Features/11ContextInjection/ContextInjection.html b/docs/Output/Html/Features/11ContextInjection/ContextInjection.html index 36ab26cc8..ba8d00fd3 100644 --- a/docs/Output/Html/Features/11ContextInjection/ContextInjection.html +++ b/docs/Output/Html/Features/11ContextInjection/ContextInjection.html @@ -132,11 +132,14 @@
  • @@ -251,14 +254,9 @@

    Injecting context into step specifications

    -
    -            In order to don't have to rely on the global shared state
    -    and to be able to define the contexts required for each scenario.
    -As a SpecFlow Evanglist
    -I would like to have the system automatically inject an instance of any class as 
    -    defined in the constructor of a step file
    -
    -          
    +

    In order to don't have to rely on the global shared state +and to be able to define the contexts required for each scenario.
    As a SpecFlow Evanglist
    I would like to have the system automatically inject an instance of any class as +defined in the constructor of a step file

    • @@ -348,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 38e48bffb..d37906ba5 100644 --- a/docs/Output/Html/Features/11ContextInjection/index.html +++ b/docs/Output/Html/Features/11ContextInjection/index.html @@ -132,11 +132,14 @@
  • @@ -255,19 +258,19 @@

    11 Context Injection

    Injecting context into step specifications - - In order to don't have to rely on the global shared state - and to be able to define the contexts required for each scenario. - As a SpecFlow Evanglist - I would like to have the system automatically inject an instance of any class as - defined in the constructor of a step file + In order to don't have to rely on the global shared state +and to be able to define the contexts required for each scenario. +As a SpecFlow Evanglist +I would like to have the system automatically inject an instance of any class as +defined in the constructor of a step file diff --git a/docs/Output/Html/Features/12NestedFolders/ChildFolder/ChildChildFolder/NestedFolderExample.html b/docs/Output/Html/Features/12NestedFolders/ChildFolder/ChildChildFolder/NestedFolderExample.html index 6b7eb399b..77993f7fe 100644 --- a/docs/Output/Html/Features/12NestedFolders/ChildFolder/ChildChildFolder/NestedFolderExample.html +++ b/docs/Output/Html/Features/12NestedFolders/ChildFolder/ChildChildFolder/NestedFolderExample.html @@ -132,11 +132,14 @@
  • @@ -251,12 +254,7 @@

    Nested Folder Example

    -
    -            In order to test nested folder output
    -As a silly contributer
    -I want to create an example of something several folders deep
    -
    -          
    +

    In order to test nested folder output
    As a silly contributer
    I want to create an example of something several folders deep

    • @@ -283,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 65fb79414..cf18472a6 100644 --- a/docs/Output/Html/Features/12NestedFolders/ChildFolder/ChildChildFolder/index.html +++ b/docs/Output/Html/Features/12NestedFolders/ChildFolder/ChildChildFolder/index.html @@ -132,11 +132,14 @@
  • @@ -255,17 +258,17 @@

    Child Child Folder

    Nested Folder Example - - In order to test nested folder output - As a silly contributer - I want to create an example of something several folders deep + In order to test nested folder output +As a silly contributer +I want to create an example of something several folders deep diff --git a/docs/Output/Html/Features/12NestedFolders/ChildFolder/index.html b/docs/Output/Html/Features/12NestedFolders/ChildFolder/index.html index 03b8160c7..c56acfc85 100644 --- a/docs/Output/Html/Features/12NestedFolders/ChildFolder/index.html +++ b/docs/Output/Html/Features/12NestedFolders/ChildFolder/index.html @@ -132,11 +132,14 @@
  • @@ -253,9 +256,9 @@

    Child Folder

      diff --git a/docs/Output/Html/Features/12NestedFolders/index.html b/docs/Output/Html/Features/12NestedFolders/index.html index 6cacfadd4..0af03ec20 100644 --- a/docs/Output/Html/Features/12NestedFolders/index.html +++ b/docs/Output/Html/Features/12NestedFolders/index.html @@ -132,11 +132,14 @@
    • @@ -253,9 +256,9 @@

      12 Nested Folders

      diff --git a/docs/Output/Html/Features/14MarkdownExample/MarkdownExamples.html b/docs/Output/Html/Features/14MarkdownExample/MarkdownExamples.html index 8389cd5d4..a3721e155 100644 --- a/docs/Output/Html/Features/14MarkdownExample/MarkdownExamples.html +++ b/docs/Output/Html/Features/14MarkdownExample/MarkdownExamples.html @@ -132,11 +132,14 @@
    • @@ -253,6 +256,10 @@

      Sample Markdown Feature

      Header 1

      Header 2

      +

      Header 3

      +

      Header 4

      +
      Header 5
      +
      Header 6

      This is a significant word

      1. Ordered #1
      2. @@ -360,7 +367,10 @@

        Sample Markdown Scenario Outline Example

        Examples:

        -

        This message is important too and is for an Example table.

        +
        +                    This __message__ is important too and is for an *Example* table.
        +
        +                  
        @@ -386,9 +396,9 @@

        Examples:

        diff --git a/docs/Output/Html/Features/14MarkdownExample/index.html b/docs/Output/Html/Features/14MarkdownExample/index.html index 5566289ea..8adfbc936 100644 --- a/docs/Output/Html/Features/14MarkdownExample/index.html +++ b/docs/Output/Html/Features/14MarkdownExample/index.html @@ -132,11 +132,14 @@
      3. @@ -255,11 +258,17 @@

        14 Markdown Example

        Sample Markdown Feature - - Header 1 -======== + # Header 1 + +## Header 2 + +### Header 3 + +#### Header 4 + +##### Header 5 -Header 2 --------- +###### Header 6 This is a *significant* word @@ -289,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 ba95d02cb..13df1ebde 100644 --- a/docs/Output/Html/Features/15Pickles/InteractiveDHTMLView.html +++ b/docs/Output/Html/Features/15Pickles/InteractiveDHTMLView.html @@ -132,11 +132,14 @@
      4. @@ -251,13 +254,7 @@

        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.
        -
        -          
        +

        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 suite my audience
        So that I do not overwhelm them.

        • @@ -281,9 +278,15 @@

          Scenario with large data table

        diff --git a/docs/Output/Html/Features/15Pickles/index.html b/docs/Output/Html/Features/15Pickles/index.html index d398482cf..7d0f24de5 100644 --- a/docs/Output/Html/Features/15Pickles/index.html +++ b/docs/Output/Html/Features/15Pickles/index.html @@ -132,11 +132,14 @@
      5. @@ -255,18 +258,18 @@

        15 Pickles

        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. + 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 suite my audience +So that I do not overwhelm them. diff --git a/docs/Output/Html/Features/Arithmetic.html b/docs/Output/Html/Features/Arithmetic.html index 79fe9aa31..55c0ce928 100644 --- a/docs/Output/Html/Features/Arithmetic.html +++ b/docs/Output/Html/Features/Arithmetic.html @@ -132,11 +132,14 @@
      6. @@ -251,9 +254,7 @@

        Arithmetic

        -

        In order to avoid silly mistakes -As a math idiot -I want to be able to perform arithmetic on the calculator

        +

        In order to avoid silly mistakes
        As a math idiot
        I want to be able to perform arithmetic on the calculator

        When $a \ne 0$, there are two solutions to $(ax^2 + bx + c = 0)$ and they are $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$

        @@ -349,9 +350,9 @@

        Divide two numbers

        diff --git a/docs/Output/Html/Features/Trigonometry.html b/docs/Output/Html/Features/Trigonometry.html index c8f19310d..f33f5d197 100644 --- a/docs/Output/Html/Features/Trigonometry.html +++ b/docs/Output/Html/Features/Trigonometry.html @@ -132,11 +132,14 @@
      7. @@ -251,12 +254,7 @@

        Trigonometry

        -
        -            In order to avoid perform more advanced calculations
        -As a math idiot
        -I want to be able to use trigonometric functions
        -
        -          
        +

        In order to avoid perform more advanced calculations
        As a math idiot
        I want to be able to use trigonometric functions

        • @@ -319,9 +317,9 @@

          Tangent

        diff --git a/docs/Output/Html/Features/Workflow/ClearingScreen.html b/docs/Output/Html/Features/Workflow/ClearingScreen.html index e56c3072b..11596ac8f 100644 --- a/docs/Output/Html/Features/Workflow/ClearingScreen.html +++ b/docs/Output/Html/Features/Workflow/ClearingScreen.html @@ -132,11 +132,14 @@
      8. @@ -251,12 +254,7 @@

        Clearing Screen

        -
        -            In order to restart a new set of calculations
        -As a math idiot
        -I want to be able to clear the screen
        -
        -          
        +

        In order to restart a new set of calculations
        As a math idiot
        I want to be able to clear the screen

        • @@ -283,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 fed3f10e1..9bcd772eb 100644 --- a/docs/Output/Html/Features/Workflow/index.html +++ b/docs/Output/Html/Features/Workflow/index.html @@ -132,11 +132,14 @@
      9. @@ -255,17 +258,17 @@

        Workflow

        Clearing Screen - - In order to restart a new set of calculations - As a math idiot - I want to be able to clear the screen + In order to restart a new set of calculations +As a math idiot +I want to be able to clear the screen diff --git a/docs/Output/Html/Features/index.html b/docs/Output/Html/Features/index.html index f6543eeb6..1512b540c 100644 --- a/docs/Output/Html/Features/index.html +++ b/docs/Output/Html/Features/index.html @@ -132,11 +132,14 @@
      10. @@ -255,8 +258,8 @@

        Features

        Arithmetic - - In order to avoid silly mistakes -As a math idiot + In order to avoid silly mistakes +As a math idiot I want to be able to perform arithmetic on the calculator When $a \ne 0$, there are two solutions to $\(ax^2 + bx + c = 0\)$ and they are @@ -267,17 +270,17 @@

        Features

        Trigonometry - - In order to avoid perform more advanced calculations - As a math idiot - I want to be able to use trigonometric functions + In order to avoid perform more advanced calculations +As a math idiot +I want to be able to use trigonometric functions diff --git a/docs/Output/Html/index.html b/docs/Output/Html/index.html index 97f44d53b..afe918179 100644 --- a/docs/Output/Html/index.html +++ b/docs/Output/Html/index.html @@ -132,11 +132,14 @@
      11. @@ -253,9 +256,9 @@

        Examples

          diff --git a/docs/Output/Html/pickles - Shortcut.lnk b/docs/Output/Html/pickles - Shortcut.lnk new file mode 100644 index 000000000..a98152a31 Binary files /dev/null and b/docs/Output/Html/pickles - Shortcut.lnk differ diff --git a/docs/Output/Html/readme.html b/docs/Output/Html/readme.html index 8935fbd6c..549d5f99e 100644 --- a/docs/Output/Html/readme.html +++ b/docs/Output/Html/readme.html @@ -132,11 +132,14 @@
        • @@ -252,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 21f283e2a..1e4a1d975 100644 --- a/docs/Output/JSON/pickledFeatures.json +++ b/docs/Output/JSON/pickledFeatures.json @@ -4,7 +4,7 @@ "RelativeFolder": "Features\\00BasicGherkin\\BasicGherkin.feature", "Feature": { "Name": "Showing basic gherkin syntax", - "Description": "In order to see that gherkin is a very simple language\r\nAs a SpecFlow evangelist\r\nI want to show that basic syntax\r\n\r\n![Test Image](test.jpg)", + "Description": "In order to see that gherkin is a very simple language \r\nAs a SpecFlow evangelist \r\nI want to show that basic syntax\r\n\r\n![Test Image](test.jpg)", "FeatureElements": [ { "Name": "Simple GWT", @@ -109,7 +109,7 @@ "RelativeFolder": "Features\\01TestRunner\\TestRunnerIsNotImportant.feature", "Feature": { "Name": "The test runner is not (very) important", - "Description": "\tIn order to show that the test runner is just for the autogenerated stuff in SpecFlow \r\n\tAs a SpecFlow evanglist \r\n\tI want to be able to call my steps in the same manner inspite of the testrunner configured ", + "Description": "In order to show that the test runner is just for the autogenerated stuff in SpecFlow \r\nAs a SpecFlow evanglist \r\nI want to be able to call my steps in the same manner inspite of the testrunner configured", "FeatureElements": [ { "Name": "A couple of simple steps", @@ -160,7 +160,7 @@ "RelativeFolder": "Features\\02TagsAndHooks\\Hooks.feature", "Feature": { "Name": "Addition", - "Description": "\tIn order to explain the order in which hooks are run\r\n\tAs a SpecFlow evanglist\r\n\tI wan to be able to hook into pre and post conditions in SpecFlow", + "Description": "In order to explain the order in which hooks are run \r\nAs a SpecFlow evanglist \r\nI wan to be able to hook into pre and post conditions in SpecFlow", "FeatureElements": [ { "Name": "Hooking into pre conditions for Test Runs in SpecFlow", @@ -308,7 +308,7 @@ "RelativeFolder": "Features\\02TagsAndHooks\\TagDemo.feature", "Feature": { "Name": "Tag demonstrator", - "Description": "\tIn order to show the capabilities of tags in SpecFlow\r\n\tAs a SpecFlow evanglist\r\n\tI want to write scenarios that has tags and show their usage in code", + "Description": "In order to show the capabilities of tags in SpecFlow \r\nAs a SpecFlow evanglist \r\nI want to write scenarios that has tags and show their usage in code", "FeatureElements": [ { "Name": "Ignored scenario", @@ -512,7 +512,7 @@ "RelativeFolder": "Features\\03ScenarioOutline\\ScenarioOutline.feature", "Feature": { "Name": "Scenario outline", - "Description": "\tIn order to not have to type the same scenario over and over\r\n\tAs a SpecFlow evangelist\r\n\tI want to show how to use ScenarioOutline", + "Description": "In order to not have to type the same scenario over and over \r\nAs a SpecFlow evangelist \r\nI want to show how to use ScenarioOutline", "FeatureElements": [ { "Examples": [ @@ -716,7 +716,7 @@ "RelativeFolder": "Features\\031ScenarioContext\\ScenarioContext.feature", "Feature": { "Name": "Scenario Context features", - "Description": "\tIn order to show how to use ScenarioContext\r\n\tAs a SpecFlow evangelist\r\n\tI want to write some simple scenarios with data in ScenarioContext", + "Description": "In order to show how to use ScenarioContext \r\nAs a SpecFlow evangelist \r\nI want to write some simple scenarios with data in ScenarioContext", "FeatureElements": [ { "Name": "Store and retrive Person Marcus from ScenarioContext", @@ -900,7 +900,7 @@ "RelativeFolder": "Features\\032FeatureContext\\FeatureContextFeatures.feature", "Feature": { "Name": "FeatureContext features", - "Description": "\tIn order to show how to use FeatureContext\r\n\tAs a SpecFlow evangelist\r\n\tI want to write some simple scenarios with data in FeatureContext", + "Description": "In order to show how to use FeatureContext \r\nAs a SpecFlow evangelist \r\nI want to write some simple scenarios with data in FeatureContext", "FeatureElements": [ { "Name": "Store and retrive Person Marcus from FeatureContext Current", @@ -1001,7 +1001,7 @@ "RelativeFolder": "Features\\04Background\\BackgroundFeature.feature", "Feature": { "Name": "Show the use of background", - "Description": "\tIn order to show how to use the Background keyword of Gherkin\r\n\tAs a SpecFlow evanglist\r\n\tI want to show that background steps are called before any scenario step", + "Description": "In order to show how to use the Background keyword of Gherkin \r\nAs a SpecFlow evanglist \r\nI want to show that background steps are called before any scenario step", "FeatureElements": [ { "Name": "Add 1 to the sum", @@ -1096,7 +1096,7 @@ "RelativeFolder": "Features\\05TablesAndAssist\\TableScenario.feature", "Feature": { "Name": "Showing table usage", - "Description": "\tIn order to show how to use tables\r\n\tAs a SpecFlow evanglist\r\n\tI want to write some simple scenarios that uses tables tables", + "Description": "In order to show how to use tables \r\nAs a SpecFlow evanglist \r\nI want to write some simple scenarios that uses tables tables", "FeatureElements": [ { "Name": "Using tables", @@ -1425,7 +1425,7 @@ "RelativeFolder": "Features\\06CompareToAssist\\CompareTo.feature", "Feature": { "Name": "Show the compare to feature", - "Description": "\tIn order to show the compare to features of SpecFlow Assist\r\n\tAs a SpecFlow evanglist\r\n\tI want to show how the different versions of compareTo works", + "Description": "In order to show the compare to features of SpecFlow Assist \r\nAs a SpecFlow evanglist \r\nI want to show how the different versions of compareTo works", "FeatureElements": [ { "Name": "CompareToInstance", @@ -1663,10 +1663,10 @@ } }, { - "RelativeFolder": "Features\\07Svenska\\Svenska.feature", + "RelativeFolder": "Features\\07Localization\\Svenska.feature", "Feature": { - "Name": "Summering", - "Description": "\tFör att slippa att göra dumma fel\r\n\tSom räknare\r\n\tVill jag kunna lägga summera", + "Name": "Svenska - Summering", + "Description": "För att slippa att göra dumma fel \r\nSom räknare \r\nVill jag kunna lägga summera", "FeatureElements": [ { "Name": "Summera 5 och 7 ska vara 12", @@ -1720,11 +1720,90 @@ "WasSuccessful": false } }, + { + "RelativeFolder": "Features\\07Localization\\Vlaams.feature", + "Feature": { + "Name": "Test de Cultuur in het Vlaams", + "Description": "", + "FeatureElements": [ + { + "Name": "Het Scenario", + "Slug": "het-scenario", + "Description": "", + "Steps": [ + { + "Keyword": "Given", + "NativeKeyword": "Stel ", + "Name": "dat ik 50 ingeef", + "StepComments": [], + "AfterLastStepComments": [] + }, + { + "Keyword": "And", + "NativeKeyword": "En ", + "Name": "dat ik 70 ingeef", + "StepComments": [], + "AfterLastStepComments": [] + }, + { + "Keyword": "And", + "NativeKeyword": "And ", + "Name": "also this step", + "StepComments": [], + "AfterLastStepComments": [] + }, + { + "Keyword": "When", + "NativeKeyword": "Als ", + "Name": "ik plus druk", + "StepComments": [], + "AfterLastStepComments": [] + }, + { + "Keyword": "Then", + "NativeKeyword": "Dan ", + "Name": "moet het resultaat 120 zijn", + "StepComments": [], + "AfterLastStepComments": [] + }, + { + "Keyword": "And", + "NativeKeyword": "And ", + "Name": "that the number 4 is even", + "StepComments": [], + "AfterLastStepComments": [] + }, + { + "Keyword": "But", + "NativeKeyword": "But ", + "Name": "the number 3 is odd", + "StepComments": [], + "AfterLastStepComments": [] + } + ], + "Tags": [], + "Result": { + "WasExecuted": false, + "WasSuccessful": false + } + } + ], + "Result": { + "WasExecuted": false, + "WasSuccessful": false + }, + "Tags": [] + }, + "Result": { + "WasExecuted": false, + "WasSuccessful": false + } + }, { "RelativeFolder": "Features\\08AttributeOverloading\\AttributeOverloading.feature", "Feature": { "Name": "Attribute overloading", - "Description": "\tIn order to show that steps can be used with multiple attributes\r\n\tAs a SpecFlow Evangelist\r\n\tI want to show that similar attributes can be applied to the same step definition", + "Description": "In order to show that steps can be used with multiple attributes \r\nAs a SpecFlow Evangelist \r\nI want to show that similar attributes can be applied to the same step definition", "FeatureElements": [ { "Name": "Checking number for evenness", @@ -1803,7 +1882,7 @@ "RelativeFolder": "Features\\09CallingStepsFromSteps\\CallingStepsFromSteps.feature", "Feature": { "Name": "Calling Steps from StepDefinitions", - "Description": "\tIn order to create steps of a higher abstraction\r\n\tAs a SpecFlow evangelist\r\n\tI want reuse other steps in my step definitions", + "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": "Log in", @@ -1894,7 +1973,7 @@ "RelativeFolder": "Features\\10StepTransformation\\StepTransformation.feature", "Feature": { "Name": "Step Argument Transformations", - "Description": "\tIn order to reduce the amount of code and repetitive tasks in my steps\r\n\tAs a SpecFlow evanglist\r\n\tI want to define reusable transformations for my step arguments", + "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": "Steps with non-string arguments", @@ -1945,7 +2024,7 @@ "RelativeFolder": "Features\\11ContextInjection\\ContextInjection.feature", "Feature": { "Name": "Injecting context into step specifications", - "Description": "\tIn order to don't have to rely on the global shared state\r\n\t\tand to be able to define the contexts required for each scenario.\r\n\tAs a SpecFlow Evanglist\r\n\tI would like to have the system automatically inject an instance of any class as \r\n\t\tdefined in the constructor of a step file", + "Description": "In order to don't have to rely on the global shared state\r\nand to be able to define the contexts required for each scenario. \r\nAs a SpecFlow Evanglist \r\nI would like to have the system automatically inject an instance of any class as\r\ndefined in the constructor of a step file", "FeatureElements": [ { "Name": "Feature with no context", @@ -2107,7 +2186,7 @@ "RelativeFolder": "Features\\12NestedFolders\\ChildFolder\\ChildChildFolder\\NestedFolderExample.feature", "Feature": { "Name": "Nested Folder Example", - "Description": "\tIn order to test nested folder output\r\n\tAs a silly contributer\r\n\tI want to create an example of something several folders deep", + "Description": "In order to test nested folder output \r\nAs a silly contributer \r\nI want to create an example of something several folders deep", "FeatureElements": [ { "Name": "Nested - Add two numbers", @@ -2167,7 +2246,7 @@ "RelativeFolder": "Features\\13MultilineText\\MultilineFeatureExample.feature", "Feature": { "Name": "Multiline Feature Example", - "Description": "\tIn order capture this particular Gherkin feature\r\n\tAs a Pickles contributer\r\n\tI want to demonstrate an example of using multiline text in a Scenario", + "Description": "In order capture this particular Gherkin feature \r\nAs a Pickles contributer \r\nI want to demonstrate an example of using multiline text in a Scenario", "FeatureElements": [ { "Name": "Mutliline Output", @@ -2221,7 +2300,7 @@ "RelativeFolder": "Features\\14MarkdownExample\\MarkdownExamples.feature", "Feature": { "Name": "Sample Markdown Feature", - "Description": "Header 1\r\n========\r\n\r\nHeader 2\r\n--------\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)", + "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": "Sample Markdown Scenario Example", @@ -2253,7 +2332,7 @@ "Examples": [ { "Name": "", - "Description": "This __message__ is important too and is for an *Example* table.", + "Description": "\tThis __message__ is important too and is for an *Example* table.", "TableArgument": { "HeaderRow": [ "test", @@ -2336,7 +2415,7 @@ "RelativeFolder": "Features\\15Pickles\\InteractiveDHTMLView.feature", "Feature": { "Name": "Interactive DHTML View", - "Description": "\tIn order to increase stakeholder engagement with pickled specs\r\n\tAs a SpecFlow evangelist \r\n\tI want to adjust the level of detail in the DHTML view to suit my audience\r\n\tSo that I do not overwhelm them.", + "Description": "In order to increase stakeholder engagement with pickled specs \r\nAs a SpecFlow evangelist \r\nI want to adjust the level of detail in the DHTML view to suite my audience \r\nSo that I do not overwhelm them.", "FeatureElements": [ { "Name": "Scenario with large data table", @@ -2483,7 +2562,7 @@ "RelativeFolder": "Features\\Arithmetic.feature", "Feature": { "Name": "Arithmetic", - "Description": "In order to avoid silly mistakes\r\nAs a math idiot\r\nI want to be able to perform arithmetic on the calculator\r\n\r\nWhen $a \\ne 0$, there are two solutions to $\\(ax^2 + bx + c = 0\\)$ and they are\r\n$$x = {-b \\pm \\sqrt{b^2-4ac} \\over 2a}.$$", + "Description": "In order to avoid silly mistakes \r\nAs a math idiot \r\nI want to be able to perform arithmetic on the calculator\r\n\r\nWhen $a \\ne 0$, there are two solutions to $\\(ax^2 + bx + c = 0\\)$ and they are\r\n$$x = {-b \\pm \\sqrt{b^2-4ac} \\over 2a}.$$", "FeatureElements": [ { "Name": "Add two numbers", @@ -2677,7 +2756,7 @@ "RelativeFolder": "Features\\Trigonometry.feature", "Feature": { "Name": "Trigonometry", - "Description": "\tIn order to avoid perform more advanced calculations\r\n\tAs a math idiot\r\n\tI want to be able to use trigonometric functions", + "Description": "In order to avoid perform more advanced calculations \r\nAs a math idiot \r\nI want to be able to use trigonometric functions", "FeatureElements": [ { "Name": "Sine", @@ -2803,7 +2882,7 @@ "RelativeFolder": "Features\\Workflow\\ClearingScreen.feature", "Feature": { "Name": "Clearing Screen", - "Description": "\tIn order to restart a new set of calculations\r\n\tAs a math idiot\r\n\tI want to be able to clear the screen", + "Description": "In order to restart a new set of calculations \r\nAs a math idiot \r\nI want to be able to clear the screen", "FeatureElements": [ { "Name": "Clear the screen", @@ -2986,10 +3065,10 @@ "Folders": [ { "Folder": "Features", - "Total": 53, + "Total": 54, "Passing": 0, "Failing": 0, - "Inconclusive": 53 + "Inconclusive": 54 } ], "NotTestedFolders": [ @@ -3002,21 +3081,21 @@ } ], "Scenarios": { - "Total": 53, + "Total": 54, "Passing": 0, "Failing": 0, - "Inconclusive": 53 + "Inconclusive": 54 }, "Features": { - "Total": 22, + "Total": 23, "Passing": 0, "Failing": 0, - "Inconclusive": 22 + "Inconclusive": 23 } }, "Configuration": { "SutName": "Pickles", - "SutVersion": "2.8.3", - "GeneratedOn": "28 September 2016 10:45:42" + "SutVersion": "2.10.0", + "GeneratedOn": "22 Oktober 2016 13:32:37" } } \ No newline at end of file diff --git a/docs/Output/Word/Pickles.docx b/docs/Output/Word/Pickles.docx index 8b0c08981..56fd61db3 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 5a8b0f64b..84fef1385 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 f3d76e7fa..8dcee7098 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.

        + \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Dhtml.UnitTests/Pickles.DocumentationBuilders.Dhtml.UnitTests.v2.ncrunchproject b/src/Pickles/Pickles.DocumentationBuilders.Dhtml.UnitTests/Pickles.DocumentationBuilders.Dhtml.UnitTests.v2.ncrunchproject new file mode 100644 index 000000000..05b974659 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Dhtml.UnitTests/Pickles.DocumentationBuilders.Dhtml.UnitTests.v2.ncrunchproject @@ -0,0 +1,27 @@ + + true + 1000 + false + false + false + true + false + false + false + false + false + true + false + true + false + true + true + true + 60000 + + + + AutoDetect + STA + x86 + \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Dhtml.UnitTests/Properties/AssemblyInfo.cs b/src/Pickles/Pickles.DocumentationBuilders.Dhtml.UnitTests/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..293715c7c --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Dhtml.UnitTests/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.Dhtml.UnitTests")] +[assembly: AssemblyDescription("Unit tests for the Pickles output formatter that outputs DHTML documents")] \ No newline at end of file diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/DHTML/WhenDoingSomeIntegrationTests.cs b/src/Pickles/Pickles.DocumentationBuilders.Dhtml.UnitTests/WhenDoingSomeIntegrationTests.cs similarity index 95% rename from src/Pickles/Pickles.Test/DocumentationBuilders/DHTML/WhenDoingSomeIntegrationTests.cs rename to src/Pickles/Pickles.DocumentationBuilders.Dhtml.UnitTests/WhenDoingSomeIntegrationTests.cs index 8bc55f1cf..026543ac1 100644 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/DHTML/WhenDoingSomeIntegrationTests.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Dhtml.UnitTests/WhenDoingSomeIntegrationTests.cs @@ -18,11 +18,15 @@ // // -------------------------------------------------------------------------------------------------------------------- +using System; + using NFluent; + using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.DHTML; -namespace PicklesDoc.Pickles.Test.DocumentationBuilders.DHTML +using PicklesDoc.Pickles.Test; + +namespace PicklesDoc.Pickles.DocumentationBuilders.Dhtml.UnitTests { [TestFixture] public class WhenDoingSomeIntegrationTests : BaseFixture diff --git a/src/Pickles/Pickles.DocumentationBuilders.Dhtml.UnitTests/packages.config b/src/Pickles/Pickles.DocumentationBuilders.Dhtml.UnitTests/packages.config new file mode 100644 index 000000000..90371e03a --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Dhtml.UnitTests/packages.config @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/Pickles/Pickles/DocumentationBuilders/DHTML/DhtmlDocumentationBuilder.cs b/src/Pickles/Pickles.DocumentationBuilders.Dhtml/DhtmlDocumentationBuilder.cs similarity index 96% rename from src/Pickles/Pickles/DocumentationBuilders/DHTML/DhtmlDocumentationBuilder.cs rename to src/Pickles/Pickles.DocumentationBuilders.Dhtml/DhtmlDocumentationBuilder.cs index f82d1c4ed..c0a91206b 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/DHTML/DhtmlDocumentationBuilder.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Dhtml/DhtmlDocumentationBuilder.cs @@ -18,18 +18,20 @@ // // -------------------------------------------------------------------------------------------------------------------- +using System; using System.Collections.Generic; using System.IO.Abstractions; using System.Linq; using System.Reflection; + using NLog; + using PicklesDoc.Pickles.DataStructures; using PicklesDoc.Pickles.DirectoryCrawler; -using PicklesDoc.Pickles.DocumentationBuilders.JSON; +using PicklesDoc.Pickles.DocumentationBuilders.Json; using PicklesDoc.Pickles.ObjectModel; -using PicklesDoc.Pickles.TestFrameworks; -namespace PicklesDoc.Pickles.DocumentationBuilders.DHTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Dhtml { public class DhtmlDocumentationBuilder : IDocumentationBuilder { diff --git a/src/Pickles/Pickles.DocumentationBuilders.Dhtml/DhtmlModule.cs b/src/Pickles/Pickles.DocumentationBuilders.Dhtml/DhtmlModule.cs new file mode 100644 index 000000000..244ec5832 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Dhtml/DhtmlModule.cs @@ -0,0 +1,32 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright 2011 Jeffrey Cameron +// 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 Autofac; + +namespace PicklesDoc.Pickles.DocumentationBuilders.Dhtml +{ + public class DhtmlModule : Module + { + protected override void Load(ContainerBuilder builder) + { + builder.RegisterType().SingleInstance(); + } + } +} \ No newline at end of file diff --git a/src/Pickles/Pickles/DocumentationBuilders/DHTML/DhtmlResourceWriter.cs b/src/Pickles/Pickles.DocumentationBuilders.Dhtml/DhtmlResourceWriter.cs similarity index 95% rename from src/Pickles/Pickles/DocumentationBuilders/DHTML/DhtmlResourceWriter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Dhtml/DhtmlResourceWriter.cs index 2a37ff2c6..547a565f2 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/DHTML/DhtmlResourceWriter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Dhtml/DhtmlResourceWriter.cs @@ -21,16 +21,16 @@ using System; using System.IO.Abstractions; -using PicklesDoc.Pickles.DocumentationBuilders.HTML; +using PicklesDoc.Pickles.DocumentationBuilders.Html; -namespace PicklesDoc.Pickles.DocumentationBuilders.DHTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Dhtml { public class DhtmlResourceWriter : ResourceWriter { private readonly IConfiguration configuration; public DhtmlResourceWriter(IFileSystem fileSystem, IConfiguration configuration) - : base(fileSystem, "PicklesDoc.Pickles.Resources.Dhtml.") + : base(fileSystem, "PicklesDoc.Pickles.DocumentationBuilders.Dhtml.Resources.") { this.configuration = configuration; } diff --git a/src/Pickles/Pickles/DocumentationBuilders/DHTML/JsonTweaker.cs b/src/Pickles/Pickles.DocumentationBuilders.Dhtml/JsonTweaker.cs similarity index 96% rename from src/Pickles/Pickles/DocumentationBuilders/DHTML/JsonTweaker.cs rename to src/Pickles/Pickles.DocumentationBuilders.Dhtml/JsonTweaker.cs index c35002c31..34b10ebcc 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/DHTML/JsonTweaker.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Dhtml/JsonTweaker.cs @@ -21,7 +21,7 @@ using System; using System.IO.Abstractions; -namespace PicklesDoc.Pickles.DocumentationBuilders.DHTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Dhtml { public class JsonTweaker { diff --git a/src/Pickles/Pickles.DocumentationBuilders.Dhtml/Pickles.DocumentationBuilders.Dhtml.csproj b/src/Pickles/Pickles.DocumentationBuilders.Dhtml/Pickles.DocumentationBuilders.Dhtml.csproj new file mode 100644 index 000000000..f272bd58c --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Dhtml/Pickles.DocumentationBuilders.Dhtml.csproj @@ -0,0 +1,217 @@ + + + + + Debug + AnyCPU + {8AC3AAFA-84DD-4437-962B-E6C5D6078E09} + Library + Properties + PicklesDoc.Pickles.DocumentationBuilders.Dhtml + PicklesDoc.Pickles.DocumentationBuilders.Dhtml + v4.5 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\Autofac.4.1.1\lib\net45\Autofac.dll + True + + + ..\packages\NLog.4.3.10\lib\net45\NLog.dll + True + + + + + ..\packages\System.IO.Abstractions.2.0.0.137\lib\net40\System.IO.Abstractions.dll + True + + + + + + + + + + + VersionInfo.cs + + + + + + + + + + Resources\css\bootstrap.min.css + + + + + Resources\css\print.css + + + + + Resources\css\styles.css + + + + + Resources\img\glyphicons-halflings-white.png + + + + + Resources\img\glyphicons-halflings.png + + + + + Resources\img\link.png + + + + + Resources\js\bootstrap.min.js + + + + + Resources\js\Chart.min.js + + + + + Resources\js\Chart.StackedBar.js + + + + + Resources\js\featureSearch.js + + + + + Resources\js\featuresModel.js + + + + + Resources\js\heirarchyBuilder.js + + + + + Resources\js\html5.js + + + + + Resources\js\jquery-1.8.3.min.js + + + + + Resources\js\jquery.highlight-4.closure.js + + + + + Resources\js\knockout-3.4.0.js + + + + + Resources\js\knockout.mapping-latest.js + + + + + Resources\js\logger.js + + + + + Resources\js\Markdown.Converter.js + + + + + Resources\js\Markdown.Extra.js + + + + + Resources\js\picklesOverview.js + + + + + Resources\js\stringFormatting.js + + + + + Resources\js\typeaheadList.js + + + + + Resources\js\underscore-min.js + + + + + Resources\Index.html + + + Resources\pickledFeatures.js + + + + + {2c849ad2-d125-4754-8bba-7c61fa6251e4} + Pickles.DocumentationBuilders.Html + + + {836020d1-a309-4367-9654-ebb7c3f60d97} + Pickles.DocumentationBuilders.Json + + + {55382AFC-E050-4DF7-AA4F-0ABA71E2E169} + Pickles.ObjectModel + + + + + + + + \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Dhtml/Pickles.DocumentationBuilders.Dhtml.v2.ncrunchproject b/src/Pickles/Pickles.DocumentationBuilders.Dhtml/Pickles.DocumentationBuilders.Dhtml.v2.ncrunchproject new file mode 100644 index 000000000..05b974659 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Dhtml/Pickles.DocumentationBuilders.Dhtml.v2.ncrunchproject @@ -0,0 +1,27 @@ + + true + 1000 + false + false + false + true + false + false + false + false + false + true + false + true + false + true + true + true + 60000 + + + + AutoDetect + STA + x86 + \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Dhtml/Properties/AssemblyInfo.cs b/src/Pickles/Pickles.DocumentationBuilders.Dhtml/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..5eda58709 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Dhtml/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.Dhtml")] +[assembly: AssemblyDescription("A Pickles output formatter that outputs DHTML documents")] \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Dhtml/packages.config b/src/Pickles/Pickles.DocumentationBuilders.Dhtml/packages.config new file mode 100644 index 000000000..722150ddc --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Dhtml/packages.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/Pickles.DocumentationBuilders.Excel.UnitTests.csproj b/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/Pickles.DocumentationBuilders.Excel.UnitTests.csproj new file mode 100644 index 000000000..0aff35c37 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/Pickles.DocumentationBuilders.Excel.UnitTests.csproj @@ -0,0 +1,104 @@ + + + + + Debug + AnyCPU + {CDAD56FA-E3CF-4E4A-A5CB-5F43FF4FBCF5} + Library + Properties + PicklesDoc.Pickles.DocumentationBuilders.Excel.UnitTests + PicklesDoc.Pickles.DocumentationBuilders.Excel.UnitTests + v4.5 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\Autofac.4.1.1\lib\net45\Autofac.dll + True + + + ..\packages\ClosedXML.0.80.1\lib\net40-client\ClosedXML.dll + True + + + ..\packages\DocumentFormat.OpenXml.2.5\lib\DocumentFormat.OpenXml.dll + True + + + ..\packages\NFluent.1.3.1.0\lib\net40\NFluent.dll + True + + + ..\packages\NUnit.3.5.0\lib\net45\nunit.framework.dll + True + + + + + + + + + + + + + VersionInfo.cs + + + + + + + + + + + + + + + + + + + + {a875b066-443a-420e-a1f5-7870cff0a50c} + Pickles.DocumentationBuilders.Excel + + + {55382afc-e050-4df7-aa4f-0aba71e2e169} + Pickles.ObjectModel + + + {8bd9fcd2-7ed5-46b5-b6a4-7fa3775e159f} + Pickles.Test + + + + + \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/Pickles.DocumentationBuilders.Excel.UnitTests.v2.ncrunchproject b/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/Pickles.DocumentationBuilders.Excel.UnitTests.v2.ncrunchproject new file mode 100644 index 000000000..44ddebe76 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/Pickles.DocumentationBuilders.Excel.UnitTests.v2.ncrunchproject @@ -0,0 +1,28 @@ + + true + 1000 + false + false + false + true + false + false + false + false + false + true + false + true + false + true + true + true + 60000 + + + + AutoDetect + STA + x86 + AbnormalReferenceResolution + \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/Properties/AssemblyInfo.cs b/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..5a098ef09 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/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.Excel.UnitTests")] +[assembly: AssemblyDescription("Unit Tests for the Pickles output formatter that outputs MS Excel documents")] \ No newline at end of file diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/Excel/WhenAddingADocumentStringToAWorksheet.cs b/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/WhenAddingADocumentStringToAWorksheet.cs similarity index 94% rename from src/Pickles/Pickles.Test/DocumentationBuilders/Excel/WhenAddingADocumentStringToAWorksheet.cs rename to src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/WhenAddingADocumentStringToAWorksheet.cs index e2f5d2e61..cc2530332 100644 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/Excel/WhenAddingADocumentStringToAWorksheet.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/WhenAddingADocumentStringToAWorksheet.cs @@ -19,12 +19,16 @@ // -------------------------------------------------------------------------------------------------------------------- using System; + using ClosedXML.Excel; + using NFluent; + using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.Excel; -namespace PicklesDoc.Pickles.Test.DocumentationBuilders.Excel +using PicklesDoc.Pickles.Test; + +namespace PicklesDoc.Pickles.DocumentationBuilders.Excel.UnitTests { [TestFixture] public class WhenAddingADocumentStringToAWorksheet : BaseFixture diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/Excel/WhenAddingAFeatureToAWorksheet.cs b/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/WhenAddingAFeatureToAWorksheet.cs similarity index 97% rename from src/Pickles/Pickles.Test/DocumentationBuilders/Excel/WhenAddingAFeatureToAWorksheet.cs rename to src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/WhenAddingAFeatureToAWorksheet.cs index 77aec7f4b..c63ece56c 100644 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/Excel/WhenAddingAFeatureToAWorksheet.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/WhenAddingAFeatureToAWorksheet.cs @@ -20,14 +20,19 @@ using System; using System.Collections.Generic; + using Autofac; + using ClosedXML.Excel; + using NFluent; + using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.Excel; + using PicklesDoc.Pickles.ObjectModel; +using PicklesDoc.Pickles.Test; -namespace PicklesDoc.Pickles.Test.DocumentationBuilders.Excel +namespace PicklesDoc.Pickles.DocumentationBuilders.Excel.UnitTests { [TestFixture] public class WhenAddingAFeatureToAWorksheet : BaseFixture diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/Excel/WhenAddingAScenarioOutlineToAWorksheet.cs b/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/WhenAddingAScenarioOutlineToAWorksheet.cs similarity index 98% rename from src/Pickles/Pickles.Test/DocumentationBuilders/Excel/WhenAddingAScenarioOutlineToAWorksheet.cs rename to src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/WhenAddingAScenarioOutlineToAWorksheet.cs index 9830b52d1..8aff6e66d 100644 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/Excel/WhenAddingAScenarioOutlineToAWorksheet.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/WhenAddingAScenarioOutlineToAWorksheet.cs @@ -20,14 +20,19 @@ using System; using System.Collections.Generic; + using Autofac; + using ClosedXML.Excel; + using NFluent; + using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.Excel; + using PicklesDoc.Pickles.ObjectModel; +using PicklesDoc.Pickles.Test; -namespace PicklesDoc.Pickles.Test.DocumentationBuilders.Excel +namespace PicklesDoc.Pickles.DocumentationBuilders.Excel.UnitTests { [TestFixture] public class WhenAddingAScenarioOutlineToAWorksheet : BaseFixture diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/Excel/WhenAddingAScenarioToAWorksheet.cs b/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/WhenAddingAScenarioToAWorksheet.cs similarity index 96% rename from src/Pickles/Pickles.Test/DocumentationBuilders/Excel/WhenAddingAScenarioToAWorksheet.cs rename to src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/WhenAddingAScenarioToAWorksheet.cs index a59b35554..2e7962ff2 100644 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/Excel/WhenAddingAScenarioToAWorksheet.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/WhenAddingAScenarioToAWorksheet.cs @@ -20,14 +20,19 @@ using System; using System.Collections.Generic; + using Autofac; + using ClosedXML.Excel; + using NFluent; + using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.Excel; + using PicklesDoc.Pickles.ObjectModel; +using PicklesDoc.Pickles.Test; -namespace PicklesDoc.Pickles.Test.DocumentationBuilders.Excel +namespace PicklesDoc.Pickles.DocumentationBuilders.Excel.UnitTests { [TestFixture] public class WhenAddingAScenarioToAWorksheet : BaseFixture diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/Excel/WhenAddingAStepToAWorksheet.cs b/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/WhenAddingAStepToAWorksheet.cs similarity index 98% rename from src/Pickles/Pickles.Test/DocumentationBuilders/Excel/WhenAddingAStepToAWorksheet.cs rename to src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/WhenAddingAStepToAWorksheet.cs index 9bbec6250..390fcd7c4 100644 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/Excel/WhenAddingAStepToAWorksheet.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/WhenAddingAStepToAWorksheet.cs @@ -21,14 +21,19 @@ using System; using System.Collections.Generic; using System.Linq; + using Autofac; + using ClosedXML.Excel; + using NFluent; + using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.Excel; + using PicklesDoc.Pickles.ObjectModel; +using PicklesDoc.Pickles.Test; -namespace PicklesDoc.Pickles.Test.DocumentationBuilders.Excel +namespace PicklesDoc.Pickles.DocumentationBuilders.Excel.UnitTests { [TestFixture] public class WhenAddingAStepToAWorksheet : BaseFixture diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/Excel/WhenAddingATableOfContentsToAWorksheet.cs b/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/WhenAddingATableOfContentsToAWorksheet.cs similarity index 93% rename from src/Pickles/Pickles.Test/DocumentationBuilders/Excel/WhenAddingATableOfContentsToAWorksheet.cs rename to src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/WhenAddingATableOfContentsToAWorksheet.cs index f6d8196a1..9dd3ec9bd 100644 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/Excel/WhenAddingATableOfContentsToAWorksheet.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/WhenAddingATableOfContentsToAWorksheet.cs @@ -19,11 +19,14 @@ // -------------------------------------------------------------------------------------------------------------------- using System; + using ClosedXML.Excel; + using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.Excel; -namespace PicklesDoc.Pickles.Test.DocumentationBuilders.Excel +using PicklesDoc.Pickles.Test; + +namespace PicklesDoc.Pickles.DocumentationBuilders.Excel.UnitTests { // [TestFixture] public class WhenAddingATableOfContentsToAWorksheet : BaseFixture diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/Excel/WhenAddingATableToAWorksheet.cs b/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/WhenAddingATableToAWorksheet.cs similarity index 96% rename from src/Pickles/Pickles.Test/DocumentationBuilders/Excel/WhenAddingATableToAWorksheet.cs rename to src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/WhenAddingATableToAWorksheet.cs index 694dda886..1fb5dcb54 100644 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/Excel/WhenAddingATableToAWorksheet.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/WhenAddingATableToAWorksheet.cs @@ -20,14 +20,19 @@ using System; using System.Collections.Generic; + using Autofac; + using ClosedXML.Excel; + using NFluent; + using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.Excel; + using PicklesDoc.Pickles.ObjectModel; +using PicklesDoc.Pickles.Test; -namespace PicklesDoc.Pickles.Test.DocumentationBuilders.Excel +namespace PicklesDoc.Pickles.DocumentationBuilders.Excel.UnitTests { [TestFixture] public class WhenAddingATableToAWorksheet : BaseFixture diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/Excel/WhenCreatingSheetNamesFromFeatures.cs b/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/WhenCreatingSheetNamesFromFeatures.cs similarity index 97% rename from src/Pickles/Pickles.Test/DocumentationBuilders/Excel/WhenCreatingSheetNamesFromFeatures.cs rename to src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/WhenCreatingSheetNamesFromFeatures.cs index cdce20ce6..6c82d8a03 100644 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/Excel/WhenCreatingSheetNamesFromFeatures.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/WhenCreatingSheetNamesFromFeatures.cs @@ -19,14 +19,19 @@ // -------------------------------------------------------------------------------------------------------------------- using System; + using Autofac; + using ClosedXML.Excel; + using NFluent; + using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.Excel; + using PicklesDoc.Pickles.ObjectModel; +using PicklesDoc.Pickles.Test; -namespace PicklesDoc.Pickles.Test.DocumentationBuilders.Excel +namespace PicklesDoc.Pickles.DocumentationBuilders.Excel.UnitTests { [TestFixture] public class WhenCreatingSheetNamesFromFeatures : BaseFixture diff --git a/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/packages.config b/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/packages.config new file mode 100644 index 000000000..6be00d60c --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Excel.UnitTests/packages.config @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/Pickles/Pickles/DocumentationBuilders/Excel/ExcelDocumentStringFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelDocumentStringFormatter.cs similarity index 100% rename from src/Pickles/Pickles/DocumentationBuilders/Excel/ExcelDocumentStringFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelDocumentStringFormatter.cs diff --git a/src/Pickles/Pickles/DocumentationBuilders/Excel/ExcelDocumentationBuilder.cs b/src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelDocumentationBuilder.cs similarity index 95% rename from src/Pickles/Pickles/DocumentationBuilders/Excel/ExcelDocumentationBuilder.cs rename to src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelDocumentationBuilder.cs index 16fc90ab6..21474ba03 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/Excel/ExcelDocumentationBuilder.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelDocumentationBuilder.cs @@ -37,18 +37,15 @@ public class ExcelDocumentationBuilder : IDocumentationBuilder private readonly ExcelSheetNameGenerator excelSheetNameGenerator; private readonly ExcelTableOfContentsFormatter excelTableOfContentsFormatter; private readonly IFileSystem fileSystem; - private readonly DirectoryTreeCrawler featureCrawler; public ExcelDocumentationBuilder( IConfiguration configuration, - DirectoryTreeCrawler featureCrawler, ExcelFeatureFormatter excelFeatureFormatter, ExcelSheetNameGenerator excelSheetNameGenerator, ExcelTableOfContentsFormatter excelTableOfContentsFormatter, IFileSystem fileSystem) { this.configuration = configuration; - this.featureCrawler = featureCrawler; this.excelFeatureFormatter = excelFeatureFormatter; this.excelSheetNameGenerator = excelSheetNameGenerator; this.excelTableOfContentsFormatter = excelTableOfContentsFormatter; diff --git a/src/Pickles/Pickles/DocumentationBuilders/Excel/ExcelFeatureFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelFeatureFormatter.cs similarity index 99% rename from src/Pickles/Pickles/DocumentationBuilders/Excel/ExcelFeatureFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelFeatureFormatter.cs index b29b2835b..4b82ce2ff 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/Excel/ExcelFeatureFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelFeatureFormatter.cs @@ -23,7 +23,6 @@ using ClosedXML.Excel; using NLog; using PicklesDoc.Pickles.ObjectModel; -using PicklesDoc.Pickles.TestFrameworks; namespace PicklesDoc.Pickles.DocumentationBuilders.Excel { diff --git a/src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelModule.cs b/src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelModule.cs new file mode 100644 index 000000000..c819a4225 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelModule.cs @@ -0,0 +1,40 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright 2011 Jeffrey Cameron +// 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 Autofac; + +namespace PicklesDoc.Pickles.DocumentationBuilders.Excel +{ + public class ExcelModule : Module + { + protected override void Load(ContainerBuilder builder) + { + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + } + } +} \ No newline at end of file diff --git a/src/Pickles/Pickles/DocumentationBuilders/Excel/ExcelScenarioFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelScenarioFormatter.cs similarity index 98% rename from src/Pickles/Pickles/DocumentationBuilders/Excel/ExcelScenarioFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelScenarioFormatter.cs index 6fd293dd6..2b8000ee0 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/Excel/ExcelScenarioFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelScenarioFormatter.cs @@ -22,7 +22,6 @@ using ClosedXML.Excel; using PicklesDoc.Pickles.ObjectModel; -using PicklesDoc.Pickles.TestFrameworks; namespace PicklesDoc.Pickles.DocumentationBuilders.Excel { diff --git a/src/Pickles/Pickles/DocumentationBuilders/Excel/ExcelScenarioOutlineFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelScenarioOutlineFormatter.cs similarity index 98% rename from src/Pickles/Pickles/DocumentationBuilders/Excel/ExcelScenarioOutlineFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelScenarioOutlineFormatter.cs index 354db31cc..998191251 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/Excel/ExcelScenarioOutlineFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelScenarioOutlineFormatter.cs @@ -22,7 +22,6 @@ using ClosedXML.Excel; using PicklesDoc.Pickles.ObjectModel; -using PicklesDoc.Pickles.TestFrameworks; namespace PicklesDoc.Pickles.DocumentationBuilders.Excel { diff --git a/src/Pickles/Pickles/DocumentationBuilders/Excel/ExcelSheetNameGenerator.cs b/src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelSheetNameGenerator.cs similarity index 100% rename from src/Pickles/Pickles/DocumentationBuilders/Excel/ExcelSheetNameGenerator.cs rename to src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelSheetNameGenerator.cs diff --git a/src/Pickles/Pickles/DocumentationBuilders/Excel/ExcelStepFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelStepFormatter.cs similarity index 100% rename from src/Pickles/Pickles/DocumentationBuilders/Excel/ExcelStepFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelStepFormatter.cs diff --git a/src/Pickles/Pickles/DocumentationBuilders/Excel/ExcelTableFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelTableFormatter.cs similarity index 100% rename from src/Pickles/Pickles/DocumentationBuilders/Excel/ExcelTableFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelTableFormatter.cs diff --git a/src/Pickles/Pickles/DocumentationBuilders/Excel/ExcelTableOfContentsFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelTableOfContentsFormatter.cs similarity index 100% rename from src/Pickles/Pickles/DocumentationBuilders/Excel/ExcelTableOfContentsFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Excel/ExcelTableOfContentsFormatter.cs diff --git a/src/Pickles/Pickles.DocumentationBuilders.Excel/Pickles.DocumentationBuilders.Excel.csproj b/src/Pickles/Pickles.DocumentationBuilders.Excel/Pickles.DocumentationBuilders.Excel.csproj new file mode 100644 index 000000000..db5942a44 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Excel/Pickles.DocumentationBuilders.Excel.csproj @@ -0,0 +1,95 @@ + + + + + Debug + AnyCPU + {A875B066-443A-420E-A1F5-7870CFF0A50C} + Library + Properties + PicklesDoc.Pickles.DocumentationBuilders.Excel + PicklesDoc.Pickles.DocumentationBuilders.Excel + v4.5 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\Autofac.4.1.1\lib\net45\Autofac.dll + True + + + ..\packages\ClosedXML.0.80.1\lib\net40-client\ClosedXML.dll + True + + + ..\packages\DocumentFormat.OpenXml.2.5\lib\DocumentFormat.OpenXml.dll + True + + + ..\packages\NLog.4.3.10\lib\net45\NLog.dll + True + + + + + ..\packages\System.IO.Abstractions.2.0.0.137\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.Excel/Pickles.DocumentationBuilders.Excel.v2.ncrunchproject b/src/Pickles/Pickles.DocumentationBuilders.Excel/Pickles.DocumentationBuilders.Excel.v2.ncrunchproject new file mode 100644 index 000000000..05b974659 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Excel/Pickles.DocumentationBuilders.Excel.v2.ncrunchproject @@ -0,0 +1,27 @@ + + true + 1000 + false + false + false + true + false + false + false + false + false + true + false + true + false + true + true + true + 60000 + + + + AutoDetect + STA + x86 + \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Excel/Properties/AssemblyInfo.cs b/src/Pickles/Pickles.DocumentationBuilders.Excel/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..01eb97519 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Excel/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.Excel")] +[assembly: AssemblyDescription("A Pickles output formatter that outputs MS Excel documents")] \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Excel/packages.config b/src/Pickles/Pickles.DocumentationBuilders.Excel/packages.config new file mode 100644 index 000000000..20a4c3d68 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Excel/packages.config @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/AutomationLayer/CurrentScenarioContext.cs b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/AutomationLayer/CurrentScenarioContext.cs similarity index 81% rename from src/Pickles/Pickles.Test/DocumentationBuilders/HTML/AutomationLayer/CurrentScenarioContext.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/AutomationLayer/CurrentScenarioContext.cs index 0a6216046..ff1515e08 100644 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/AutomationLayer/CurrentScenarioContext.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/AutomationLayer/CurrentScenarioContext.cs @@ -21,11 +21,12 @@ using System; using System.Collections; using System.Xml.Linq; + using Autofac; using PicklesDoc.Pickles.ObjectModel; -namespace PicklesDoc.Pickles.Test.DocumentationBuilders.HTML.AutomationLayer +namespace PicklesDoc.Pickles.DocumentationBuilders.Html.UnitTests.AutomationLayer { public class CurrentScenarioContext { @@ -35,9 +36,9 @@ public Feature Feature { get { - if (Current.ContainsKey("Feature")) + if (this.Current.ContainsKey("Feature")) { - return Current["Feature"] as Feature; + return this.Current["Feature"] as Feature; } else { @@ -47,7 +48,7 @@ public Feature Feature set { - Current["Feature"] = value; + this.Current["Feature"] = value; } } @@ -57,9 +58,9 @@ public XElement Html { get { - if (Current.ContainsKey("Html")) + if (this.Current.ContainsKey("Html")) { - return Current["Html"] as XElement; + return this.Current["Html"] as XElement; } else { @@ -69,7 +70,7 @@ public XElement Html set { - Current["Html"] = value; + this.Current["Html"] = value; } } } diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/AutomationLayer/Hooks.cs b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/AutomationLayer/Hooks.cs similarity index 84% rename from src/Pickles/Pickles.Test/DocumentationBuilders/HTML/AutomationLayer/Hooks.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/AutomationLayer/Hooks.cs index e0feb819a..1d0be6793 100644 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/AutomationLayer/Hooks.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/AutomationLayer/Hooks.cs @@ -20,10 +20,12 @@ using System; using System.Linq; + using Autofac; + using TechTalk.SpecFlow; -namespace PicklesDoc.Pickles.Test.DocumentationBuilders.HTML.AutomationLayer +namespace PicklesDoc.Pickles.DocumentationBuilders.Html.UnitTests.AutomationLayer { [Binding] public class Hooks @@ -44,11 +46,11 @@ public void BeforeScenario() var builder = new ContainerBuilder(); builder.RegisterAssemblyTypes(typeof(Runner).Assembly); builder.RegisterModule(); - CurrentScenarioContext.Container = builder.Build(); + this.CurrentScenarioContext.Container = builder.Build(); if (this.scenarioContext.ScenarioInfo.Tags.Contains("enableExperimentalFeatures")) { - var configuration = CurrentScenarioContext.Container.Resolve(); + var configuration = this.CurrentScenarioContext.Container.Resolve(); configuration.EnableExperimentalFeatures(); } } @@ -56,11 +58,11 @@ public void BeforeScenario() [AfterScenario] public void AfterScenario() { - var container = CurrentScenarioContext.Container; + var container = this.CurrentScenarioContext.Container; container?.Dispose(); - CurrentScenarioContext.Container = null; + this.CurrentScenarioContext.Container = null; } } } diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/AutomationLayer/StepDefinitions.cs b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/AutomationLayer/StepDefinitions.cs similarity index 82% rename from src/Pickles/Pickles.Test/DocumentationBuilders/HTML/AutomationLayer/StepDefinitions.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/AutomationLayer/StepDefinitions.cs index f2a550fb8..a17799182 100644 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/AutomationLayer/StepDefinitions.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/AutomationLayer/StepDefinitions.cs @@ -20,13 +20,16 @@ using System; using System.Xml; + using Autofac; + using NFluent; -using PicklesDoc.Pickles.DocumentationBuilders.HTML; + using PicklesDoc.Pickles.ObjectModel; + using TechTalk.SpecFlow; -namespace PicklesDoc.Pickles.Test.DocumentationBuilders.HTML.AutomationLayer +namespace PicklesDoc.Pickles.DocumentationBuilders.Html.UnitTests.AutomationLayer { [Binding] public class StepDefinitions @@ -41,7 +44,7 @@ public StepDefinitions(CurrentScenarioContext currentScenarioContext) [Given(@"I have this feature description")] public void GivenIHaveThisFeatureDescription(string multilineText) { - CurrentScenarioContext.Feature = new Feature + this.CurrentScenarioContext.Feature = new Feature { Name = "a feature", Description = multilineText @@ -51,7 +54,7 @@ public void GivenIHaveThisFeatureDescription(string multilineText) [Given(@"I have this feature file")] public void GivenIHaveThisFeatureFile(string multilineText) { - CurrentScenarioContext.Feature = new Feature + this.CurrentScenarioContext.Feature = new Feature { Name = "a feature", Description = multilineText @@ -61,16 +64,16 @@ public void GivenIHaveThisFeatureFile(string multilineText) [When(@"I generate the documentation")] public void WhenIGenerateTheDocumentation() { - var configuration = CurrentScenarioContext.Container.Resolve(); - var htmlFeatureFormatter = CurrentScenarioContext.Container.Resolve(); + var configuration = this.CurrentScenarioContext.Container.Resolve(); + var htmlFeatureFormatter = this.CurrentScenarioContext.Container.Resolve(); - CurrentScenarioContext.Html = htmlFeatureFormatter.Format(CurrentScenarioContext.Feature); + this.CurrentScenarioContext.Html = htmlFeatureFormatter.Format(this.CurrentScenarioContext.Feature); } [Then(@"the result should be")] public void ThenTheResultShouldBe(string multilineText) { - var actual = CurrentScenarioContext.Html.ToString(); + var actual = this.CurrentScenarioContext.Html.ToString(); actual = actual.Replace(" xmlns=\"http://www.w3.org/1999/xhtml\"", string.Empty); actual = FormatXml(actual); diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/FormattingAFeature.feature b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/FormattingAFeature.feature similarity index 100% rename from src/Pickles/Pickles.Test/DocumentationBuilders/HTML/FormattingAFeature.feature rename to src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/FormattingAFeature.feature diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/FormattingAFeature.feature.cs b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/FormattingAFeature.feature.cs similarity index 83% rename from src/Pickles/Pickles.Test/DocumentationBuilders/HTML/FormattingAFeature.feature.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/FormattingAFeature.feature.cs index dc9d9d3d7..75fc3d1d6 100644 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/FormattingAFeature.feature.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/FormattingAFeature.feature.cs @@ -1,68 +1,70 @@ // ------------------------------------------------------------------------------ // // This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:2.0.0.0 +// 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 + +using System; + +using TechTalk.SpecFlow; + #pragma warning disable -namespace PicklesDoc.Pickles.Test.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html.UnitTests { - using TechTalk.SpecFlow; - - - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "2.0.0.0")] + [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(); + this.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); + this.testRunner.OnFeatureStart(featureInfo); } - + [NUnit.Framework.TestFixtureTearDownAttribute()] public virtual void FeatureTearDown() { - testRunner.OnFeatureEnd(); - testRunner = null; + this.testRunner.OnFeatureEnd(); + this.testRunner = null; } - + [NUnit.Framework.SetUpAttribute()] public virtual void TestInitialize() { } - + [NUnit.Framework.TearDownAttribute()] public virtual void ScenarioTearDown() { - testRunner.OnScenarioEnd(); + this.testRunner.OnScenarioEnd(); } - + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { - testRunner.OnScenarioStart(scenarioInfo); + this.testRunner.OnScenarioStart(scenarioInfo); } - + public virtual void ScenarioCleanup() { - testRunner.CollectScenarioErrors(); + this.testRunner.CollectScenarioErrors(); } - + [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Description should be Formatted as Markdown")] public virtual void DescriptionShouldBeFormattedAsMarkdown() @@ -72,7 +74,7 @@ public virtual void DescriptionShouldBeFormattedAsMarkdown() this.ScenarioSetup(scenarioInfo); #line hidden #line 5 - testRunner.Given("I have this feature description", @"In order to see the description as nice HTML + this.testRunner.Given("I have this feature description", @"In order to see the description as nice HTML As a Pickles user I want to see the descriptions written in markdown rendered as HTML @@ -97,10 +99,10 @@ I also enjoy ordering things 1. This is the first reason 2. This is the second reason", ((TechTalk.SpecFlow.Table)(null)), "Given "); #line 32 - testRunner.When("I generate the documentation", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + this.testRunner.When("I generate the documentation", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 33 - testRunner.Then("the result should be", @"
        + this.testRunner.Then("the result should be", @"

        a feature

        In order to see the description as nice HTML @@ -129,7 +131,7 @@ to describe text

        #line hidden this.ScenarioCleanup(); } - + [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Markdown Tables should be Formatted as HTML Tables")] public virtual void MarkdownTablesShouldBeFormattedAsHTMLTables() @@ -139,7 +141,7 @@ public virtual void MarkdownTablesShouldBeFormattedAsHTMLTables() this.ScenarioSetup(scenarioInfo); #line hidden #line 65 - testRunner.Given("I have this feature description", @"In order to see the description as nice HTML + this.testRunner.Given("I have this feature description", @"In order to see the description as nice HTML As a Pickles user I want to see the descriptions written in markdown rendered with tables @@ -149,10 +151,10 @@ I want to see the descriptions written in markdown rendered with tables | Cell value 3 | | | Cell value 4 | Cell value 5 |", ((TechTalk.SpecFlow.Table)(null)), "Given "); #line 77 - testRunner.When("I generate the documentation", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + this.testRunner.When("I generate the documentation", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 78 - testRunner.Then("the result should be", @"
        + this.testRunner.Then("the result should be", @"

        a feature

        In order to see the description as nice HTML @@ -186,7 +188,7 @@ I want to see the descriptions written in markdown rendered with tables

        #line hidden this.ScenarioCleanup(); } - + [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Somewhat malformed Markdown Tables should be formatted as HTML Tables as well")] public virtual void SomewhatMalformedMarkdownTablesShouldBeFormattedAsHTMLTablesAsWell() @@ -196,7 +198,7 @@ public virtual void SomewhatMalformedMarkdownTablesShouldBeFormattedAsHTMLTables this.ScenarioSetup(scenarioInfo); #line hidden #line 115 - testRunner.Given("I have this feature description", @"In order to see the description as nice HTML + this.testRunner.Given("I have this feature description", @"In order to see the description as nice HTML As a Pickles user I want to see the descriptions written in markdown rendered with tables @@ -206,10 +208,10 @@ I want to see the descriptions written in markdown rendered with tables | Cell value 3 Note the missing column delimiter here | | Cell value 4 | Cell value 5 |", ((TechTalk.SpecFlow.Table)(null)), "Given "); #line 127 - testRunner.When("I generate the documentation", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + this.testRunner.When("I generate the documentation", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 128 - testRunner.Then("the result should be", @"
        + this.testRunner.Then("the result should be", @"

        a feature

        In order to see the description as nice HTML diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/FormattingAFeatureUsingStrike.feature b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/FormattingAFeatureUsingStrike.feature similarity index 100% rename from src/Pickles/Pickles.Test/DocumentationBuilders/HTML/FormattingAFeatureUsingStrike.feature rename to src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/FormattingAFeatureUsingStrike.feature diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/FormattingAFeatureUsingStrike.feature.cs b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/FormattingAFeatureUsingStrike.feature.cs similarity index 71% rename from src/Pickles/Pickles.Test/DocumentationBuilders/HTML/FormattingAFeatureUsingStrike.feature.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/FormattingAFeatureUsingStrike.feature.cs index 0557ecac0..07091d1d6 100644 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/FormattingAFeatureUsingStrike.feature.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/FormattingAFeatureUsingStrike.feature.cs @@ -1,68 +1,70 @@ // ------------------------------------------------------------------------------ // // This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:2.0.0.0 +// 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 + +using System; + +using TechTalk.SpecFlow; + #pragma warning disable -namespace PicklesDoc.Pickles.Test.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html.UnitTests { - using TechTalk.SpecFlow; - - - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "2.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "2.1.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("Formatting a Feature Using Strike")] public partial class FormattingAFeatureUsingStrikeFeature { - + private TechTalk.SpecFlow.ITestRunner testRunner; - + #line 1 "FormattingAFeatureUsingStrike.feature" #line hidden - + [NUnit.Framework.TestFixtureSetUpAttribute()] public virtual void FeatureSetup() { - testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + this.testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Formatting a Feature Using Strike", null, ProgrammingLanguage.CSharp, ((string[])(null))); - testRunner.OnFeatureStart(featureInfo); + this.testRunner.OnFeatureStart(featureInfo); } - + [NUnit.Framework.TestFixtureTearDownAttribute()] public virtual void FeatureTearDown() { - testRunner.OnFeatureEnd(); - testRunner = null; + this.testRunner.OnFeatureEnd(); + this.testRunner = null; } - + [NUnit.Framework.SetUpAttribute()] public virtual void TestInitialize() { } - + [NUnit.Framework.TearDownAttribute()] public virtual void ScenarioTearDown() { - testRunner.OnScenarioEnd(); + this.testRunner.OnScenarioEnd(); } - + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { - testRunner.OnScenarioStart(scenarioInfo); + this.testRunner.OnScenarioStart(scenarioInfo); } - + public virtual void ScenarioCleanup() { - testRunner.CollectScenarioErrors(); + this.testRunner.CollectScenarioErrors(); } - + [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Description with image should render correctly")] [NUnit.Framework.CategoryAttribute("enableExperimentalFeatures")] @@ -74,18 +76,18 @@ public virtual void DescriptionWithImageShouldRenderCorrectly() this.ScenarioSetup(scenarioInfo); #line hidden #line 6 - testRunner.Given("I have this feature description", "Including a picture: ![](./image.png)", ((TechTalk.SpecFlow.Table)(null)), "Given "); + this.testRunner.Given("I have this feature description", "Including a picture: ![](./image.png)", ((TechTalk.SpecFlow.Table)(null)), "Given "); #line 10 - testRunner.When("I generate the documentation", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + this.testRunner.When("I generate the documentation", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 11 - testRunner.Then("the result should be", "

        \r\n

        a feature

        \r\n
        \r\n

        Inc" + + this.testRunner.Then("the result should be", "

        \r\n

        a feature

        \r\n
        \r\n

        Inc" + "luding a picture: \"\"

        \r\n
        \r\n
          \r\n
        ", ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden this.ScenarioCleanup(); } - + [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Description with image with extra attributes should render correctly")] public virtual void DescriptionWithImageWithExtraAttributesShouldRenderCorrectly() @@ -95,12 +97,12 @@ public virtual void DescriptionWithImageWithExtraAttributesShouldRenderCorrectly this.ScenarioSetup(scenarioInfo); #line hidden #line 24 - testRunner.Given("I have this feature description", "Including a picture: ![alt text](./image.png \"Image Title\")", ((TechTalk.SpecFlow.Table)(null)), "Given "); + this.testRunner.Given("I have this feature description", "Including a picture: ![alt text](./image.png \"Image Title\")", ((TechTalk.SpecFlow.Table)(null)), "Given "); #line 28 - testRunner.When("I generate the documentation", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + this.testRunner.When("I generate the documentation", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 29 - testRunner.Then("the result should be", "
        \r\n

        a feature

        \r\n
        \r\n

        Inc" + + this.testRunner.Then("the result should be", "

        \r\n

        a feature

        \r\n
        \r\n

        Inc" + "luding a picture: \"alt\r\n

        \r\n
          \r\n
        ", ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden diff --git a/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/Pickles.DocumentationBuilders.Html.UnitTests.csproj b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/Pickles.DocumentationBuilders.Html.UnitTests.csproj new file mode 100644 index 000000000..8c33fd746 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/Pickles.DocumentationBuilders.Html.UnitTests.csproj @@ -0,0 +1,127 @@ + + + + + Debug + AnyCPU + {B7CFAD40-9D85-4B4F-AB2C-F0D007083A99} + Library + Properties + PicklesDoc.Pickles.DocumentationBuilders.Html.UnitTests + PicklesDoc.Pickles.DocumentationBuilders.Html.UnitTests + v4.5 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\Autofac.4.1.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.137\lib\net40\System.IO.Abstractions.dll + True + + + + + + + + + ..\packages\SpecFlow.2.1.0\lib\net45\TechTalk.SpecFlow.dll + + + + + VersionInfo.cs + + + + + + FormattingAFeature.feature + True + True + + + FormattingAFeatureUsingStrike.feature + True + True + + + + + + + + + + + + + SpecFlowSingleFileGenerator + FormattingAFeature.feature.cs + + + SpecFlowSingleFileGenerator + FormattingAFeatureUsingStrike.feature.cs + + + + + + {2C849AD2-D125-4754-8BBA-7C61FA6251E4} + Pickles.DocumentationBuilders.Html + + + {55382AFC-E050-4DF7-AA4F-0ABA71E2E169} + Pickles.ObjectModel + + + {8BD9FCD2-7ED5-46B5-B6A4-7FA3775E159F} + Pickles.Test + + + {38BAD6E0-78AB-4AC3-91A8-BF72AF5EE394} + Pickles + + + + + + + + \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/Pickles.DocumentationBuilders.Html.UnitTests.v2.ncrunchproject b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/Pickles.DocumentationBuilders.Html.UnitTests.v2.ncrunchproject new file mode 100644 index 000000000..05b974659 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/Pickles.DocumentationBuilders.Html.UnitTests.v2.ncrunchproject @@ -0,0 +1,27 @@ + + true + 1000 + false + false + false + true + false + false + false + false + false + true + false + true + false + true + true + true + 60000 + + + + AutoDetect + STA + x86 + \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/Properties/AssemblyInfo.cs b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..d7d0b17b3 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/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.Html")] +[assembly: AssemblyDescription("A Pickles output formatter that outputs HTML documents")] \ No newline at end of file diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/StrikeMarkdownProviderTests.cs b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/StrikeMarkdownProviderTests.cs similarity index 94% rename from src/Pickles/Pickles.Test/DocumentationBuilders/HTML/StrikeMarkdownProviderTests.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/StrikeMarkdownProviderTests.cs index 7406e2c6d..8d78275dc 100644 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/StrikeMarkdownProviderTests.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/StrikeMarkdownProviderTests.cs @@ -18,11 +18,13 @@ // // -------------------------------------------------------------------------------------------------------------------- +using System; + using NFluent; using NUnit.Framework; -namespace PicklesDoc.Pickles.Test.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html.UnitTests { [TestFixture] public class StrikeMarkdownProviderTests diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/WhenFormattingFeatures.cs b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/WhenFormattingFeatures.cs similarity index 98% rename from src/Pickles/Pickles.Test/DocumentationBuilders/HTML/WhenFormattingFeatures.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/WhenFormattingFeatures.cs index f26261f60..481d2a8a9 100644 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/WhenFormattingFeatures.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/WhenFormattingFeatures.cs @@ -21,13 +21,17 @@ using System; using System.Linq; using System.Xml.Linq; + using Autofac; + using NFluent; + using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.HTML; + using PicklesDoc.Pickles.ObjectModel; +using PicklesDoc.Pickles.Test; -namespace PicklesDoc.Pickles.Test.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html.UnitTests { [TestFixture] public class WhenFormattingFeatures : BaseFixture diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/WhenFormattingMultilineStrings.cs b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/WhenFormattingMultilineStrings.cs similarity index 94% rename from src/Pickles/Pickles.Test/DocumentationBuilders/HTML/WhenFormattingMultilineStrings.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/WhenFormattingMultilineStrings.cs index 1bb3a4196..fb8f38d37 100644 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/WhenFormattingMultilineStrings.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/WhenFormattingMultilineStrings.cs @@ -19,12 +19,16 @@ // -------------------------------------------------------------------------------------------------------------------- using System; + using Autofac; + using NFluent; + using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.HTML; -namespace PicklesDoc.Pickles.Test.DocumentationBuilders.HTML +using PicklesDoc.Pickles.Test; + +namespace PicklesDoc.Pickles.DocumentationBuilders.Html.UnitTests { [TestFixture] public class WhenFormattingMultilineStrings : BaseFixture diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/WhenFormattingScenario.cs b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/WhenFormattingScenario.cs similarity index 98% rename from src/Pickles/Pickles.Test/DocumentationBuilders/HTML/WhenFormattingScenario.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/WhenFormattingScenario.cs index 03afa3ad1..1a0a4f8fc 100644 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/WhenFormattingScenario.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/WhenFormattingScenario.cs @@ -21,13 +21,17 @@ using System; using System.Linq; using System.Xml.Linq; + using Autofac; + using NFluent; + using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.HTML; + using PicklesDoc.Pickles.ObjectModel; +using PicklesDoc.Pickles.Test; -namespace PicklesDoc.Pickles.Test.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html.UnitTests { [TestFixture] public class WhenFormattingScenario : BaseFixture diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/WhenFormattingScenarioOutlines.cs b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/WhenFormattingScenarioOutlines.cs similarity index 98% rename from src/Pickles/Pickles.Test/DocumentationBuilders/HTML/WhenFormattingScenarioOutlines.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/WhenFormattingScenarioOutlines.cs index 58dbb0e53..f2b62c43d 100644 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/WhenFormattingScenarioOutlines.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/WhenFormattingScenarioOutlines.cs @@ -20,14 +20,18 @@ using System; using System.Collections.Generic; + using Autofac; + using NFluent; + using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.HTML; + using PicklesDoc.Pickles.ObjectModel; +using PicklesDoc.Pickles.Test; using PicklesDoc.Pickles.Test.Extensions; -namespace PicklesDoc.Pickles.Test.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html.UnitTests { [TestFixture] public class WhenFormattingScenarioOutlines : BaseFixture diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/WhenFormattingStep.cs b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/WhenFormattingStep.cs similarity index 79% rename from src/Pickles/Pickles.Test/DocumentationBuilders/HTML/WhenFormattingStep.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/WhenFormattingStep.cs index fa8e39609..354cc4ad6 100644 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/WhenFormattingStep.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/WhenFormattingStep.cs @@ -21,13 +21,17 @@ using System; using System.Collections.Generic; using System.Xml.Linq; + using Autofac; + using NFluent; + using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.HTML; + using PicklesDoc.Pickles.ObjectModel; +using PicklesDoc.Pickles.Test; -namespace PicklesDoc.Pickles.Test.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html.UnitTests { [TestFixture] public class WhenFormattingStep : BaseFixture @@ -51,17 +55,17 @@ public void Multiline_strings_are_formatted_as_list_items_with_pre_elements_form XElement actual = formatter.Format(step); var expected = new XElement( - xmlns + "li", + this.xmlns + "li", new XAttribute("class", "step"), - new XElement(xmlns + "span", new XAttribute("class", "keyword"), ExpectedGivenHtml), + new XElement(this.xmlns + "span", new XAttribute("class", "keyword"), ExpectedGivenHtml), new XText("a simple step"), new XElement( - xmlns + "div", + this.xmlns + "div", new XAttribute("class", "pre"), new XElement( - xmlns + "pre", + this.xmlns + "pre", new XElement( - xmlns + "code", + this.xmlns + "code", new XAttribute("class", "no-highlight"), new XText( "this is a\nmultiline table\nargument"))))); @@ -85,9 +89,9 @@ public void Simple_steps_are_formatted_as_list_items() XElement actual = formatter.Format(step); var expected = new XElement( - xmlns + "li", + this.xmlns + "li", new XAttribute("class", "step"), - new XElement(xmlns + "span", new XAttribute("class", "keyword"), ExpectedGivenHtml), + new XElement(this.xmlns + "span", new XAttribute("class", "keyword"), ExpectedGivenHtml), "a simple step"); Check.That(expected).IsDeeplyEqualTo(actual); @@ -112,9 +116,9 @@ public void Steps_get_selected_Language() XElement actual = formatter.Format(step); var expected = new XElement( - xmlns + "li", + this.xmlns + "li", new XAttribute("class", "step"), - new XElement(xmlns + "span", new XAttribute("class", "keyword"), "Givet "), + new XElement(this.xmlns + "span", new XAttribute("class", "keyword"), "Givet "), "ett enkelt steg"); Check.That(expected).IsDeeplyEqualTo(actual); @@ -142,38 +146,38 @@ public void Tables_are_formatted_as_list_items_with_tables_internal() XElement actual = formatter.Format(step); var expected = new XElement( - xmlns + "li", + this.xmlns + "li", new XAttribute("class", "step"), - new XElement(xmlns + "span", new XAttribute("class", "keyword"), ExpectedGivenHtml), + new XElement(this.xmlns + "span", new XAttribute("class", "keyword"), ExpectedGivenHtml), new XText("a simple step"), new XElement( - xmlns + "div", + this.xmlns + "div", new XAttribute("class", "table_container"), new XElement( - xmlns + "table", + this.xmlns + "table", new XAttribute("class", "datatable"), new XElement( - xmlns + "thead", + this.xmlns + "thead", new XElement( - xmlns + "tr", + this.xmlns + "tr", new XElement( - xmlns + "th", + this.xmlns + "th", "Column 1"), new XElement( - xmlns + "th", + this.xmlns + "th", "Column 2"), new XElement( - xmlns + "th", + this.xmlns + "th", " "))), new XElement( - xmlns + "tbody", + this.xmlns + "tbody", new XElement( - xmlns + "tr", + this.xmlns + "tr", new XElement( - xmlns + "td", + this.xmlns + "td", "Value 1"), new XElement( - xmlns + "td", + this.xmlns + "td", "Value 2")))))); Check.That(expected).IsDeeplyEqualTo(actual); @@ -203,10 +207,10 @@ public void Comments_are_displayed_above_their_related_step() XElement actual = formatter.Format(step); var expected = new XElement( - xmlns + "li", + this.xmlns + "li", new XAttribute("class", "step"), - new XElement(xmlns + "span", new XAttribute("class", "comment"), "# A simple comment"), - new XElement(xmlns + "span", new XAttribute("class", "keyword"), ExpectedGivenHtml), + new XElement(this.xmlns + "span", new XAttribute("class", "comment"), "# A simple comment"), + new XElement(this.xmlns + "span", new XAttribute("class", "keyword"), ExpectedGivenHtml), "a simple step"); Check.That(expected).IsDeeplyEqualTo(actual); @@ -241,12 +245,12 @@ public void Comments_after_the_last_step_are_displayed() XElement actual = formatter.Format(step); var expected = new XElement( - xmlns + "li", + this.xmlns + "li", new XAttribute("class", "step"), - new XElement(xmlns + "span", new XAttribute("class", "comment"), "# A simple comment"), - new XElement(xmlns + "span", new XAttribute("class", "keyword"), ExpectedGivenHtml), + new XElement(this.xmlns + "span", new XAttribute("class", "comment"), "# A simple comment"), + new XElement(this.xmlns + "span", new XAttribute("class", "keyword"), ExpectedGivenHtml), "a simple step", - new XElement(xmlns + "span", new XAttribute("class", "comment"), "# A comment after the last step")); + new XElement(this.xmlns + "span", new XAttribute("class", "comment"), "# A comment after the last step")); Check.That(expected).IsDeeplyEqualTo(actual); } @@ -280,14 +284,14 @@ public void Multiline_comments_are_displayed_in_the_same_element() XElement actual = formatter.Format(step); var expected = new XElement( - xmlns + "li", + this.xmlns + "li", new XAttribute("class", "step"), - new XElement(xmlns + "span", new XAttribute("class", "comment"), + new XElement(this.xmlns + "span", new XAttribute("class", "comment"), "# A first line", - new XElement(xmlns + "br"), + new XElement(this.xmlns + "br"), "# A second line" ), - new XElement(xmlns + "span", new XAttribute("class", "keyword"), ExpectedGivenHtml), + new XElement(this.xmlns + "span", new XAttribute("class", "keyword"), ExpectedGivenHtml), "a simple step"); Check.That(expected).IsDeeplyEqualTo(actual); diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/WhenFormattingTables.cs b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/WhenFormattingTables.cs similarity index 95% rename from src/Pickles/Pickles.Test/DocumentationBuilders/HTML/WhenFormattingTables.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/WhenFormattingTables.cs index 24bd4ac5f..d5d5dfcef 100644 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/HTML/WhenFormattingTables.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/WhenFormattingTables.cs @@ -21,13 +21,17 @@ using System; using System.Collections.Generic; using System.Xml.Linq; + using Autofac; + using NFluent; + using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.HTML; + using PicklesDoc.Pickles.ObjectModel; +using PicklesDoc.Pickles.Test; -namespace PicklesDoc.Pickles.Test.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html.UnitTests { [TestFixture] public class WhenFormattingTables : BaseFixture diff --git a/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/packages.config b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/packages.config new file mode 100644 index 000000000..8ead2c6a8 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Html.UnitTests/packages.config @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/Pickles/Pickles/Extensions/NamespaceExtensions.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/Extensions/NamespaceExtensions.cs similarity index 96% rename from src/Pickles/Pickles/Extensions/NamespaceExtensions.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html/Extensions/NamespaceExtensions.cs index 392633cbb..ca765dd09 100644 --- a/src/Pickles/Pickles/Extensions/NamespaceExtensions.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/Extensions/NamespaceExtensions.cs @@ -21,7 +21,7 @@ using System; using System.Xml.Linq; -namespace PicklesDoc.Pickles.Extensions +namespace PicklesDoc.Pickles.DocumentationBuilders.Html.Extensions { /// /// Extension Methods to work with namespaces. diff --git a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlContentFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlContentFormatter.cs similarity index 98% rename from src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlContentFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html/HtmlContentFormatter.cs index 93548750c..a7eb092ff 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlContentFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlContentFormatter.cs @@ -21,9 +21,10 @@ using System; using System.Collections.Generic; using System.Xml.Linq; + using PicklesDoc.Pickles.DirectoryCrawler; -namespace PicklesDoc.Pickles.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html { public class HtmlContentFormatter { diff --git a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlDescriptionFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlDescriptionFormatter.cs similarity index 94% rename from src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlDescriptionFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html/HtmlDescriptionFormatter.cs index 1546b9004..de889fe7f 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlDescriptionFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlDescriptionFormatter.cs @@ -21,9 +21,9 @@ using System; using System.Xml.Linq; -using PicklesDoc.Pickles.Extensions; +using PicklesDoc.Pickles.DocumentationBuilders.Html.Extensions; -namespace PicklesDoc.Pickles.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html { public class HtmlDescriptionFormatter { diff --git a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlDocumentFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlDocumentFormatter.cs similarity index 99% rename from src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlDocumentFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html/HtmlDocumentFormatter.cs index fdfe2fce9..aeddd320c 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlDocumentFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlDocumentFormatter.cs @@ -21,10 +21,11 @@ using System; using System.IO.Abstractions; using System.Xml.Linq; + using PicklesDoc.Pickles.DataStructures; using PicklesDoc.Pickles.DirectoryCrawler; -namespace PicklesDoc.Pickles.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html { public class HtmlDocumentFormatter { diff --git a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlDocumentationBuilder.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlDocumentationBuilder.cs similarity index 98% rename from src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlDocumentationBuilder.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html/HtmlDocumentationBuilder.cs index 00f7e5831..889f3b17f 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlDocumentationBuilder.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlDocumentationBuilder.cs @@ -23,12 +23,14 @@ using System.Reflection; using System.Text; using System.Xml.Linq; + using NLog; + using PicklesDoc.Pickles.DataStructures; using PicklesDoc.Pickles.DirectoryCrawler; using PicklesDoc.Pickles.Extensions; -namespace PicklesDoc.Pickles.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html { public class HtmlDocumentationBuilder : IDocumentationBuilder { diff --git a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlFeatureFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlFeatureFormatter.cs similarity index 98% rename from src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlFeatureFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html/HtmlFeatureFormatter.cs index 47159d88e..95f122ba3 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlFeatureFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlFeatureFormatter.cs @@ -24,7 +24,7 @@ using PicklesDoc.Pickles.ObjectModel; -namespace PicklesDoc.Pickles.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html { public class HtmlFeatureFormatter : IHtmlFeatureFormatter { diff --git a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlFooterFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlFooterFormatter.cs similarity index 98% rename from src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlFooterFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html/HtmlFooterFormatter.cs index 164fbd03c..f09627ddc 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlFooterFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlFooterFormatter.cs @@ -22,7 +22,7 @@ using System.Reflection; using System.Xml.Linq; -namespace PicklesDoc.Pickles.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html { public class HtmlFooterFormatter { diff --git a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlHeaderFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlHeaderFormatter.cs similarity index 95% rename from src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlHeaderFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html/HtmlHeaderFormatter.cs index 31f2a6b06..740b2cde6 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlHeaderFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlHeaderFormatter.cs @@ -21,7 +21,7 @@ using System; using System.Xml.Linq; -namespace PicklesDoc.Pickles.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html { public class HtmlHeaderFormatter { diff --git a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlImageResultFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlImageResultFormatter.cs similarity index 98% rename from src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlImageResultFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html/HtmlImageResultFormatter.cs index 2094bed1f..7bc1b27e8 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlImageResultFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlImageResultFormatter.cs @@ -23,9 +23,8 @@ using System.Xml.Linq; using PicklesDoc.Pickles.ObjectModel; -using PicklesDoc.Pickles.TestFrameworks; -namespace PicklesDoc.Pickles.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html { public class HtmlImageResultFormatter { diff --git a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlIndexFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlIndexFormatter.cs similarity index 98% rename from src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlIndexFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html/HtmlIndexFormatter.cs index 7b4c1499b..b47829b73 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlIndexFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlIndexFormatter.cs @@ -23,10 +23,11 @@ using System.IO.Abstractions; using System.Linq; using System.Xml.Linq; + using PicklesDoc.Pickles.DirectoryCrawler; using PicklesDoc.Pickles.Extensions; -namespace PicklesDoc.Pickles.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html { public class HtmlIndexFormatter { diff --git a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlMarkdownFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlMarkdownFormatter.cs similarity index 93% rename from src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlMarkdownFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html/HtmlMarkdownFormatter.cs index 7b3df74e9..ac32c5f8c 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlMarkdownFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlMarkdownFormatter.cs @@ -20,9 +20,10 @@ using System; using System.Xml.Linq; -using PicklesDoc.Pickles.Extensions; -namespace PicklesDoc.Pickles.DocumentationBuilders.HTML +using PicklesDoc.Pickles.DocumentationBuilders.Html.Extensions; + +namespace PicklesDoc.Pickles.DocumentationBuilders.Html { public class HtmlMarkdownFormatter { diff --git a/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlModule.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlModule.cs new file mode 100644 index 000000000..b41019e0b --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlModule.cs @@ -0,0 +1,45 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright 2011 Jeffrey Cameron +// 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 Autofac; + +namespace PicklesDoc.Pickles.DocumentationBuilders.Html +{ + public class HtmlModule : Autofac.Module + { + protected override void Load(ContainerBuilder builder) + { + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + } + } +} \ No newline at end of file diff --git a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlMultilineStringFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlMultilineStringFormatter.cs similarity index 97% rename from src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlMultilineStringFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html/HtmlMultilineStringFormatter.cs index 20dab41da..a84d075f9 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlMultilineStringFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlMultilineStringFormatter.cs @@ -21,7 +21,7 @@ using System; using System.Xml.Linq; -namespace PicklesDoc.Pickles.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html { public class HtmlMultilineStringFormatter { diff --git a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlNamespace.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlNamespace.cs similarity index 95% rename from src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlNamespace.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html/HtmlNamespace.cs index e1f1ca779..ce12ab981 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlNamespace.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlNamespace.cs @@ -21,7 +21,7 @@ using System; using System.Xml.Linq; -namespace PicklesDoc.Pickles.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html { public static class HtmlNamespace { diff --git a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlResource.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlResource.cs similarity index 95% rename from src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlResource.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html/HtmlResource.cs index d3b74c8b6..3a6dcc7cf 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlResource.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlResource.cs @@ -20,7 +20,7 @@ using System; -namespace PicklesDoc.Pickles.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html { public class HtmlResource { diff --git a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlResourceSet.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlResourceSet.cs similarity index 99% rename from src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlResourceSet.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html/HtmlResourceSet.cs index aaddcfc59..2fd502a89 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlResourceSet.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlResourceSet.cs @@ -23,9 +23,10 @@ using System.IO.Abstractions; using System.Linq; using System.Reflection; + using PicklesDoc.Pickles.Extensions; -namespace PicklesDoc.Pickles.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html { public class HtmlResourceSet { diff --git a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlResourceWriter.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlResourceWriter.cs similarity index 95% rename from src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlResourceWriter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html/HtmlResourceWriter.cs index 1dbecd98a..ad5aa0547 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlResourceWriter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlResourceWriter.cs @@ -21,12 +21,12 @@ using System; using System.IO.Abstractions; -namespace PicklesDoc.Pickles.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html { public class HtmlResourceWriter : ResourceWriter { public HtmlResourceWriter(IFileSystem fileSystem) - : base(fileSystem, "PicklesDoc.Pickles.Resources.Html.") + : base(fileSystem, "PicklesDoc.Pickles.DocumentationBuilders.Html.Resources.") { } diff --git a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlScenarioFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlScenarioFormatter.cs similarity index 98% rename from src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlScenarioFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html/HtmlScenarioFormatter.cs index df1094740..48b6775f7 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlScenarioFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlScenarioFormatter.cs @@ -25,7 +25,7 @@ using PicklesDoc.Pickles.ObjectModel; -namespace PicklesDoc.Pickles.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html { public class HtmlScenarioFormatter { @@ -73,7 +73,7 @@ public XElement Format(Scenario scenario, int id) new XAttribute("class", "steps"), new XElement( this.xmlns + "ul", - scenario.Steps.Select(step => this.htmlStepFormatter.Format(step)))), + scenario.Steps.Select(step => this.htmlStepFormatter.Format(step)))), this.FormatLinkButton(scenario)); } diff --git a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlScenarioOutlineFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlScenarioOutlineFormatter.cs similarity index 98% rename from src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlScenarioOutlineFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html/HtmlScenarioOutlineFormatter.cs index 8ec8e9058..b1e0d6fb5 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlScenarioOutlineFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlScenarioOutlineFormatter.cs @@ -23,9 +23,8 @@ using System.Xml.Linq; using PicklesDoc.Pickles.ObjectModel; -using PicklesDoc.Pickles.TestFrameworks; -namespace PicklesDoc.Pickles.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html { public class HtmlScenarioOutlineFormatter { diff --git a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlStepFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlStepFormatter.cs similarity index 93% rename from src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlStepFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html/HtmlStepFormatter.cs index 0024f4c62..56df4e64b 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlStepFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlStepFormatter.cs @@ -21,27 +21,24 @@ using System; using System.Linq; using System.Xml.Linq; + using PicklesDoc.Pickles.ObjectModel; -namespace PicklesDoc.Pickles.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html { public class HtmlStepFormatter { private readonly HtmlMultilineStringFormatter htmlMultilineStringFormatter; private readonly HtmlTableFormatter htmlTableFormatter; - private readonly LanguageServices languageServices; - private readonly XNamespace xmlns; public HtmlStepFormatter( HtmlTableFormatter htmlTableFormatter, - HtmlMultilineStringFormatter htmlMultilineStringFormatter, - LanguageServices languageServices) + HtmlMultilineStringFormatter htmlMultilineStringFormatter) { this.htmlTableFormatter = htmlTableFormatter; this.htmlMultilineStringFormatter = htmlMultilineStringFormatter; - this.languageServices = languageServices; this.xmlns = HtmlNamespace.Xhtml; } diff --git a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlTableFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlTableFormatter.cs similarity index 98% rename from src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlTableFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html/HtmlTableFormatter.cs index 6ac532a21..84af4bf69 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlTableFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlTableFormatter.cs @@ -24,7 +24,7 @@ using PicklesDoc.Pickles.ObjectModel; -namespace PicklesDoc.Pickles.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html { public class HtmlTableFormatter { diff --git a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlTableOfContentsFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlTableOfContentsFormatter.cs similarity index 99% rename from src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlTableOfContentsFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html/HtmlTableOfContentsFormatter.cs index 198eef7ab..96cb2ea3d 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/HTML/HtmlTableOfContentsFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/HtmlTableOfContentsFormatter.cs @@ -21,12 +21,13 @@ using System; using System.IO.Abstractions; using System.Xml.Linq; + using PicklesDoc.Pickles.DataStructures; using PicklesDoc.Pickles.DirectoryCrawler; using PicklesDoc.Pickles.Extensions; using PicklesDoc.Pickles.ObjectModel; -namespace PicklesDoc.Pickles.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html { public class HtmlTableOfContentsFormatter { diff --git a/src/Pickles/Pickles/DocumentationBuilders/HTML/IHtmlFeatureFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/IHtmlFeatureFormatter.cs similarity index 95% rename from src/Pickles/Pickles/DocumentationBuilders/HTML/IHtmlFeatureFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html/IHtmlFeatureFormatter.cs index a683ca080..6e9305756 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/HTML/IHtmlFeatureFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/IHtmlFeatureFormatter.cs @@ -23,7 +23,7 @@ using PicklesDoc.Pickles.ObjectModel; -namespace PicklesDoc.Pickles.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html { public interface IHtmlFeatureFormatter { diff --git a/src/Pickles/Pickles.DocumentationBuilders.Html/Pickles.DocumentationBuilders.Html.csproj b/src/Pickles/Pickles.DocumentationBuilders.Html/Pickles.DocumentationBuilders.Html.csproj new file mode 100644 index 000000000..99a43c31a --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/Pickles.DocumentationBuilders.Html.csproj @@ -0,0 +1,142 @@ + + + + + Debug + AnyCPU + {2C849AD2-D125-4754-8BBA-7C61FA6251E4} + Library + Properties + PicklesDoc.Pickles.DocumentationBuilders.Html + PicklesDoc.Pickles.DocumentationBuilders.Html + v4.5 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\Autofac.4.1.1\lib\net45\Autofac.dll + True + + + ..\packages\NLog.4.3.10\lib\net45\NLog.dll + True + + + + + + ..\packages\System.IO.Abstractions.2.0.0.137\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.Html/Pickles.DocumentationBuilders.Html.v2.ncrunchproject b/src/Pickles/Pickles.DocumentationBuilders.Html/Pickles.DocumentationBuilders.Html.v2.ncrunchproject new file mode 100644 index 000000000..05b974659 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/Pickles.DocumentationBuilders.Html.v2.ncrunchproject @@ -0,0 +1,27 @@ + + true + 1000 + false + false + false + true + false + false + false + false + false + true + false + true + false + true + true + true + 60000 + + + + AutoDetect + STA + x86 + \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Html/Properties/AssemblyInfo.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..d7d0b17b3 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/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.Html")] +[assembly: AssemblyDescription("A Pickles output formatter that outputs HTML documents")] \ No newline at end of file diff --git a/src/Pickles/Pickles/DocumentationBuilders/HTML/ResourceWriter.cs b/src/Pickles/Pickles.DocumentationBuilders.Html/ResourceWriter.cs similarity index 80% rename from src/Pickles/Pickles/DocumentationBuilders/HTML/ResourceWriter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Html/ResourceWriter.cs index a175ac765..62fce3316 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/HTML/ResourceWriter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/ResourceWriter.cs @@ -23,9 +23,8 @@ using System.Drawing.Imaging; using System.IO; using System.IO.Abstractions; -using System.Reflection; -namespace PicklesDoc.Pickles.DocumentationBuilders.HTML +namespace PicklesDoc.Pickles.DocumentationBuilders.Html { public class ResourceWriter { @@ -63,7 +62,7 @@ protected void WriteStyleSheet(string folder, string filename) { string path = this.fileSystem.Path.Combine(folder, filename); - using (var reader = GetResourceStreamReader(this.namespaceOfResources + "css." + filename)) + using (var reader = this.GetResourceStreamReader(this.namespaceOfResources + "css." + filename)) { this.fileSystem.File.WriteAllText(path, reader.ReadToEnd()); } @@ -78,7 +77,7 @@ protected void WriteTextFile(string folder, string filename, string toBeReplaced { string path = this.fileSystem.Path.Combine(folder, filename); - using (var reader = GetResourceStreamReader(this.namespaceOfResources + filename)) + using (var reader = this.GetResourceStreamReader(this.namespaceOfResources + filename)) { var contents = reader.ReadToEnd(); @@ -91,21 +90,21 @@ protected void WriteTextFile(string folder, string filename, string toBeReplaced } } - private static StreamReader GetResourceStreamReader(string nameOfResource) + private StreamReader GetResourceStreamReader(string nameOfResource) { - return new StreamReader(GetResourceStream(nameOfResource)); + return new StreamReader(this.GetResourceStream(nameOfResource)); } - private static Stream GetResourceStream(string nameOfResource) + private Stream GetResourceStream(string nameOfResource) { - return Assembly.GetExecutingAssembly().GetManifestResourceStream(nameOfResource); + return this.GetType().Assembly.GetManifestResourceStream(nameOfResource); } protected void WriteImage(string folder, string filename) { string path = this.fileSystem.Path.Combine(folder, filename); - using (Image image = Image.FromStream(GetResourceStream(this.namespaceOfResources + "img." + filename))) + using (Image image = Image.FromStream(this.GetResourceStream(this.namespaceOfResources + "img." + filename))) { using (var stream = this.fileSystem.File.Create(path)) { @@ -118,7 +117,7 @@ protected void WriteScript(string folder, string filename) { string path = this.fileSystem.Path.Combine(folder, filename); - using (var reader = GetResourceStreamReader(this.namespaceOfResources + "js." + filename)) + using (var reader = this.GetResourceStreamReader(this.namespaceOfResources + "js." + filename)) { this.fileSystem.File.WriteAllText(path, reader.ReadToEnd()); } @@ -126,7 +125,7 @@ protected void WriteScript(string folder, string filename) protected void WriteFont(string folder, string filename) { - using (var input = GetResourceStream(this.namespaceOfResources + "css.fonts." + filename)) + using (var input = this.GetResourceStream(this.namespaceOfResources + "css.fonts." + filename)) { using (var output = this.fileSystem.File.Create(this.fileSystem.Path.Combine(folder, filename))) { diff --git a/src/Pickles/Pickles/Resources/Html/css/font-awesome.css b/src/Pickles/Pickles.DocumentationBuilders.Html/Resources/css/font-awesome.css similarity index 100% rename from src/Pickles/Pickles/Resources/Html/css/font-awesome.css rename to src/Pickles/Pickles.DocumentationBuilders.Html/Resources/css/font-awesome.css diff --git a/src/Pickles/Pickles/Resources/Html/css/fonts/FontAwesome.ttf b/src/Pickles/Pickles.DocumentationBuilders.Html/Resources/css/fonts/FontAwesome.ttf similarity index 100% rename from src/Pickles/Pickles/Resources/Html/css/fonts/FontAwesome.ttf rename to src/Pickles/Pickles.DocumentationBuilders.Html/Resources/css/fonts/FontAwesome.ttf diff --git a/src/Pickles/Pickles/Resources/Html/css/fonts/fontawesome-webfont.eot b/src/Pickles/Pickles.DocumentationBuilders.Html/Resources/css/fonts/fontawesome-webfont.eot similarity index 100% rename from src/Pickles/Pickles/Resources/Html/css/fonts/fontawesome-webfont.eot rename to src/Pickles/Pickles.DocumentationBuilders.Html/Resources/css/fonts/fontawesome-webfont.eot diff --git a/src/Pickles/Pickles/Resources/Html/css/fonts/fontawesome-webfont.svg b/src/Pickles/Pickles.DocumentationBuilders.Html/Resources/css/fonts/fontawesome-webfont.svg similarity index 100% rename from src/Pickles/Pickles/Resources/Html/css/fonts/fontawesome-webfont.svg rename to src/Pickles/Pickles.DocumentationBuilders.Html/Resources/css/fonts/fontawesome-webfont.svg diff --git a/src/Pickles/Pickles/Resources/Html/css/fonts/fontawesome-webfont.ttf b/src/Pickles/Pickles.DocumentationBuilders.Html/Resources/css/fonts/fontawesome-webfont.ttf similarity index 100% rename from src/Pickles/Pickles/Resources/Html/css/fonts/fontawesome-webfont.ttf rename to src/Pickles/Pickles.DocumentationBuilders.Html/Resources/css/fonts/fontawesome-webfont.ttf diff --git a/src/Pickles/Pickles/Resources/Html/css/fonts/fontawesome-webfont.woff b/src/Pickles/Pickles.DocumentationBuilders.Html/Resources/css/fonts/fontawesome-webfont.woff similarity index 100% rename from src/Pickles/Pickles/Resources/Html/css/fonts/fontawesome-webfont.woff rename to src/Pickles/Pickles.DocumentationBuilders.Html/Resources/css/fonts/fontawesome-webfont.woff diff --git a/src/Pickles/Pickles/Resources/Html/css/global.css b/src/Pickles/Pickles.DocumentationBuilders.Html/Resources/css/global.css similarity index 100% rename from src/Pickles/Pickles/Resources/Html/css/global.css rename to src/Pickles/Pickles.DocumentationBuilders.Html/Resources/css/global.css diff --git a/src/Pickles/Pickles/Resources/Html/css/master.css b/src/Pickles/Pickles.DocumentationBuilders.Html/Resources/css/master.css similarity index 100% rename from src/Pickles/Pickles/Resources/Html/css/master.css rename to src/Pickles/Pickles.DocumentationBuilders.Html/Resources/css/master.css diff --git a/src/Pickles/Pickles/Resources/Html/css/print.css b/src/Pickles/Pickles.DocumentationBuilders.Html/Resources/css/print.css similarity index 100% rename from src/Pickles/Pickles/Resources/Html/css/print.css rename to src/Pickles/Pickles.DocumentationBuilders.Html/Resources/css/print.css diff --git a/src/Pickles/Pickles/Resources/Html/css/reset.css b/src/Pickles/Pickles.DocumentationBuilders.Html/Resources/css/reset.css similarity index 100% rename from src/Pickles/Pickles/Resources/Html/css/reset.css rename to src/Pickles/Pickles.DocumentationBuilders.Html/Resources/css/reset.css diff --git a/src/Pickles/Pickles/Resources/Html/css/structure.css b/src/Pickles/Pickles.DocumentationBuilders.Html/Resources/css/structure.css similarity index 100% rename from src/Pickles/Pickles/Resources/Html/css/structure.css rename to src/Pickles/Pickles.DocumentationBuilders.Html/Resources/css/structure.css diff --git a/src/Pickles/Pickles/Resources/Html/img/failure.png b/src/Pickles/Pickles.DocumentationBuilders.Html/Resources/img/failure.png similarity index 100% rename from src/Pickles/Pickles/Resources/Html/img/failure.png rename to src/Pickles/Pickles.DocumentationBuilders.Html/Resources/img/failure.png diff --git a/src/Pickles/Pickles/Resources/Html/img/inconclusive.png b/src/Pickles/Pickles.DocumentationBuilders.Html/Resources/img/inconclusive.png similarity index 100% rename from src/Pickles/Pickles/Resources/Html/img/inconclusive.png rename to src/Pickles/Pickles.DocumentationBuilders.Html/Resources/img/inconclusive.png diff --git a/src/Pickles/Pickles/Resources/Html/img/success.png b/src/Pickles/Pickles.DocumentationBuilders.Html/Resources/img/success.png similarity index 100% rename from src/Pickles/Pickles/Resources/Html/img/success.png rename to src/Pickles/Pickles.DocumentationBuilders.Html/Resources/img/success.png diff --git a/src/Pickles/Pickles/Resources/Html/js/jquery.js b/src/Pickles/Pickles.DocumentationBuilders.Html/Resources/js/jquery.js similarity index 100% rename from src/Pickles/Pickles/Resources/Html/js/jquery.js rename to src/Pickles/Pickles.DocumentationBuilders.Html/Resources/js/jquery.js diff --git a/src/Pickles/Pickles/Resources/Html/js/scripts.js b/src/Pickles/Pickles.DocumentationBuilders.Html/Resources/js/scripts.js similarity index 100% rename from src/Pickles/Pickles/Resources/Html/js/scripts.js rename to src/Pickles/Pickles.DocumentationBuilders.Html/Resources/js/scripts.js diff --git a/src/Pickles/Pickles.DocumentationBuilders.Html/packages.config b/src/Pickles/Pickles.DocumentationBuilders.Html/packages.config new file mode 100644 index 000000000..722150ddc --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Html/packages.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/JSON/AutomationLayer/StepDefinitions.cs b/src/Pickles/Pickles.DocumentationBuilders.Json.UnitTests/AutomationLayer/StepDefinitions.cs similarity index 95% rename from src/Pickles/Pickles.Test/DocumentationBuilders/JSON/AutomationLayer/StepDefinitions.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json.UnitTests/AutomationLayer/StepDefinitions.cs index 27a07843e..ce76c3bd8 100644 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/JSON/AutomationLayer/StepDefinitions.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json.UnitTests/AutomationLayer/StepDefinitions.cs @@ -20,14 +20,18 @@ using System; using System.IO; + using Autofac; + using NFluent; + using PicklesDoc.Pickles.DataStructures; using PicklesDoc.Pickles.DirectoryCrawler; -using PicklesDoc.Pickles.DocumentationBuilders.JSON; +using PicklesDoc.Pickles.Test; + using TechTalk.SpecFlow; -namespace PicklesDoc.Pickles.Test.DocumentationBuilders.JSON.AutomationLayer +namespace PicklesDoc.Pickles.DocumentationBuilders.Json.UnitTests.AutomationLayer { [Binding] [Scope(Tag = "json")] diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/JSON/FormattingAFeature.feature b/src/Pickles/Pickles.DocumentationBuilders.Json.UnitTests/FormattingAFeature.feature similarity index 95% rename from src/Pickles/Pickles.Test/DocumentationBuilders/JSON/FormattingAFeature.feature rename to src/Pickles/Pickles.DocumentationBuilders.Json.UnitTests/FormattingAFeature.feature index 8a47af8a4..0df282113 100644 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/JSON/FormattingAFeature.feature +++ b/src/Pickles/Pickles.DocumentationBuilders.Json.UnitTests/FormattingAFeature.feature @@ -26,7 +26,7 @@ Scenario: A simple feature "RelativeFolder": "", "Feature": { "Name": "Clearing Screen", - "Description": " In order to restart a new set of calculations\r\n As a math idiot\r\n I want to be able to clear the screen", + "Description": "In order to restart a new set of calculations\r\nAs a math idiot\r\nI want to be able to clear the screen", "FeatureElements": [ { "Name": "Clear the screen", @@ -134,7 +134,7 @@ Scenario: A feature with a table "RelativeFolder": "", "Feature": { "Name": "Interactive DHTML View", - "Description": " In order to increase stakeholder engagement with pickled specs\r\n As a SpecFlow evangelist\r\n I want to adjust the level of detail in the DHTML view to suit my audience\r\n So that I do not overwhelm them.", + "Description": "In order to increase stakeholder engagement with pickled specs\r\nAs a SpecFlow evangelist\r\nI want to adjust the level of detail in the DHTML view to suit my audience\r\nSo that I do not overwhelm them.", "FeatureElements": [ { "Name": "Scenario with large data table", diff --git a/src/Pickles/Pickles.DocumentationBuilders.Json.UnitTests/FormattingAFeature.feature.cs b/src/Pickles/Pickles.DocumentationBuilders.Json.UnitTests/FormattingAFeature.feature.cs new file mode 100644 index 000000000..bf6b518f2 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Json.UnitTests/FormattingAFeature.feature.cs @@ -0,0 +1,232 @@ +// ------------------------------------------------------------------------------ +// +// 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 + +using System; + +using TechTalk.SpecFlow; + +#pragma warning disable +namespace PicklesDoc.Pickles.DocumentationBuilders.Json.UnitTests +{ + [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() + { + this.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))); + this.testRunner.OnFeatureStart(featureInfo); + } + + [NUnit.Framework.TestFixtureTearDownAttribute()] + public virtual void FeatureTearDown() + { + this.testRunner.OnFeatureEnd(); + this.testRunner = null; + } + + [NUnit.Framework.SetUpAttribute()] + public virtual void TestInitialize() + { + } + + [NUnit.Framework.TearDownAttribute()] + public virtual void ScenarioTearDown() + { + this.testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + this.testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + this.testRunner.CollectScenarioErrors(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("A simple feature")] + [NUnit.Framework.CategoryAttribute("json")] + public virtual void ASimpleFeature() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("A simple feature", new string[] { + "json"}); +#line 4 +this.ScenarioSetup(scenarioInfo); +#line hidden +#line 6 + this.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 + this.testRunner.When("I generate the documentation", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden +#line 21 + this.testRunner.Then("the JSON file should contain", "{\r\n \"Features\": [\r\n {\r\n \"RelativeFolder\": \"\",\r\n \"Feature\": {\r\n " + + " \"Name\": \"Clearing Screen\",\r\n \"Description\": \"In order to restart a new" + + " set of calculations\\r\\nAs a math idiot\\r\\nI want to be able to clear the screen" + + "\",\r\n \"FeatureElements\": [\r\n {\r\n \"Name\": \"Clear the sc" + + "reen\",\r\n \"Slug\": \"clear-the-screen\",\r\n \"Description\": \"\",\r" + + "\n \"Steps\": [\r\n {\r\n \"Keyword\": \"Given\",\r\n " + + " \"NativeKeyword\": \"Given \",\r\n \"Name\": \"I have enter" + + "ed 50 into the calculator\",\r\n \"StepComments\": [],\r\n " + + " \"AfterLastStepComments\": []\r\n },\r\n {\r\n " + + " \"Keyword\": \"And\",\r\n \"NativeKeyword\": \"And \",\r\n \"" + + "Name\": \"I have entered 70 into the calculator\",\r\n \"StepComments\":" + + " [],\r\n \"AfterLastStepComments\": []\r\n },\r\n " + + " {\r\n \"Keyword\": \"When\",\r\n \"NativeKeyword\": \"When" + + " \",\r\n \"Name\": \"I press C\",\r\n \"StepComments\": [],\r\n" + + " \"AfterLastStepComments\": []\r\n },\r\n {\r\n" + + " \"Keyword\": \"Then\",\r\n \"NativeKeyword\": \"Then \",\r\n " + + " \"Name\": \"the screen should be empty\",\r\n \"StepComme" + + "nts\": [],\r\n \"AfterLastStepComments\": []\r\n }\r\n " + + " ],\r\n \"Tags\": [\r\n \"@workflow\",\r\n \"@slow" + + "\"\r\n ],\r\n \"Result\": {\r\n \"WasExecuted\": false,\r" + + "\n \"WasSuccessful\": false\r\n }\r\n }\r\n ],\r\n " + + " \"Result\": {\r\n \"WasExecuted\": false,\r\n \"WasSuccessful\": " + + "false\r\n },\r\n \"Tags\": []\r\n },\r\n \"Result\": {\r\n \"Was" + + "Executed\": false,\r\n \"WasSuccessful\": false\r\n }\r\n }\r\n ],", ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("A feature with a table")] + [NUnit.Framework.CategoryAttribute("json")] + public virtual void AFeatureWithATable() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("A feature with a table", new string[] { + "json"}); +#line 90 +this.ScenarioSetup(scenarioInfo); +#line hidden +#line 92 + this.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 128 + this.testRunner.When("I generate the documentation", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden +#line 129 + this.testRunner.Then("the JSON file should contain", "{\r\n \"Features\": [\r\n {\r\n \"RelativeFolder\": \"\",\r\n \"Feature\": {\r\n " + + " \"Name\": \"Interactive DHTML View\",\r\n \"Description\": \"In order to increa" + + "se stakeholder engagement with pickled specs\\r\\nAs a SpecFlow evangelist\\r\\nI wa" + + "nt to adjust the level of detail in the DHTML view to suit my audience\\r\\nSo tha" + + "t I do not overwhelm them.\",\r\n \"FeatureElements\": [\r\n {\r\n " + + " \"Name\": \"Scenario with large data table\",\r\n \"Slug\": \"scenario-wi" + + "th-large-data-table\",\r\n \"Description\": \"\",\r\n \"Steps\": [\r\n " + + " {\r\n \"Keyword\": \"Given\",\r\n \"NativeKeyw" + + "ord\": \"Given \",\r\n \"Name\": \"a feature with a large table of data:\"" + + ",\r\n \"TableArgument\": {\r\n \"HeaderRow\": [\r\n " + + " \"heading\",\r\n \"page #\"\r\n ],\r\n " + + " \"DataRows\": [\r\n [\r\n \"Chap" + + "ter 1\",\r\n \"1\"\r\n ],\r\n " + + "[\r\n \"Chapter 2\",\r\n \"5\"\r\n " + + " ],\r\n [\r\n \"Chapter 3\",\r\n " + + " \"10\"\r\n ],\r\n [\r\n " + + " \"Chapter 4\",\r\n \"15\"\r\n ],\r\n " + + " [\r\n \"Chapter 5\",\r\n \"20\"\r\n " + + " ],\r\n [\r\n \"Chapter 6\"," + + "\r\n \"25\"\r\n ],\r\n [\r\n " + + " \"Chapter 7\",\r\n \"30\"\r\n " + + " ],\r\n [\r\n \"Chapter 8\",\r\n " + + " \"35\"\r\n ],\r\n [\r\n " + + " \"Chapter 9\",\r\n \"40\"\r\n ],\r\n " + + " [\r\n \"Chapter 10\",\r\n \"45\"\r\n " + + " ],\r\n [\r\n \"Chapter 11\",\r\n " + + " \"50\"\r\n ],\r\n [\r\n " + + " \"Chapter 12\",\r\n \"55\"\r\n ]" + + ",\r\n [\r\n \"Chapter 13\",\r\n " + + " \"60\"\r\n ],\r\n [\r\n " + + "\"Chapter 14\",\r\n \"65\"\r\n ],\r\n " + + " [\r\n \"Chapter 15\",\r\n \"70\"\r\n " + + " ],\r\n [\r\n \"Chapter 16\",\r\n " + + " \"75\"\r\n ],\r\n [\r\n " + + " \"Chapter 17\",\r\n \"80\"\r\n ]" + + ",\r\n [\r\n \"Chapter 18\",\r\n " + + " \"85\"\r\n ],\r\n [\r\n " + + "\"Chapter 19\",\r\n \"90\"\r\n ],\r\n " + + " [\r\n \"Chapter 20\",\r\n \"95\"\r\n " + + " ],\r\n [\r\n \"Chapter 21\",\r\n " + + " \"100\"\r\n ],\r\n [\r\n " + + " \"Chapter 22\",\r\n \"105\"\r\n " + + " ]\r\n ]\r\n },\r\n \"StepComments\": []," + + "\r\n \"AfterLastStepComments\": []\r\n },\r\n {" + + "\r\n \"Keyword\": \"When\",\r\n \"NativeKeyword\": \"When \",\r" + + "\n \"Name\": \"I click on the table heading\",\r\n \"StepC" + + "omments\": [],\r\n \"AfterLastStepComments\": []\r\n },\r\n " + + " {\r\n \"Keyword\": \"Then\",\r\n \"NativeKeywor" + + "d\": \"Then \",\r\n \"Name\": \"the table body should collapse\",\r\n " + + " \"StepComments\": [],\r\n \"AfterLastStepComments\": []\r\n " + + " }\r\n ],\r\n \"Tags\": [],\r\n \"Result\": {\r\n " + + " \"WasExecuted\": false,\r\n \"WasSuccessful\": false\r\n " + + " }\r\n }\r\n ],\r\n \"Result\": {\r\n \"WasExecuted\": f" + + "alse,\r\n \"WasSuccessful\": false\r\n },\r\n \"Tags\": []\r\n }" + + ",\r\n \"Result\": {\r\n \"WasExecuted\": false,\r\n \"WasSuccessful\": fa" + + "lse\r\n }\r\n }\r\n ],", ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + } +} +#pragma warning restore +#endregion diff --git a/src/Pickles/Pickles.DocumentationBuilders.Json.UnitTests/Pickles.DocumentationBuilders.Json.UnitTests.csproj b/src/Pickles/Pickles.DocumentationBuilders.Json.UnitTests/Pickles.DocumentationBuilders.Json.UnitTests.csproj new file mode 100644 index 000000000..2dedab2a1 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Json.UnitTests/Pickles.DocumentationBuilders.Json.UnitTests.csproj @@ -0,0 +1,110 @@ + + + + + Debug + AnyCPU + {D2432557-EF5A-45A3-A74F-3C59EF08533A} + Library + Properties + PicklesDoc.Pickles.DocumentationBuilders.Json.UnitTests + PicklesDoc.Pickles.DocumentationBuilders.Json.UnitTests + v4.5 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\Autofac.4.1.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.137\lib\net40\System.IO.Abstractions.dll + True + + + ..\packages\System.IO.Abstractions.TestingHelpers.2.0.0.137\lib\net40\System.IO.Abstractions.TestingHelpers.dll + True + + + + + + + + + ..\packages\SpecFlow.2.1.0\lib\net45\TechTalk.SpecFlow.dll + + + + + VersionInfo.cs + + + + FormattingAFeature.feature + True + True + + + + + + SpecFlowSingleFileGenerator + FormattingAFeature.feature.cs + + + + + + {836020D1-A309-4367-9654-EBB7C3F60D97} + Pickles.DocumentationBuilders.Json + + + {55382AFC-E050-4DF7-AA4F-0ABA71E2E169} + Pickles.ObjectModel + + + {8BD9FCD2-7ED5-46B5-B6A4-7FA3775E159F} + Pickles.Test + + + {38BAD6E0-78AB-4AC3-91A8-BF72AF5EE394} + Pickles + + + + + \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Json.UnitTests/Pickles.DocumentationBuilders.Json.UnitTests.v2.ncrunchproject b/src/Pickles/Pickles.DocumentationBuilders.Json.UnitTests/Pickles.DocumentationBuilders.Json.UnitTests.v2.ncrunchproject new file mode 100644 index 000000000..05b974659 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Json.UnitTests/Pickles.DocumentationBuilders.Json.UnitTests.v2.ncrunchproject @@ -0,0 +1,27 @@ + + true + 1000 + false + false + false + true + false + false + false + false + false + true + false + true + false + true + true + true + 60000 + + + + AutoDetect + STA + x86 + \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Json.UnitTests/Properties/AssemblyInfo.cs b/src/Pickles/Pickles.DocumentationBuilders.Json.UnitTests/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..8fd2b6a20 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Json.UnitTests/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.Json.UnitTests")] +[assembly: AssemblyDescription("Unit tests for the Pickles output formatter that outputs Json documents")] \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Json.UnitTests/packages.config b/src/Pickles/Pickles.DocumentationBuilders.Json.UnitTests/packages.config new file mode 100644 index 000000000..673297f4c --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Json.UnitTests/packages.config @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/Pickles/Pickles/DocumentationBuilders/JSON/IJsonFeatureElement.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/IJsonFeatureElement.cs similarity index 92% rename from src/Pickles/Pickles/DocumentationBuilders/JSON/IJsonFeatureElement.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json/IJsonFeatureElement.cs index 8330e587d..eaa04c0d0 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/JSON/IJsonFeatureElement.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/IJsonFeatureElement.cs @@ -18,10 +18,11 @@ // // -------------------------------------------------------------------------------------------------------------------- -namespace PicklesDoc.Pickles.DocumentationBuilders.JSON -{ - using System.Collections.Generic; +using System; +using System.Collections.Generic; +namespace PicklesDoc.Pickles.DocumentationBuilders.Json +{ public interface IJsonFeatureElement { JsonFeature Feature { get; set; } diff --git a/src/Pickles/Pickles/DocumentationBuilders/JSON/JSONDocumentationBuilder.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/JSONDocumentationBuilder.cs similarity index 98% rename from src/Pickles/Pickles/DocumentationBuilders/JSON/JSONDocumentationBuilder.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json/JSONDocumentationBuilder.cs index 9854bf6af..5eb7f6bf1 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/JSON/JSONDocumentationBuilder.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/JSONDocumentationBuilder.cs @@ -21,19 +21,21 @@ using System; using System.Collections.Generic; using System.IO.Abstractions; +using System.Linq; using System.Reflection; +using System.Text.RegularExpressions; + using Newtonsoft.Json; using Newtonsoft.Json.Converters; + using NLog; + using PicklesDoc.Pickles.DataStructures; using PicklesDoc.Pickles.DirectoryCrawler; using PicklesDoc.Pickles.ObjectModel; -namespace PicklesDoc.Pickles.DocumentationBuilders.JSON +namespace PicklesDoc.Pickles.DocumentationBuilders.Json { - using System.Linq; - using System.Text.RegularExpressions; - public class JsonDocumentationBuilder : IDocumentationBuilder { public const string JsonFileName = @"pickledFeatures.json"; diff --git a/src/Pickles/Pickles/DocumentationBuilders/JSON/JsonComment.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonComment.cs similarity index 89% rename from src/Pickles/Pickles/DocumentationBuilders/JSON/JsonComment.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json/JsonComment.cs index 2d6efde3f..c67c9a5b4 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/JSON/JsonComment.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonComment.cs @@ -19,10 +19,8 @@ // -------------------------------------------------------------------------------------------------------------------- using System; -using System.Collections.Generic; -using PicklesDoc.Pickles.ObjectModel; -namespace PicklesDoc.Pickles.DocumentationBuilders.JSON +namespace PicklesDoc.Pickles.DocumentationBuilders.Json { public class JsonComment { diff --git a/src/Pickles/Pickles/DocumentationBuilders/JSON/JsonExample.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonExample.cs similarity index 95% rename from src/Pickles/Pickles/DocumentationBuilders/JSON/JsonExample.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json/JsonExample.cs index ab513c9ac..08e386f22 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/JSON/JsonExample.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonExample.cs @@ -20,7 +20,7 @@ using System; -namespace PicklesDoc.Pickles.DocumentationBuilders.JSON +namespace PicklesDoc.Pickles.DocumentationBuilders.Json { public class JsonExample { diff --git a/src/Pickles/Pickles/DocumentationBuilders/JSON/JsonFeature.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonFeature.cs similarity index 96% rename from src/Pickles/Pickles/DocumentationBuilders/JSON/JsonFeature.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json/JsonFeature.cs index f05f744b2..40d9ece8e 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/JSON/JsonFeature.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonFeature.cs @@ -21,7 +21,7 @@ using System; using System.Collections.Generic; -namespace PicklesDoc.Pickles.DocumentationBuilders.JSON +namespace PicklesDoc.Pickles.DocumentationBuilders.Json { public class JsonFeature { diff --git a/src/Pickles/Pickles/DocumentationBuilders/JSON/JsonFeatureWithMetaInfo.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonFeatureWithMetaInfo.cs similarity index 96% rename from src/Pickles/Pickles/DocumentationBuilders/JSON/JsonFeatureWithMetaInfo.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json/JsonFeatureWithMetaInfo.cs index cd73d1eaf..7124b3a1a 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/JSON/JsonFeatureWithMetaInfo.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonFeatureWithMetaInfo.cs @@ -19,10 +19,11 @@ // -------------------------------------------------------------------------------------------------------------------- using System; + using PicklesDoc.Pickles.DirectoryCrawler; using PicklesDoc.Pickles.ObjectModel; -namespace PicklesDoc.Pickles.DocumentationBuilders.JSON +namespace PicklesDoc.Pickles.DocumentationBuilders.Json { public class JsonFeatureWithMetaInfo { diff --git a/src/Pickles/Pickles/DocumentationBuilders/JSON/JsonKeyword.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonKeyword.cs similarity index 96% rename from src/Pickles/Pickles/DocumentationBuilders/JSON/JsonKeyword.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json/JsonKeyword.cs index bccd583b5..d28b1409a 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/JSON/JsonKeyword.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonKeyword.cs @@ -20,7 +20,7 @@ using System; -namespace PicklesDoc.Pickles.DocumentationBuilders.JSON +namespace PicklesDoc.Pickles.DocumentationBuilders.Json { /// /// The Gherkin Keywords. diff --git a/src/Pickles/Pickles/DocumentationBuilders/JSON/JsonMapper.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonMapper.cs similarity index 93% rename from src/Pickles/Pickles/DocumentationBuilders/JSON/JsonMapper.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json/JsonMapper.cs index a8e054b51..2dfe714ce 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/JSON/JsonMapper.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonMapper.cs @@ -19,11 +19,10 @@ // -------------------------------------------------------------------------------------------------------------------- using System; -using System.Linq; -using System.Collections.Generic; + using PicklesDoc.Pickles.ObjectModel; -namespace PicklesDoc.Pickles.DocumentationBuilders.JSON +namespace PicklesDoc.Pickles.DocumentationBuilders.Json { public class JsonMapper { diff --git a/src/Pickles/Pickles.DocumentationBuilders.Json/JsonModule.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonModule.cs new file mode 100644 index 000000000..c23c1be86 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonModule.cs @@ -0,0 +1,32 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright 2011 Jeffrey Cameron +// 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 Autofac; + +namespace PicklesDoc.Pickles.DocumentationBuilders.Json +{ + public class JsonModule : Module + { + protected override void Load(ContainerBuilder builder) + { + builder.RegisterType().SingleInstance(); + } + } +} \ No newline at end of file diff --git a/src/Pickles/Pickles/DocumentationBuilders/JSON/JsonScenario.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonScenario.cs similarity index 96% rename from src/Pickles/Pickles/DocumentationBuilders/JSON/JsonScenario.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json/JsonScenario.cs index 6c2f92037..d59a389b6 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/JSON/JsonScenario.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonScenario.cs @@ -21,7 +21,7 @@ using System; using System.Collections.Generic; -namespace PicklesDoc.Pickles.DocumentationBuilders.JSON +namespace PicklesDoc.Pickles.DocumentationBuilders.Json { public class JsonScenario : IJsonFeatureElement { diff --git a/src/Pickles/Pickles/DocumentationBuilders/JSON/JsonScenarioOutline.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonScenarioOutline.cs similarity index 96% rename from src/Pickles/Pickles/DocumentationBuilders/JSON/JsonScenarioOutline.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json/JsonScenarioOutline.cs index cdf018318..e0b91a12c 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/JSON/JsonScenarioOutline.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonScenarioOutline.cs @@ -21,7 +21,7 @@ using System; using System.Collections.Generic; -namespace PicklesDoc.Pickles.DocumentationBuilders.JSON +namespace PicklesDoc.Pickles.DocumentationBuilders.Json { public class JsonScenarioOutline : IJsonFeatureElement { diff --git a/src/Pickles/Pickles/DocumentationBuilders/JSON/JsonStep.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonStep.cs similarity index 96% rename from src/Pickles/Pickles/DocumentationBuilders/JSON/JsonStep.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json/JsonStep.cs index 694127dc4..8d49f949f 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/JSON/JsonStep.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonStep.cs @@ -21,7 +21,7 @@ using System; using System.Collections.Generic; -namespace PicklesDoc.Pickles.DocumentationBuilders.JSON +namespace PicklesDoc.Pickles.DocumentationBuilders.Json { public class JsonStep { diff --git a/src/Pickles/Pickles/DocumentationBuilders/JSON/JsonTable.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonTable.cs similarity index 95% rename from src/Pickles/Pickles/DocumentationBuilders/JSON/JsonTable.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json/JsonTable.cs index 3eb09f4ab..15c80921a 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/JSON/JsonTable.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonTable.cs @@ -21,7 +21,7 @@ using System; using System.Collections.Generic; -namespace PicklesDoc.Pickles.DocumentationBuilders.JSON +namespace PicklesDoc.Pickles.DocumentationBuilders.Json { public class JsonTable { diff --git a/src/Pickles/Pickles/DocumentationBuilders/JSON/JsonTableRow.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonTableRow.cs similarity index 95% rename from src/Pickles/Pickles/DocumentationBuilders/JSON/JsonTableRow.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json/JsonTableRow.cs index 6de061c14..768ebb3fc 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/JSON/JsonTableRow.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonTableRow.cs @@ -21,7 +21,7 @@ using System; using System.Collections.Generic; -namespace PicklesDoc.Pickles.DocumentationBuilders.JSON +namespace PicklesDoc.Pickles.DocumentationBuilders.Json { public class JsonTableRow : List { diff --git a/src/Pickles/Pickles/DocumentationBuilders/JSON/JsonTestResult.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonTestResult.cs similarity index 95% rename from src/Pickles/Pickles/DocumentationBuilders/JSON/JsonTestResult.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json/JsonTestResult.cs index 2875305bb..fbabaaa0a 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/JSON/JsonTestResult.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/JsonTestResult.cs @@ -20,7 +20,7 @@ using System; -namespace PicklesDoc.Pickles.DocumentationBuilders.JSON +namespace PicklesDoc.Pickles.DocumentationBuilders.Json { public class JsonTestResult { diff --git a/src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/CommentToJsonCommentMapper.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/CommentToJsonCommentMapper.cs similarity index 94% rename from src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/CommentToJsonCommentMapper.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/CommentToJsonCommentMapper.cs index 5b5876999..5f1f12697 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/CommentToJsonCommentMapper.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/CommentToJsonCommentMapper.cs @@ -18,9 +18,11 @@ // // -------------------------------------------------------------------------------------------------------------------- +using System; + using PicklesDoc.Pickles.ObjectModel; -namespace PicklesDoc.Pickles.DocumentationBuilders.JSON.Mapper +namespace PicklesDoc.Pickles.DocumentationBuilders.Json.Mapper { public class CommentToJsonCommentMapper { diff --git a/src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/ExampleToJsonExampleMapper.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/ExampleToJsonExampleMapper.cs similarity index 95% rename from src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/ExampleToJsonExampleMapper.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/ExampleToJsonExampleMapper.cs index acf52d465..f2566fba2 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/ExampleToJsonExampleMapper.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/ExampleToJsonExampleMapper.cs @@ -18,9 +18,11 @@ // // -------------------------------------------------------------------------------------------------------------------- +using System; + using PicklesDoc.Pickles.ObjectModel; -namespace PicklesDoc.Pickles.DocumentationBuilders.JSON.Mapper +namespace PicklesDoc.Pickles.DocumentationBuilders.Json.Mapper { public class ExampleToJsonExampleMapper { diff --git a/src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/FeatureToJsonFeatureMapper.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/FeatureToJsonFeatureMapper.cs similarity index 98% rename from src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/FeatureToJsonFeatureMapper.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/FeatureToJsonFeatureMapper.cs index c9b40a9ae..9786f5632 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/FeatureToJsonFeatureMapper.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/FeatureToJsonFeatureMapper.cs @@ -20,9 +20,10 @@ using System; using System.Linq; + using PicklesDoc.Pickles.ObjectModel; -namespace PicklesDoc.Pickles.DocumentationBuilders.JSON.Mapper +namespace PicklesDoc.Pickles.DocumentationBuilders.Json.Mapper { public class FeatureToJsonFeatureMapper { diff --git a/src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/KeywordToJsonKeywordMapper.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/KeywordToJsonKeywordMapper.cs similarity index 96% rename from src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/KeywordToJsonKeywordMapper.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/KeywordToJsonKeywordMapper.cs index 94cc4be20..7a8c5da3c 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/KeywordToJsonKeywordMapper.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/KeywordToJsonKeywordMapper.cs @@ -19,9 +19,10 @@ // -------------------------------------------------------------------------------------------------------------------- using System; + using PicklesDoc.Pickles.ObjectModel; -namespace PicklesDoc.Pickles.DocumentationBuilders.JSON.Mapper +namespace PicklesDoc.Pickles.DocumentationBuilders.Json.Mapper { public class KeywordToJsonKeywordMapper { diff --git a/src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/ScenarioOutlineToJsonScenarioOutlineMapper.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/ScenarioOutlineToJsonScenarioOutlineMapper.cs similarity index 96% rename from src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/ScenarioOutlineToJsonScenarioOutlineMapper.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/ScenarioOutlineToJsonScenarioOutlineMapper.cs index 118e667ec..ccf39b35c 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/ScenarioOutlineToJsonScenarioOutlineMapper.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/ScenarioOutlineToJsonScenarioOutlineMapper.cs @@ -18,11 +18,13 @@ // // -------------------------------------------------------------------------------------------------------------------- +using System; using System.Collections.Generic; using System.Linq; + using PicklesDoc.Pickles.ObjectModel; -namespace PicklesDoc.Pickles.DocumentationBuilders.JSON.Mapper +namespace PicklesDoc.Pickles.DocumentationBuilders.Json.Mapper { public class ScenarioOutlineToJsonScenarioOutlineMapper { diff --git a/src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/ScenarioToJsonScenarioMapper.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/ScenarioToJsonScenarioMapper.cs similarity index 96% rename from src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/ScenarioToJsonScenarioMapper.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/ScenarioToJsonScenarioMapper.cs index a52a7b8cd..76a6b7815 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/ScenarioToJsonScenarioMapper.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/ScenarioToJsonScenarioMapper.cs @@ -18,11 +18,13 @@ // // -------------------------------------------------------------------------------------------------------------------- +using System; using System.Collections.Generic; using System.Linq; + using PicklesDoc.Pickles.ObjectModel; -namespace PicklesDoc.Pickles.DocumentationBuilders.JSON.Mapper +namespace PicklesDoc.Pickles.DocumentationBuilders.Json.Mapper { public class ScenarioToJsonScenarioMapper { diff --git a/src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/StepToJsonStepMapper.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/StepToJsonStepMapper.cs similarity index 97% rename from src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/StepToJsonStepMapper.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/StepToJsonStepMapper.cs index be7132784..b05fa4ba9 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/StepToJsonStepMapper.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/StepToJsonStepMapper.cs @@ -18,11 +18,13 @@ // // -------------------------------------------------------------------------------------------------------------------- +using System; using System.Collections.Generic; using System.Linq; + using PicklesDoc.Pickles.ObjectModel; -namespace PicklesDoc.Pickles.DocumentationBuilders.JSON.Mapper +namespace PicklesDoc.Pickles.DocumentationBuilders.Json.Mapper { public class StepToJsonStepMapper { diff --git a/src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/TableRowToJsonTableRowMapper.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/TableRowToJsonTableRowMapper.cs similarity index 95% rename from src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/TableRowToJsonTableRowMapper.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/TableRowToJsonTableRowMapper.cs index 6869768d2..6f16ccbcc 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/TableRowToJsonTableRowMapper.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/TableRowToJsonTableRowMapper.cs @@ -18,9 +18,11 @@ // // -------------------------------------------------------------------------------------------------------------------- +using System; + using PicklesDoc.Pickles.ObjectModel; -namespace PicklesDoc.Pickles.DocumentationBuilders.JSON.Mapper +namespace PicklesDoc.Pickles.DocumentationBuilders.Json.Mapper { public class TableRowToJsonTableRowMapper { diff --git a/src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/TableToJsonTableMapper.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/TableToJsonTableMapper.cs similarity index 95% rename from src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/TableToJsonTableMapper.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/TableToJsonTableMapper.cs index b8309f046..388daafcf 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/TableToJsonTableMapper.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/TableToJsonTableMapper.cs @@ -18,11 +18,13 @@ // // -------------------------------------------------------------------------------------------------------------------- +using System; using System.Collections.Generic; using System.Linq; + using PicklesDoc.Pickles.ObjectModel; -namespace PicklesDoc.Pickles.DocumentationBuilders.JSON.Mapper +namespace PicklesDoc.Pickles.DocumentationBuilders.Json.Mapper { public class TableToJsonTableMapper { diff --git a/src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/TestResultToJsonTestResultMapper.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/TestResultToJsonTestResultMapper.cs similarity index 95% rename from src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/TestResultToJsonTestResultMapper.cs rename to src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/TestResultToJsonTestResultMapper.cs index b05397de3..4c5390412 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/JSON/Mapper/TestResultToJsonTestResultMapper.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/Mapper/TestResultToJsonTestResultMapper.cs @@ -18,9 +18,11 @@ // // -------------------------------------------------------------------------------------------------------------------- +using System; + using PicklesDoc.Pickles.ObjectModel; -namespace PicklesDoc.Pickles.DocumentationBuilders.JSON.Mapper +namespace PicklesDoc.Pickles.DocumentationBuilders.Json.Mapper { public class TestResultToJsonTestResultMapper { diff --git a/src/Pickles/Pickles.DocumentationBuilders.Json/Pickles.DocumentationBuilders.Json.csproj b/src/Pickles/Pickles.DocumentationBuilders.Json/Pickles.DocumentationBuilders.Json.csproj new file mode 100644 index 000000000..1ce9c8b90 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/Pickles.DocumentationBuilders.Json.csproj @@ -0,0 +1,106 @@ + + + + + Debug + AnyCPU + {836020D1-A309-4367-9654-EBB7C3F60D97} + Library + Properties + PicklesDoc.Pickles.DocumentationBuilders.Json + PicklesDoc.Pickles.DocumentationBuilders.Json + v4.5 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\Autofac.4.1.1\lib\net45\Autofac.dll + True + + + ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll + True + + + ..\packages\NLog.4.3.10\lib\net45\NLog.dll + True + + + + + ..\packages\System.IO.Abstractions.2.0.0.137\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.Json/Pickles.DocumentationBuilders.Json.v2.ncrunchproject b/src/Pickles/Pickles.DocumentationBuilders.Json/Pickles.DocumentationBuilders.Json.v2.ncrunchproject new file mode 100644 index 000000000..05b974659 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/Pickles.DocumentationBuilders.Json.v2.ncrunchproject @@ -0,0 +1,27 @@ + + true + 1000 + false + false + false + true + false + false + false + false + false + true + false + true + false + true + true + true + 60000 + + + + AutoDetect + STA + x86 + \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Json/Properties/AssemblyInfo.cs b/src/Pickles/Pickles.DocumentationBuilders.Json/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..f4207cdfc --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/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.Json")] +[assembly: AssemblyDescription("A Pickles output formatter that outputs Json documents")] \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Json/packages.config b/src/Pickles/Pickles.DocumentationBuilders.Json/packages.config new file mode 100644 index 000000000..c8f4aae05 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Json/packages.config @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Word.UnitTests/Pickles.DocumentationBuilders.Word.UnitTests.csproj b/src/Pickles/Pickles.DocumentationBuilders.Word.UnitTests/Pickles.DocumentationBuilders.Word.UnitTests.csproj new file mode 100644 index 000000000..a7cfb333e --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Word.UnitTests/Pickles.DocumentationBuilders.Word.UnitTests.csproj @@ -0,0 +1,104 @@ + + + + + Debug + AnyCPU + {EF6B5E30-B688-4D31-B97C-BCDFA569D1B3} + Library + Properties + PicklesDoc.Pickles.DocumentationBuilders.Word.UnitTests + PicklesDoc.Pickles.DocumentationBuilders.Word.UnitTests + v4.5 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\Autofac.4.1.1\lib\net45\Autofac.dll + True + + + ..\packages\DocumentFormat.OpenXml.2.5\lib\DocumentFormat.OpenXml.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.137\lib\net40\System.IO.Abstractions.dll + True + + + ..\packages\System.IO.Abstractions.TestingHelpers.2.0.0.137\lib\net40\System.IO.Abstractions.TestingHelpers.dll + True + + + + + + + + + + + + VersionInfo.cs + + + + + + + + {BDD5290E-BF98-436B-ADEE-A7479E22A875} + Pickles.DocumentationBuilders.Word + + + {55382AFC-E050-4DF7-AA4F-0ABA71E2E169} + Pickles.ObjectModel + + + {8BD9FCD2-7ED5-46B5-B6A4-7FA3775E159F} + Pickles.Test + + + {38BAD6E0-78AB-4AC3-91A8-BF72AF5EE394} + Pickles + + + + + + + + \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Word.UnitTests/Pickles.DocumentationBuilders.Word.UnitTests.v2.ncrunchproject b/src/Pickles/Pickles.DocumentationBuilders.Word.UnitTests/Pickles.DocumentationBuilders.Word.UnitTests.v2.ncrunchproject new file mode 100644 index 000000000..05b974659 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Word.UnitTests/Pickles.DocumentationBuilders.Word.UnitTests.v2.ncrunchproject @@ -0,0 +1,27 @@ + + true + 1000 + false + false + false + true + false + false + false + false + false + true + false + true + false + true + true + true + 60000 + + + + AutoDetect + STA + x86 + \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Word.UnitTests/Properties/AssemblyInfo.cs b/src/Pickles/Pickles.DocumentationBuilders.Word.UnitTests/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..b6d160a29 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Word.UnitTests/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.Word.UnitTests")] +[assembly: AssemblyDescription("Unit Tests for the Pickles output formatter that outputs MS Word documents")] \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Word.UnitTests/WhenBuildingWordDocuments.cs b/src/Pickles/Pickles.DocumentationBuilders.Word.UnitTests/WhenBuildingWordDocuments.cs new file mode 100644 index 000000000..1c96dc39e --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Word.UnitTests/WhenBuildingWordDocuments.cs @@ -0,0 +1,109 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright 2011 Jeffrey Cameron +// 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.IO; +using System.Linq; + +using Autofac; + +using DocumentFormat.OpenXml; +using DocumentFormat.OpenXml.Packaging; +using DocumentFormat.OpenXml.Wordprocessing; + +using NUnit.Framework; + +using PicklesDoc.Pickles.DataStructures; +using PicklesDoc.Pickles.DirectoryCrawler; +using PicklesDoc.Pickles.Test; + +namespace PicklesDoc.Pickles.DocumentationBuilders.Word.UnitTests +{ + [TestFixture] + public class WhenBuildingWordDocuments : BaseFixture + { + private WordDocumentationBuilder builder; + private Tree features; + private const string RootPath = FileSystemPrefix + @"OrderingTests"; + + [SetUp] + public void Setup() + { + AddFakeFolderStructures(); + + Configuration.OutputFolder = this.FileSystem.DirectoryInfo.FromDirectoryName(FileSystemPrefix); + this.features = Container.Resolve().Crawl(RootPath); + this.builder = Container.Resolve(); + } + + [Test] + public void ShouldOutputFeaturesInParsedOrder() + { + string[] expectedSequence = { + "a-a", + "a-a-a", + "a-a-b", + "a-b", + "a-b-a", + "a-b-b", + "b-a", + "b-a-a", + "b-a-b", + "b-b", + "b-b-a", + "b-b-b", + }; + + this.builder.Build(this.features); + + var outputPath = Path.Combine(Configuration.OutputFolder.FullName, "features.docx"); + + using (var stream = this.FileSystem.File.OpenRead(outputPath)) + { + var doc = WordprocessingDocument.Open(stream, false); + var body = doc.MainDocumentPart.Document.Body; + var headings = body.Where(IsHeading).Select(InnerText); + + Assert.That(headings, Is.EquivalentTo(expectedSequence)); + } + + } + + private static string InnerText(OpenXmlElement part) + { + return part.InnerText; + } + + private static bool IsHeading(OpenXmlElement part) + { + return part.OfType().Any(IsHeading); + } + + private static bool IsHeading(ParagraphProperties property) + { + return property.OfType().Any(IsHeading); + } + + private static bool IsHeading(ParagraphStyleId styleId) + { + return styleId.Val.HasValue && styleId.Val.Value.StartsWith("Heading"); + } + } +} diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/Word/WordDescriptionFormatterTests.cs b/src/Pickles/Pickles.DocumentationBuilders.Word.UnitTests/WordDescriptionFormatterTests.cs similarity index 93% rename from src/Pickles/Pickles.Test/DocumentationBuilders/Word/WordDescriptionFormatterTests.cs rename to src/Pickles/Pickles.DocumentationBuilders.Word.UnitTests/WordDescriptionFormatterTests.cs index f0c0fb62e..58b016508 100644 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/Word/WordDescriptionFormatterTests.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Word.UnitTests/WordDescriptionFormatterTests.cs @@ -24,9 +24,7 @@ using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.Word; - -namespace PicklesDoc.Pickles.Test.DocumentationBuilders.Word +namespace PicklesDoc.Pickles.DocumentationBuilders.Word.UnitTests { [TestFixture] public class WordDescriptionFormatterTests diff --git a/src/Pickles/Pickles.DocumentationBuilders.Word.UnitTests/packages.config b/src/Pickles/Pickles.DocumentationBuilders.Word.UnitTests/packages.config new file mode 100644 index 000000000..8f78f85c2 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Word.UnitTests/packages.config @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/Pickles/Pickles/Extensions/BodyExtensions.cs b/src/Pickles/Pickles.DocumentationBuilders.Word/Extensions/BodyExtensions.cs similarity index 96% rename from src/Pickles/Pickles/Extensions/BodyExtensions.cs rename to src/Pickles/Pickles.DocumentationBuilders.Word/Extensions/BodyExtensions.cs index d467a0a5f..9b8dfa884 100644 --- a/src/Pickles/Pickles/Extensions/BodyExtensions.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Word/Extensions/BodyExtensions.cs @@ -19,9 +19,10 @@ // -------------------------------------------------------------------------------------------------------------------- using System; + using DocumentFormat.OpenXml.Wordprocessing; -namespace PicklesDoc.Pickles.Extensions +namespace PicklesDoc.Pickles.DocumentationBuilders.Word.Extensions { public static class BodyExtensions { diff --git a/src/Pickles/Pickles.DocumentationBuilders.Word/Pickles.DocumentationBuilders.Word.csproj b/src/Pickles/Pickles.DocumentationBuilders.Word/Pickles.DocumentationBuilders.Word.csproj new file mode 100644 index 000000000..3c7a9ef0c --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Word/Pickles.DocumentationBuilders.Word.csproj @@ -0,0 +1,98 @@ + + + + + Debug + AnyCPU + {BDD5290E-BF98-436B-ADEE-A7479E22A875} + Library + Properties + PicklesDoc.Pickles.DocumentationBuilders.Word + PicklesDoc.Pickles.DocumentationBuilders.Word + v4.5 + 512 + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\Autofac.4.1.1\lib\net45\Autofac.dll + True + + + ..\packages\DocumentFormat.OpenXml.2.5\lib\DocumentFormat.OpenXml.dll + + + ..\packages\NLog.4.3.10\lib\net45\NLog.dll + True + + + + + ..\packages\System.IO.Abstractions.2.0.0.137\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.Word/Pickles.DocumentationBuilders.Word.v2.ncrunchproject b/src/Pickles/Pickles.DocumentationBuilders.Word/Pickles.DocumentationBuilders.Word.v2.ncrunchproject new file mode 100644 index 000000000..05b974659 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Word/Pickles.DocumentationBuilders.Word.v2.ncrunchproject @@ -0,0 +1,27 @@ + + true + 1000 + false + false + false + true + false + false + false + false + false + true + false + true + false + true + true + true + 60000 + + + + AutoDetect + STA + x86 + \ No newline at end of file diff --git a/src/Pickles/Pickles.DocumentationBuilders.Word/Properties/AssemblyInfo.cs b/src/Pickles/Pickles.DocumentationBuilders.Word/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..aa57207fa --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Word/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.Word")] +[assembly: AssemblyDescription("A Pickles output formatter that outputs MS Word documents")] \ No newline at end of file diff --git a/src/Pickles/Pickles/DocumentationBuilders/Word/TableOfContentsAdder/PtOpenXmlUtil.cs b/src/Pickles/Pickles.DocumentationBuilders.Word/TableOfContentsAdder/PtOpenXmlUtil.cs similarity index 100% rename from src/Pickles/Pickles/DocumentationBuilders/Word/TableOfContentsAdder/PtOpenXmlUtil.cs rename to src/Pickles/Pickles.DocumentationBuilders.Word/TableOfContentsAdder/PtOpenXmlUtil.cs diff --git a/src/Pickles/Pickles/DocumentationBuilders/Word/TableOfContentsAdder/PtUtil.cs b/src/Pickles/Pickles.DocumentationBuilders.Word/TableOfContentsAdder/PtUtil.cs similarity index 100% rename from src/Pickles/Pickles/DocumentationBuilders/Word/TableOfContentsAdder/PtUtil.cs rename to src/Pickles/Pickles.DocumentationBuilders.Word/TableOfContentsAdder/PtUtil.cs diff --git a/src/Pickles/Pickles/DocumentationBuilders/Word/TableOfContentsAdder/TocAdder.cs b/src/Pickles/Pickles.DocumentationBuilders.Word/TableOfContentsAdder/TocAdder.cs similarity index 100% rename from src/Pickles/Pickles/DocumentationBuilders/Word/TableOfContentsAdder/TocAdder.cs rename to src/Pickles/Pickles.DocumentationBuilders.Word/TableOfContentsAdder/TocAdder.cs diff --git a/src/Pickles/Pickles/DocumentationBuilders/Word/WordBackgroundFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Word/WordBackgroundFormatter.cs similarity index 92% rename from src/Pickles/Pickles/DocumentationBuilders/Word/WordBackgroundFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Word/WordBackgroundFormatter.cs index b7e42d067..1425c0e48 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/Word/WordBackgroundFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Word/WordBackgroundFormatter.cs @@ -30,13 +30,13 @@ public class WordBackgroundFormatter { private const string DefaultBackgroundKeyword = "Background"; - private readonly LanguageServices languageSevices; + private readonly ILanguageServices languageServices; private readonly WordTableFormatter wordTableFormatter; - public WordBackgroundFormatter(IConfiguration configuration, WordTableFormatter wordTableFormatter) + public WordBackgroundFormatter(WordTableFormatter wordTableFormatter, ILanguageServices languageServices) { this.wordTableFormatter = wordTableFormatter; - this.languageSevices = new LanguageServices(configuration); + this.languageServices = languageServices; } public void Format(Body body, Scenario background) @@ -75,7 +75,7 @@ public void Format(Body body, Scenario background) private string GetLocalizedBackgroundKeyword() { - return this.languageSevices.BackgroundKeywords.FirstOrDefault() ?? DefaultBackgroundKeyword; + return this.languageServices.BackgroundKeywords.FirstOrDefault() ?? DefaultBackgroundKeyword; } private static TableProperties GenerateTableProperties() diff --git a/src/Pickles/Pickles/DocumentationBuilders/Word/WordDescriptionFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Word/WordDescriptionFormatter.cs similarity index 96% rename from src/Pickles/Pickles/DocumentationBuilders/Word/WordDescriptionFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Word/WordDescriptionFormatter.cs index 8940ce167..4a7e785c9 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/Word/WordDescriptionFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Word/WordDescriptionFormatter.cs @@ -20,7 +20,8 @@ using System; using DocumentFormat.OpenXml.Wordprocessing; -using PicklesDoc.Pickles.Extensions; + +using PicklesDoc.Pickles.DocumentationBuilders.Word.Extensions; namespace PicklesDoc.Pickles.DocumentationBuilders.Word { diff --git a/src/Pickles/Pickles/DocumentationBuilders/Word/WordDocumentationBuilder.cs b/src/Pickles/Pickles.DocumentationBuilders.Word/WordDocumentationBuilder.cs similarity index 100% rename from src/Pickles/Pickles/DocumentationBuilders/Word/WordDocumentationBuilder.cs rename to src/Pickles/Pickles.DocumentationBuilders.Word/WordDocumentationBuilder.cs diff --git a/src/Pickles/Pickles/DocumentationBuilders/Word/WordFeatureFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Word/WordFeatureFormatter.cs similarity index 92% rename from src/Pickles/Pickles/DocumentationBuilders/Word/WordFeatureFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Word/WordFeatureFormatter.cs index 47dd5af4f..7b085a304 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/Word/WordFeatureFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Word/WordFeatureFormatter.cs @@ -21,16 +21,15 @@ using System; using DocumentFormat.OpenXml.Wordprocessing; using PicklesDoc.Pickles.DirectoryCrawler; -using PicklesDoc.Pickles.Extensions; +using PicklesDoc.Pickles.DocumentationBuilders.Word.Extensions; using PicklesDoc.Pickles.ObjectModel; -using PicklesDoc.Pickles.TestFrameworks; namespace PicklesDoc.Pickles.DocumentationBuilders.Word { public class WordFeatureFormatter { private readonly IConfiguration configuration; - private readonly ITestResults nunitResults; + private readonly ITestResults testResults; private readonly WordScenarioFormatter wordScenarioFormatter; private readonly WordScenarioOutlineFormatter wordScenarioOutlineFormatter; private readonly WordStyleApplicator wordStyleApplicator; @@ -44,7 +43,7 @@ public WordFeatureFormatter( WordDescriptionFormatter wordDescriptionFormatter, WordBackgroundFormatter wordBackgroundFormatter, IConfiguration configuration, - ITestResults nunitResults) + ITestResults testResults) { this.wordScenarioFormatter = wordScenarioFormatter; this.wordScenarioOutlineFormatter = wordScenarioOutlineFormatter; @@ -52,7 +51,7 @@ public WordFeatureFormatter( this.wordDescriptionFormatter = wordDescriptionFormatter; this.wordBackgroundFormatter = wordBackgroundFormatter; this.configuration = configuration; - this.nunitResults = nunitResults; + this.testResults = testResults; } public void Format(Body body, FeatureNode featureNode) @@ -63,7 +62,7 @@ public void Format(Body body, FeatureNode featureNode) if (this.configuration.HasTestResults) { - TestResult testResult = this.nunitResults.GetFeatureResult(feature); + TestResult testResult = this.testResults.GetFeatureResult(feature); if (testResult == TestResult.Passed) { body.GenerateParagraph("Passed", "Passed"); diff --git a/src/Pickles/Pickles/DocumentationBuilders/Word/WordFontApplicator.cs b/src/Pickles/Pickles.DocumentationBuilders.Word/WordFontApplicator.cs similarity index 100% rename from src/Pickles/Pickles/DocumentationBuilders/Word/WordFontApplicator.cs rename to src/Pickles/Pickles.DocumentationBuilders.Word/WordFontApplicator.cs diff --git a/src/Pickles/Pickles/DocumentationBuilders/Word/WordHeaderFooterFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Word/WordHeaderFooterFormatter.cs similarity index 100% rename from src/Pickles/Pickles/DocumentationBuilders/Word/WordHeaderFooterFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Word/WordHeaderFooterFormatter.cs diff --git a/src/Pickles/Pickles.DocumentationBuilders.Word/WordModule.cs b/src/Pickles/Pickles.DocumentationBuilders.Word/WordModule.cs new file mode 100644 index 000000000..d19178e70 --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Word/WordModule.cs @@ -0,0 +1,42 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright 2011 Jeffrey Cameron +// 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 Autofac; + +namespace PicklesDoc.Pickles.DocumentationBuilders.Word +{ + public class WordModule : Module + { + protected override void Load(ContainerBuilder builder) + { + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + builder.RegisterType().SingleInstance(); + } + } +} \ No newline at end of file diff --git a/src/Pickles/Pickles/DocumentationBuilders/Word/WordScenarioFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Word/WordScenarioFormatter.cs similarity index 87% rename from src/Pickles/Pickles/DocumentationBuilders/Word/WordScenarioFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Word/WordScenarioFormatter.cs index 9d1cb04eb..511b7218d 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/Word/WordScenarioFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Word/WordScenarioFormatter.cs @@ -20,30 +20,30 @@ using System; using DocumentFormat.OpenXml.Wordprocessing; -using PicklesDoc.Pickles.Extensions; + +using PicklesDoc.Pickles.DocumentationBuilders.Word.Extensions; using PicklesDoc.Pickles.ObjectModel; -using PicklesDoc.Pickles.TestFrameworks; namespace PicklesDoc.Pickles.DocumentationBuilders.Word { public class WordScenarioFormatter { private readonly IConfiguration configuration; - private readonly ITestResults nunitResults; + private readonly ITestResults testResults; private readonly WordStepFormatter wordStepFormatter; - public WordScenarioFormatter(WordStepFormatter wordStepFormatter, IConfiguration configuration, ITestResults nunitResults) + public WordScenarioFormatter(WordStepFormatter wordStepFormatter, IConfiguration configuration, ITestResults testResults) { this.wordStepFormatter = wordStepFormatter; this.configuration = configuration; - this.nunitResults = nunitResults; + this.testResults = testResults; } public void Format(Body body, Scenario scenario) { if (this.configuration.HasTestResults) { - TestResult testResult = this.nunitResults.GetScenarioResult(scenario); + TestResult testResult = this.testResults.GetScenarioResult(scenario); if (testResult == TestResult.Passed) { body.GenerateParagraph("Passed", "Passed"); diff --git a/src/Pickles/Pickles/DocumentationBuilders/Word/WordScenarioOutlineFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Word/WordScenarioOutlineFormatter.cs similarity index 97% rename from src/Pickles/Pickles/DocumentationBuilders/Word/WordScenarioOutlineFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Word/WordScenarioOutlineFormatter.cs index a9fc768fa..3428b8a22 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/Word/WordScenarioOutlineFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Word/WordScenarioOutlineFormatter.cs @@ -20,9 +20,9 @@ using System; using DocumentFormat.OpenXml.Wordprocessing; -using PicklesDoc.Pickles.Extensions; + +using PicklesDoc.Pickles.DocumentationBuilders.Word.Extensions; using PicklesDoc.Pickles.ObjectModel; -using PicklesDoc.Pickles.TestFrameworks; namespace PicklesDoc.Pickles.DocumentationBuilders.Word { diff --git a/src/Pickles/Pickles/DocumentationBuilders/Word/WordStepFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Word/WordStepFormatter.cs similarity index 98% rename from src/Pickles/Pickles/DocumentationBuilders/Word/WordStepFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Word/WordStepFormatter.cs index 13ac60dae..81d0a483f 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/Word/WordStepFormatter.cs +++ b/src/Pickles/Pickles.DocumentationBuilders.Word/WordStepFormatter.cs @@ -22,7 +22,8 @@ using System.Linq; using DocumentFormat.OpenXml; using DocumentFormat.OpenXml.Wordprocessing; -using PicklesDoc.Pickles.Extensions; + +using PicklesDoc.Pickles.DocumentationBuilders.Word.Extensions; using PicklesDoc.Pickles.ObjectModel; namespace PicklesDoc.Pickles.DocumentationBuilders.Word diff --git a/src/Pickles/Pickles/DocumentationBuilders/Word/WordStyleApplicator.cs b/src/Pickles/Pickles.DocumentationBuilders.Word/WordStyleApplicator.cs similarity index 100% rename from src/Pickles/Pickles/DocumentationBuilders/Word/WordStyleApplicator.cs rename to src/Pickles/Pickles.DocumentationBuilders.Word/WordStyleApplicator.cs diff --git a/src/Pickles/Pickles/DocumentationBuilders/Word/WordTableFormatter.cs b/src/Pickles/Pickles.DocumentationBuilders.Word/WordTableFormatter.cs similarity index 100% rename from src/Pickles/Pickles/DocumentationBuilders/Word/WordTableFormatter.cs rename to src/Pickles/Pickles.DocumentationBuilders.Word/WordTableFormatter.cs diff --git a/src/Pickles/Pickles.DocumentationBuilders.Word/packages.config b/src/Pickles/Pickles.DocumentationBuilders.Word/packages.config new file mode 100644 index 000000000..722150ddc --- /dev/null +++ b/src/Pickles/Pickles.DocumentationBuilders.Word/packages.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/Pickles/Pickles.MSBuild/Pickles.MSBuild.csproj b/src/Pickles/Pickles.MSBuild/Pickles.MSBuild.csproj index d350e0f79..544ccca6a 100644 --- a/src/Pickles/Pickles.MSBuild/Pickles.MSBuild.csproj +++ b/src/Pickles/Pickles.MSBuild/Pickles.MSBuild.csproj @@ -37,8 +37,8 @@ false - - ..\packages\Autofac.3.5.2\lib\net40\Autofac.dll + + ..\packages\Autofac.4.1.1\lib\net45\Autofac.dll True @@ -46,8 +46,8 @@ - - ..\packages\System.IO.Abstractions.2.0.0.124\lib\net40\System.IO.Abstractions.dll + + ..\packages\System.IO.Abstractions.2.0.0.137\lib\net40\System.IO.Abstractions.dll True diff --git a/src/Pickles/Pickles.MSBuild/Pickles.MSBuild.nuspec b/src/Pickles/Pickles.MSBuild/Pickles.MSBuild.nuspec index 3111fecd5..14720ea7b 100644 --- a/src/Pickles/Pickles.MSBuild/Pickles.MSBuild.nuspec +++ b/src/Pickles/Pickles.MSBuild/Pickles.MSBuild.nuspec @@ -48,6 +48,11 @@ + + + + + diff --git a/src/Pickles/Pickles.MSBuild/packages.config b/src/Pickles/Pickles.MSBuild/packages.config index 600d53435..ddc1232b0 100644 --- a/src/Pickles/Pickles.MSBuild/packages.config +++ b/src/Pickles/Pickles.MSBuild/packages.config @@ -1,5 +1,5 @@  - - + + \ No newline at end of file diff --git a/src/Pickles/Pickles.ObjectModel/DataStructures/Tree.cs b/src/Pickles/Pickles.ObjectModel/DataStructures/Tree.cs new file mode 100644 index 000000000..b9cb034c1 --- /dev/null +++ b/src/Pickles/Pickles.ObjectModel/DataStructures/Tree.cs @@ -0,0 +1,92 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright 2011 Jeffrey Cameron +// 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; +using System.Collections.Generic; +using System.Linq; + +using PicklesDoc.Pickles.DirectoryCrawler; + +namespace PicklesDoc.Pickles.DataStructures +{ + public class Tree : IEnumerable + { + private readonly INode currentNode; + + public Tree(INode currentNode) + { + if (currentNode == null) throw new ArgumentNullException(nameof(currentNode)); + + this.currentNode = currentNode; + this.ChildNodes = new List(); + } + + public IList ChildNodes { get; } + + public INode Data + { + get + { + return this.currentNode; + } + } + + public IEnumerator GetEnumerator() + { + List result = new List(); + result.Add(this.currentNode); + + foreach(var childNode in this.ChildNodes.OrderBy(n => n.Data.Name)) + { + using (var enumerator = childNode.GetEnumerator()) + { + while (enumerator.MoveNext()) + { + result.Add(enumerator.Current); + } + } + } + + return result.GetEnumerator(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + return this.GetEnumerator(); + } + + public void Add(Tree node) + { + if (node == null) throw new ArgumentNullException(nameof(node)); + + this.ChildNodes.Add(node); + } + + public Tree Add(INode node) + { + if (node == null) throw new ArgumentNullException(nameof(node)); + + var tree = new Tree(node); + this.Add(tree); + return tree; + } + } +} \ No newline at end of file diff --git a/src/Pickles/Pickles/DirectoryCrawler/FeatureNode.cs b/src/Pickles/Pickles.ObjectModel/DirectoryCrawler/FeatureNode.cs similarity index 100% rename from src/Pickles/Pickles/DirectoryCrawler/FeatureNode.cs rename to src/Pickles/Pickles.ObjectModel/DirectoryCrawler/FeatureNode.cs diff --git a/src/Pickles/Pickles/DirectoryCrawler/FolderNode.cs b/src/Pickles/Pickles.ObjectModel/DirectoryCrawler/FolderNode.cs similarity index 100% rename from src/Pickles/Pickles/DirectoryCrawler/FolderNode.cs rename to src/Pickles/Pickles.ObjectModel/DirectoryCrawler/FolderNode.cs diff --git a/src/Pickles/Pickles/DirectoryCrawler/INode.cs b/src/Pickles/Pickles.ObjectModel/DirectoryCrawler/INode.cs similarity index 100% rename from src/Pickles/Pickles/DirectoryCrawler/INode.cs rename to src/Pickles/Pickles.ObjectModel/DirectoryCrawler/INode.cs diff --git a/src/Pickles/Pickles/DirectoryCrawler/ImageNode.cs b/src/Pickles/Pickles.ObjectModel/DirectoryCrawler/ImageNode.cs similarity index 100% rename from src/Pickles/Pickles/DirectoryCrawler/ImageNode.cs rename to src/Pickles/Pickles.ObjectModel/DirectoryCrawler/ImageNode.cs diff --git a/src/Pickles/Pickles/DirectoryCrawler/MarkdownNode.cs b/src/Pickles/Pickles.ObjectModel/DirectoryCrawler/MarkdownNode.cs similarity index 100% rename from src/Pickles/Pickles/DirectoryCrawler/MarkdownNode.cs rename to src/Pickles/Pickles.ObjectModel/DirectoryCrawler/MarkdownNode.cs diff --git a/src/Pickles/Pickles/DocumentationBuilders/IDocumentationBuilder.cs b/src/Pickles/Pickles.ObjectModel/DocumentationBuilders/IDocumentationBuilder.cs similarity index 95% rename from src/Pickles/Pickles/DocumentationBuilders/IDocumentationBuilder.cs rename to src/Pickles/Pickles.ObjectModel/DocumentationBuilders/IDocumentationBuilder.cs index eec3206be..b4179d6ec 100644 --- a/src/Pickles/Pickles/DocumentationBuilders/IDocumentationBuilder.cs +++ b/src/Pickles/Pickles.ObjectModel/DocumentationBuilders/IDocumentationBuilder.cs @@ -18,9 +18,7 @@ // // -------------------------------------------------------------------------------------------------------------------- -using System; using PicklesDoc.Pickles.DataStructures; -using PicklesDoc.Pickles.DirectoryCrawler; namespace PicklesDoc.Pickles.DocumentationBuilders { diff --git a/src/Pickles/Pickles.ObjectModel/Extensions/StringExtensions.cs b/src/Pickles/Pickles.ObjectModel/Extensions/StringExtensions.cs new file mode 100644 index 000000000..fe403c874 --- /dev/null +++ b/src/Pickles/Pickles.ObjectModel/Extensions/StringExtensions.cs @@ -0,0 +1,51 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright 2011 Jeffrey Cameron +// 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.Linq; +using System.Text; + +namespace PicklesDoc.Pickles.Extensions +{ + public static class StringExtensions + { + public static string ExpandWikiWord(this string word) + { + var sb = new StringBuilder(); + char previous = char.MinValue; + foreach (char current in word.Where(x => char.IsLetterOrDigit(x))) + { + if (previous != char.MinValue && sb.Length > 1 + && ((char.IsUpper(current) || char.IsDigit(current)) && char.IsLower(previous))) + { + sb.Append(' '); + } + else if (char.IsNumber(previous) && char.IsUpper(current)) + { + sb.Append(' '); + } + + sb.Append(current); + previous = current; + } + + return sb.ToString(); + } + } +} \ No newline at end of file diff --git a/src/Pickles/Pickles/Extensions/TreeNodeExtensions.cs b/src/Pickles/Pickles.ObjectModel/Extensions/TreeNodeExtensions.cs similarity index 100% rename from src/Pickles/Pickles/Extensions/TreeNodeExtensions.cs rename to src/Pickles/Pickles.ObjectModel/Extensions/TreeNodeExtensions.cs diff --git a/src/Pickles/Pickles/Extensions/UriExtensions.cs b/src/Pickles/Pickles.ObjectModel/Extensions/UriExtensions.cs similarity index 100% rename from src/Pickles/Pickles/Extensions/UriExtensions.cs rename to src/Pickles/Pickles.ObjectModel/Extensions/UriExtensions.cs diff --git a/src/Pickles/Pickles.ObjectModel/ILanguageServices.cs b/src/Pickles/Pickles.ObjectModel/ILanguageServices.cs new file mode 100644 index 000000000..88f525793 --- /dev/null +++ b/src/Pickles/Pickles.ObjectModel/ILanguageServices.cs @@ -0,0 +1,36 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright 2011 Jeffrey Cameron +// 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. +// +// -------------------------------------------------------------------------------------------------------------------- +namespace PicklesDoc.Pickles +{ + public interface ILanguageServices + { + string[] BackgroundKeywords { get; } + + string[] WhenStepKeywords { get; } + + string[] GivenStepKeywords { get; } + + string[] ThenStepKeywords { get; } + + string[] AndStepKeywords { get; } + + string[] ButStepKeywords { get; } + } +} \ No newline at end of file diff --git a/src/Pickles/Pickles.ObjectModel/IMarkdownProvider.cs b/src/Pickles/Pickles.ObjectModel/IMarkdownProvider.cs new file mode 100644 index 000000000..63df8c3c1 --- /dev/null +++ b/src/Pickles/Pickles.ObjectModel/IMarkdownProvider.cs @@ -0,0 +1,29 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright 2011 Jeffrey Cameron +// 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; + +namespace PicklesDoc.Pickles +{ + public interface IMarkdownProvider + { + string Transform(string text); + } +} diff --git a/src/Pickles/Pickles.ObjectModel/Pickles.ObjectModel.csproj b/src/Pickles/Pickles.ObjectModel/Pickles.ObjectModel.csproj index afe1fdab8..22b7f9e14 100644 --- a/src/Pickles/Pickles.ObjectModel/Pickles.ObjectModel.csproj +++ b/src/Pickles/Pickles.ObjectModel/Pickles.ObjectModel.csproj @@ -32,8 +32,8 @@ - - ..\packages\System.IO.Abstractions.2.0.0.124\lib\net40\System.IO.Abstractions.dll + + ..\packages\System.IO.Abstractions.2.0.0.137\lib\net40\System.IO.Abstractions.dll True @@ -44,8 +44,20 @@ + + + + + + + + + + + + diff --git a/src/Pickles/Pickles.ObjectModel/packages.config b/src/Pickles/Pickles.ObjectModel/packages.config index b9aed6af2..e6cfbeaae 100644 --- a/src/Pickles/Pickles.ObjectModel/packages.config +++ b/src/Pickles/Pickles.ObjectModel/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/src/Pickles/Pickles.PowerShell/Pickles.PowerShell.csproj b/src/Pickles/Pickles.PowerShell/Pickles.PowerShell.csproj index ed7c2c2df..654b23954 100644 --- a/src/Pickles/Pickles.PowerShell/Pickles.PowerShell.csproj +++ b/src/Pickles/Pickles.PowerShell/Pickles.PowerShell.csproj @@ -37,14 +37,14 @@ false - - ..\packages\Autofac.3.5.2\lib\net40\Autofac.dll + + ..\packages\Autofac.4.1.1\lib\net45\Autofac.dll True - - ..\packages\System.IO.Abstractions.2.0.0.124\lib\net40\System.IO.Abstractions.dll + + ..\packages\System.IO.Abstractions.2.0.0.137\lib\net40\System.IO.Abstractions.dll True diff --git a/src/Pickles/Pickles.PowerShell/Pickles.nuspec b/src/Pickles/Pickles.PowerShell/Pickles.nuspec index ff180697e..41bcecfd7 100644 --- a/src/Pickles/Pickles.PowerShell/Pickles.nuspec +++ b/src/Pickles/Pickles.PowerShell/Pickles.nuspec @@ -49,6 +49,11 @@ + + + + + diff --git a/src/Pickles/Pickles.PowerShell/packages.config b/src/Pickles/Pickles.PowerShell/packages.config index 600d53435..ddc1232b0 100644 --- a/src/Pickles/Pickles.PowerShell/packages.config +++ b/src/Pickles/Pickles.PowerShell/packages.config @@ -1,5 +1,5 @@  - - + + \ No newline at end of file diff --git a/src/Pickles/Pickles.Test/App.config b/src/Pickles/Pickles.Test/App.config index db0284d6d..c7850a5af 100644 --- a/src/Pickles/Pickles.Test/App.config +++ b/src/Pickles/Pickles.Test/App.config @@ -3,6 +3,7 @@
        + @@ -34,7 +35,7 @@ - + + - - + diff --git a/src/Pickles/Pickles.Test/DescriptionProcessorTests.cs b/src/Pickles/Pickles.Test/DescriptionProcessorTests.cs new file mode 100644 index 000000000..92c7dbcee --- /dev/null +++ b/src/Pickles/Pickles.Test/DescriptionProcessorTests.cs @@ -0,0 +1,226 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright 2011 Jeffrey Cameron +// 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 NFluent; + +using NUnit.Framework; + +namespace PicklesDoc.Pickles.Test +{ + [TestFixture] + public class DescriptionProcessorTests + { + [Test] + public void Process_NullInput_ReturnsEmptyString() + { + var preProcessor = CreatePreProcessor(); + + string result = preProcessor.Process((string)null); + + Check.That(result).IsEqualTo(string.Empty); + } + + private static DescriptionProcessor CreatePreProcessor() + { + return new DescriptionProcessor(); + } + + [Test] + public void Process_EmptySpaces_ReturnsEmptyString() + { + var preProcessor = CreatePreProcessor(); + + string result = preProcessor.Process(" "); + + Check.That(result).IsEqualTo(string.Empty); + } + + [Test] + public void Process_BlankThenText_ReturnsText() + { + var preProcessor = CreatePreProcessor(); + + string result = preProcessor.Process(" abc"); + + Check.That(result).IsEqualTo("abc"); + } + + [Test] + public void Process_TwoLines_ReturnsText() + { + var preProcessor = CreatePreProcessor(); + + string result = preProcessor.Process(" abc" + Environment.NewLine + " def"); + + Check.That(result).IsEqualTo("abc" + Environment.NewLine + "def"); + } + + [Test] + public void Specification_Scenario1() + { + var preProcessor = CreatePreProcessor(); + + string result = preProcessor.Process( + " As a math idiot" + Environment.NewLine + + " In order to avoid mistakes" + Environment.NewLine + + " I want to be told the sum of two numbers"); + + Check.That(result).IsEqualTo( + "As a math idiot" + Environment.NewLine + + "In order to avoid mistakes" + Environment.NewLine + + "I want to be told the sum of two numbers"); + } + + [Test] + public void Specification_Scenario2() + { + var preProcessor = CreatePreProcessor(); + + string result = preProcessor.Process( + " As a math idiot" + Environment.NewLine + + " In order to avoid mistakes" + Environment.NewLine + + " I want to be told the sum of two numbers" + Environment.NewLine + + Environment.NewLine + + " This is a real code block"); + + Check.That(result).IsEqualTo( + "As a math idiot" + Environment.NewLine + + "In order to avoid mistakes" + Environment.NewLine + + "I want to be told the sum of two numbers" + Environment.NewLine + + Environment.NewLine + + " This is a real code block"); + } + + [Test] + public void Specification_Scenario3() + { + var preProcessor = CreatePreProcessor(); + + string result = preProcessor.Process( + " As a math idiot" + Environment.NewLine + + " In order to avoid mistakes" + Environment.NewLine + + " I want to be told the sum of two numbers" + Environment.NewLine + + Environment.NewLine + + " Another line after a blank line"); + + Check.That(result).IsEqualTo( + "As a math idiot" + Environment.NewLine + + "In order to avoid mistakes" + Environment.NewLine + + "I want to be told the sum of two numbers" + Environment.NewLine + + Environment.NewLine + + "Another line after a blank line"); + } + + [Test] + public void Process_OnlyLinesWithEmptySpaces_ReturnsAsManyEmptyLines() + { + var preProcessor = CreatePreProcessor(); + + string result = preProcessor.Process( + " " + Environment.NewLine + + " " + Environment.NewLine + + " " + Environment.NewLine + + " "); + + Check.That(result).IsEqualTo( + Environment.NewLine + + Environment.NewLine + + Environment.NewLine); + } + + [Test] + public void Specification_Scenario4_WithTabs() + { + var preProcessor = CreatePreProcessor(); + + string result = preProcessor.Process( + "" + '\t' + "As a math idiot" + Environment.NewLine + + "" + '\t' + "In order to avoid mistakes" + Environment.NewLine + + "" + '\t' + "I want to be told the sum of two numbers"); + + Check.That(result).IsEqualTo( + "As a math idiot" + Environment.NewLine + + "In order to avoid mistakes" + Environment.NewLine + + "I want to be told the sum of two numbers"); + } + + [Test] + public void LineThatStartsWithEscapedHash_Header1_ShouldRemoveEscapeSign() + { + var preProcessor = CreatePreProcessor(); + + string result = preProcessor.Process(" \\# Header 1"); + + Check.That(result).IsEqualTo("# Header 1"); + } + + [Test] + public void LineThatStartsWithEscapedHash_Header2_ShouldRemoveEscapeSign() + { + var preProcessor = CreatePreProcessor(); + + string result = preProcessor.Process(" \\#\\# Header 2"); + + Check.That(result).IsEqualTo("## Header 2"); + } + + [Test] + public void LineThatStartsWithEscapedHash_Header3_ShouldRemoveEscapeSign() + { + var preProcessor = CreatePreProcessor(); + + string result = preProcessor.Process(" \\#\\#\\# Header 3"); + + Check.That(result).IsEqualTo("### Header 3"); + } + + [Test] + public void LineThatStartsWithEscapedHash_Header4_ShouldRemoveEscapeSign() + { + var preProcessor = CreatePreProcessor(); + + string result = preProcessor.Process(" \\#\\#\\#\\# Header 4"); + + Check.That(result).IsEqualTo("#### Header 4"); + } + + [Test] + public void LineThatStartsWithEscapedHash_Header5_ShouldRemoveEscapeSign() + { + var preProcessor = CreatePreProcessor(); + + string result = preProcessor.Process(" \\#\\#\\#\\#\\# Header 5"); + + Check.That(result).IsEqualTo("##### Header 5"); + } + + [Test] + public void LineThatStartsWithEscapedHash_Header6_ShouldRemoveEscapeSign() + { + var preProcessor = CreatePreProcessor(); + + string result = preProcessor.Process(" \\#\\#\\#\\#\\#\\# Header 6"); + + Check.That(result).IsEqualTo("###### Header 6"); + } + } +} \ No newline at end of file diff --git a/src/Pickles/Pickles.Test/DocumentationBuilders/JSON/FormattingAFeature.feature.cs b/src/Pickles/Pickles.Test/DocumentationBuilders/JSON/FormattingAFeature.feature.cs deleted file mode 100644 index 28b7c3930..000000000 --- a/src/Pickles/Pickles.Test/DocumentationBuilders/JSON/FormattingAFeature.feature.cs +++ /dev/null @@ -1,231 +0,0 @@ -// ------------------------------------------------------------------------------ -// -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:2.0.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.Test.DocumentationBuilders.JSON -{ - using TechTalk.SpecFlow; - - - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "2.0.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("json")] - public virtual void ASimpleFeature() - { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("A simple feature", new string[] { - "json"}); -#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", "{\r\n \"Features\": [\r\n {\r\n \"RelativeFolder\": \"\",\r\n \"Feature\": {\r\n " + - " \"Name\": \"Clearing Screen\",\r\n \"Description\": \" In order to restart a" + - " new set of calculations\\r\\n As a math idiot\\r\\n I want to be able to clea" + - "r the screen\",\r\n \"FeatureElements\": [\r\n {\r\n \"Name\": \"" + - "Clear the screen\",\r\n \"Slug\": \"clear-the-screen\",\r\n \"Descri" + - "ption\": \"\",\r\n \"Steps\": [\r\n {\r\n \"Keyword\":" + - " \"Given\",\r\n \"NativeKeyword\": \"Given \",\r\n \"Name\": \"" + - "I have entered 50 into the calculator\",\r\n \"StepComments\": [],\r\n " + - " \"AfterLastStepComments\": []\r\n },\r\n {\r\n " + - " \"Keyword\": \"And\",\r\n \"NativeKeyword\": \"And \",\r\n " + - " \"Name\": \"I have entered 70 into the calculator\",\r\n \"St" + - "epComments\": [],\r\n \"AfterLastStepComments\": []\r\n },\r" + - "\n {\r\n \"Keyword\": \"When\",\r\n \"NativeKey" + - "word\": \"When \",\r\n \"Name\": \"I press C\",\r\n \"StepComm" + - "ents\": [],\r\n \"AfterLastStepComments\": []\r\n },\r\n " + - " {\r\n \"Keyword\": \"Then\",\r\n \"NativeKeyword\":" + - " \"Then \",\r\n \"Name\": \"the screen should be empty\",\r\n " + - " \"StepComments\": [],\r\n \"AfterLastStepComments\": []\r\n " + - " }\r\n ],\r\n \"Tags\": [\r\n \"@workflow\",\r\n " + - " \"@slow\"\r\n ],\r\n \"Result\": {\r\n \"WasExecut" + - "ed\": false,\r\n \"WasSuccessful\": false\r\n }\r\n }\r\n " + - " ],\r\n \"Result\": {\r\n \"WasExecuted\": false,\r\n \"WasS" + - "uccessful\": false\r\n },\r\n \"Tags\": []\r\n },\r\n \"Result\": {\r\n" + - " \"WasExecuted\": false,\r\n \"WasSuccessful\": false\r\n }\r\n }\r\n " + - " ],", ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("A feature with a table")] - [NUnit.Framework.CategoryAttribute("json")] - public virtual void AFeatureWithATable() - { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("A feature with a table", new string[] { - "json"}); -#line 90 -this.ScenarioSetup(scenarioInfo); -#line hidden -#line 92 - 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 128 - testRunner.When("I generate the documentation", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 129 - testRunner.Then("the JSON file should contain", "{\r\n \"Features\": [\r\n {\r\n \"RelativeFolder\": \"\",\r\n \"Feature\": {\r\n " + - " \"Name\": \"Interactive DHTML View\",\r\n \"Description\": \" In order to in" + - "crease stakeholder engagement with pickled specs\\r\\n As a SpecFlow evangelist" + - "\\r\\n I want to adjust the level of detail in the DHTML view to suit my audien" + - "ce\\r\\n So that I do not overwhelm them.\",\r\n \"FeatureElements\": [\r\n " + - " {\r\n \"Name\": \"Scenario with large data table\",\r\n \"Slu" + - "g\": \"scenario-with-large-data-table\",\r\n \"Description\": \"\",\r\n " + - " \"Steps\": [\r\n {\r\n \"Keyword\": \"Given\",\r\n " + - " \"NativeKeyword\": \"Given \",\r\n \"Name\": \"a feature with a large" + - " table of data:\",\r\n \"TableArgument\": {\r\n \"Header" + - "Row\": [\r\n \"heading\",\r\n \"page #\"\r\n " + - " ],\r\n \"DataRows\": [\r\n [\r\n " + - " \"Chapter 1\",\r\n \"1\"\r\n ],\r\n " + - " [\r\n \"Chapter 2\",\r\n \"5\"" + - "\r\n ],\r\n [\r\n \"Chapter " + - "3\",\r\n \"10\"\r\n ],\r\n [\r\n" + - " \"Chapter 4\",\r\n \"15\"\r\n " + - " ],\r\n [\r\n \"Chapter 5\",\r\n " + - " \"20\"\r\n ],\r\n [\r\n " + - " \"Chapter 6\",\r\n \"25\"\r\n ],\r\n " + - " [\r\n \"Chapter 7\",\r\n \"30\"\r\n " + - " ],\r\n [\r\n \"Chapter 8\",\r\n" + - " \"35\"\r\n ],\r\n [\r\n " + - " \"Chapter 9\",\r\n \"40\"\r\n ]" + - ",\r\n [\r\n \"Chapter 10\",\r\n " + - " \"45\"\r\n ],\r\n [\r\n " + - "\"Chapter 11\",\r\n \"50\"\r\n ],\r\n " + - " [\r\n \"Chapter 12\",\r\n \"55\"\r\n " + - " ],\r\n [\r\n \"Chapter 13\",\r\n " + - " \"60\"\r\n ],\r\n [\r\n " + - " \"Chapter 14\",\r\n \"65\"\r\n ]" + - ",\r\n [\r\n \"Chapter 15\",\r\n " + - " \"70\"\r\n ],\r\n [\r\n " + - "\"Chapter 16\",\r\n \"75\"\r\n ],\r\n " + - " [\r\n \"Chapter 17\",\r\n \"80\"\r\n " + - " ],\r\n [\r\n \"Chapter 18\",\r\n " + - " \"85\"\r\n ],\r\n [\r\n " + - " \"Chapter 19\",\r\n \"90\"\r\n ]" + - ",\r\n [\r\n \"Chapter 20\",\r\n " + - " \"95\"\r\n ],\r\n [\r\n " + - "\"Chapter 21\",\r\n \"100\"\r\n ],\r\n " + - " [\r\n \"Chapter 22\",\r\n \"105\"\r\n " + - " ]\r\n ]\r\n },\r\n \"St" + - "epComments\": [],\r\n \"AfterLastStepComments\": []\r\n },\r" + - "\n {\r\n \"Keyword\": \"When\",\r\n \"NativeKey" + - "word\": \"When \",\r\n \"Name\": \"I click on the table heading\",\r\n " + - " \"StepComments\": [],\r\n \"AfterLastStepComments\": []\r\n " + - " },\r\n {\r\n \"Keyword\": \"Then\",\r\n " + - " \"NativeKeyword\": \"Then \",\r\n \"Name\": \"the table body should col" + - "lapse\",\r\n \"StepComments\": [],\r\n \"AfterLastStepComm" + - "ents\": []\r\n }\r\n ],\r\n \"Tags\": [],\r\n " + - " \"Result\": {\r\n \"WasExecuted\": false,\r\n \"WasSuccessful\"" + - ": false\r\n }\r\n }\r\n ],\r\n \"Result\": {\r\n " + - "\"WasExecuted\": false,\r\n \"WasSuccessful\": false\r\n },\r\n \"Ta" + - "gs\": []\r\n },\r\n \"Result\": {\r\n \"WasExecuted\": false,\r\n \"Wa" + - "sSuccessful\": false\r\n }\r\n }\r\n ],", ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - this.ScenarioCleanup(); - } - } -} -#pragma warning restore -#endregion diff --git a/src/Pickles/Pickles.Test/Formatters/HtmlContentFormatterTests.cs b/src/Pickles/Pickles.Test/Formatters/HtmlContentFormatterTests.cs index 8044e76ee..b79ad06d7 100644 --- a/src/Pickles/Pickles.Test/Formatters/HtmlContentFormatterTests.cs +++ b/src/Pickles/Pickles.Test/Formatters/HtmlContentFormatterTests.cs @@ -23,7 +23,7 @@ using NFluent; using NUnit.Framework; using PicklesDoc.Pickles.DirectoryCrawler; -using PicklesDoc.Pickles.DocumentationBuilders.HTML; +using PicklesDoc.Pickles.DocumentationBuilders.Html; using PicklesDoc.Pickles.ObjectModel; namespace PicklesDoc.Pickles.Test.Formatters diff --git a/src/Pickles/Pickles.Test/Formatters/HtmlDocumentationBuilderTests.cs b/src/Pickles/Pickles.Test/Formatters/HtmlDocumentationBuilderTests.cs index 1852a39d4..23732f755 100644 --- a/src/Pickles/Pickles.Test/Formatters/HtmlDocumentationBuilderTests.cs +++ b/src/Pickles/Pickles.Test/Formatters/HtmlDocumentationBuilderTests.cs @@ -23,7 +23,7 @@ using Autofac; using NUnit.Framework; using PicklesDoc.Pickles.DirectoryCrawler; -using PicklesDoc.Pickles.DocumentationBuilders.HTML; +using PicklesDoc.Pickles.DocumentationBuilders.Html; namespace PicklesDoc.Pickles.Test.Formatters { diff --git a/src/Pickles/Pickles.Test/Formatters/HtmlScenarioFormatterTests.cs b/src/Pickles/Pickles.Test/Formatters/HtmlScenarioFormatterTests.cs index 77df4766d..7e06648d7 100644 --- a/src/Pickles/Pickles.Test/Formatters/HtmlScenarioFormatterTests.cs +++ b/src/Pickles/Pickles.Test/Formatters/HtmlScenarioFormatterTests.cs @@ -24,7 +24,8 @@ using Autofac; using NFluent; using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.HTML; + +using PicklesDoc.Pickles.DocumentationBuilders.Html; using PicklesDoc.Pickles.ObjectModel; namespace PicklesDoc.Pickles.Test.Formatters diff --git a/src/Pickles/Pickles.Test/Formatters/HtmlScenarioOutlineFormatterTests.cs b/src/Pickles/Pickles.Test/Formatters/HtmlScenarioOutlineFormatterTests.cs index a2715eaef..ef182ca0f 100644 --- a/src/Pickles/Pickles.Test/Formatters/HtmlScenarioOutlineFormatterTests.cs +++ b/src/Pickles/Pickles.Test/Formatters/HtmlScenarioOutlineFormatterTests.cs @@ -26,7 +26,8 @@ using Moq; using NFluent; using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.HTML; + +using PicklesDoc.Pickles.DocumentationBuilders.Html; using PicklesDoc.Pickles.ObjectModel; using PicklesDoc.Pickles.TestFrameworks; diff --git a/src/Pickles/Pickles.Test/Formatters/JSON/WhenCreatingAFeatureWithMetaInfo.cs b/src/Pickles/Pickles.Test/Formatters/JSON/WhenCreatingAFeatureWithMetaInfo.cs index 0881721ff..cc00bbb80 100644 --- a/src/Pickles/Pickles.Test/Formatters/JSON/WhenCreatingAFeatureWithMetaInfo.cs +++ b/src/Pickles/Pickles.Test/Formatters/JSON/WhenCreatingAFeatureWithMetaInfo.cs @@ -23,7 +23,7 @@ using NFluent; using NUnit.Framework; using PicklesDoc.Pickles.DirectoryCrawler; -using PicklesDoc.Pickles.DocumentationBuilders.JSON; +using PicklesDoc.Pickles.DocumentationBuilders.Json; using PicklesDoc.Pickles.ObjectModel; namespace PicklesDoc.Pickles.Test.Formatters.JSON diff --git a/src/Pickles/Pickles.Test/Formatters/JSON/WhenCreatingAFeatureWithMetaInfoAndTestResultInMstestFormat.cs b/src/Pickles/Pickles.Test/Formatters/JSON/WhenCreatingAFeatureWithMetaInfoAndTestResultInMstestFormat.cs index 3884e207d..fa20ffeee 100644 --- a/src/Pickles/Pickles.Test/Formatters/JSON/WhenCreatingAFeatureWithMetaInfoAndTestResultInMstestFormat.cs +++ b/src/Pickles/Pickles.Test/Formatters/JSON/WhenCreatingAFeatureWithMetaInfoAndTestResultInMstestFormat.cs @@ -27,7 +27,7 @@ using NUnit.Framework; using PicklesDoc.Pickles.DataStructures; using PicklesDoc.Pickles.DirectoryCrawler; -using PicklesDoc.Pickles.DocumentationBuilders.JSON; +using PicklesDoc.Pickles.DocumentationBuilders.Json; using PicklesDoc.Pickles.ObjectModel; using PicklesDoc.Pickles.Test.Helpers; using PicklesDoc.Pickles.TestFrameworks; diff --git a/src/Pickles/Pickles.Test/Formatters/JSON/WhenFormattingAFolderStructureWithFeatures.cs b/src/Pickles/Pickles.Test/Formatters/JSON/WhenFormattingAFolderStructureWithFeatures.cs index 3f24c003c..02b45c38b 100644 --- a/src/Pickles/Pickles.Test/Formatters/JSON/WhenFormattingAFolderStructureWithFeatures.cs +++ b/src/Pickles/Pickles.Test/Formatters/JSON/WhenFormattingAFolderStructureWithFeatures.cs @@ -23,7 +23,7 @@ using NUnit.Framework; using PicklesDoc.Pickles.DataStructures; using PicklesDoc.Pickles.DirectoryCrawler; -using PicklesDoc.Pickles.DocumentationBuilders.JSON; +using PicklesDoc.Pickles.DocumentationBuilders.Json; using PicklesDoc.Pickles.Test.Helpers; namespace PicklesDoc.Pickles.Test.Formatters.JSON diff --git a/src/Pickles/Pickles.Test/Formatters/TableOfContentsShouldBeCreatedFromAFolderStructure.cs b/src/Pickles/Pickles.Test/Formatters/TableOfContentsShouldBeCreatedFromAFolderStructure.cs index a6b4ee954..96dd08b25 100644 --- a/src/Pickles/Pickles.Test/Formatters/TableOfContentsShouldBeCreatedFromAFolderStructure.cs +++ b/src/Pickles/Pickles.Test/Formatters/TableOfContentsShouldBeCreatedFromAFolderStructure.cs @@ -28,7 +28,7 @@ using NUnit.Framework; using PicklesDoc.Pickles.DataStructures; using PicklesDoc.Pickles.DirectoryCrawler; -using PicklesDoc.Pickles.DocumentationBuilders.HTML; +using PicklesDoc.Pickles.DocumentationBuilders.Html; using PicklesDoc.Pickles.Test.Helpers; namespace PicklesDoc.Pickles.Test.Formatters diff --git a/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/Background.feature b/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/Background.feature deleted file mode 100644 index 1e36de0bb..000000000 --- a/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/Background.feature +++ /dev/null @@ -1,13 +0,0 @@ -Feature: Test - In order to do something - As a user - I want to run this scenario - - Background: Setup some stuff - Given we have set up some stuff - And some other stuff - - Scenario: A scenario - Given some feature - When it runs - Then I should see that this thing happens diff --git a/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/Background.html b/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/Background.html deleted file mode 100644 index 18644901d..000000000 --- a/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/Background.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - Feature: Test - - -
        -

        Feature: Test

        -

        In order to do something

        -

        As a user

        -

        I want to run this scenario

        -
        -
          -
        • -
          -

          Scenario: A scenario

          -

          -
          -
          -
            -
          • Given some feature
          • -
          • When it runs
          • -
          • Then I should see that this thing happens
          • -
          -
          -
        • -
        - - \ No newline at end of file diff --git a/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/Comment.feature b/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/Comment.feature deleted file mode 100644 index 88236250e..000000000 --- a/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/Comment.feature +++ /dev/null @@ -1,25 +0,0 @@ -Feature: Test - In order to do something - As a user - I want to run this scenario - - Scenario: A scenario - # A single line comment - Given some feature - # A multiline comment - first line - # second line - And another feature - # - # Multiline with empty first line - # But the last lines are not empty - And another feature - # Multiline with empty last line - # But the first lines are not empty - # - When it runs - # Multiline with first and last last lines not empty - # - # But the middle line is empty - Then I should see that this thing happens - And there is no comment here - # A comment after the last step \ No newline at end of file diff --git a/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/Comment.html b/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/Comment.html deleted file mode 100644 index 0dd51bb87..000000000 --- a/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/Comment.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - Feature: Test - - -
        -

        Feature: Test

        -

        In order to do something

        -

        As a user

        -

        I want to run this scenario

        -
        -
          -
        • -
          -

          Scenario: A scenario

          -

          -
          -
          -
            -
          • - # A single line comment - Given some feature -
          • -
          • - # A multiline comment - first line
            # second line
            - And another feature -
          • -
          • -
            # Multiline with empty first line
            # But the last lines are not empty
            - And another feature -
          • -
          • - # Multiline with empty last line
            # But the first lines are not empty

            - When it runs -
          • -
          • - # Multiline with first and last last lines not empty

            # But the middle line is empty
            - Then I should see that this thing happens -
          • -
          • - And there is no comment here - # A comment after the last step -
          • -
          -
          -
        • -
        - - \ No newline at end of file diff --git a/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/MultilineString.feature b/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/MultilineString.feature deleted file mode 100644 index bf9848084..000000000 --- a/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/MultilineString.feature +++ /dev/null @@ -1,14 +0,0 @@ -Feature: Test - In order to do something - As a user - I want to run this scenario - - Scenario: A scenario - Given some feature with a multiline string - """ - This is an - example of a multiline - string - """ - When it runs - Then I should see that this thing happens diff --git a/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/MultilineString.html b/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/MultilineString.html deleted file mode 100644 index dec26e61a..000000000 --- a/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/MultilineString.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - Feature: Test - - -
        -

        Feature: Test

        -

        In order to do something

        -

        As a user

        -

        I want to run this scenario

        -
        -
          -
        • -
          -

          Scenario: A scenario

          -

          -
          -
          -
            -
          • Given some feature with a multiline string
            This is an
            -example of a multiline
            -string
          • -
          • When it runs
          • -
          • Then I should see that this thing happens
          • -
          -
          -
        • -
        - - \ No newline at end of file diff --git a/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/ScenarioOutline.feature b/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/ScenarioOutline.feature deleted file mode 100644 index 761278a66..000000000 --- a/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/ScenarioOutline.feature +++ /dev/null @@ -1,14 +0,0 @@ -Feature: Test - In order to do something - As a user - I want to run this scenario - - Scenario Outline: A scenario - Given some feature with - When it runs - Then I should see that this thing happens - - Examples: - | First | Second | - | 1 | 1 | - | 2 | 2 | diff --git a/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/ScenarioOutline.html b/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/ScenarioOutline.html deleted file mode 100644 index 70af52f3e..000000000 --- a/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/ScenarioOutline.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - Feature: Test - - -
        -

        Feature: Test

        -

        In order to do something

        -

        As a user

        -

        I want to run this scenario

        -
        -
          -
        • -
          -

          Scenario: A scenario

          -

          -
          -
          -
            -
          • Given some feature with <first>
          • -
          • When it runs
          • -
          • - Then I should see that this <second> thing happens -
          • -
          -
          -
          -

          Examples

          -
        - - - - - - - - - - - - - - - - -
        FirstSecond
        11
        22
        -
        - -
    - - \ No newline at end of file diff --git a/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/Simple.feature b/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/Simple.feature deleted file mode 100644 index 35de260d5..000000000 --- a/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/Simple.feature +++ /dev/null @@ -1,9 +0,0 @@ -Feature: Test - In order to do something - As a user - I want to run this scenario - - Scenario: A scenario - Given some feature - When it runs - Then I should see that this thing happens diff --git a/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/Simple.html b/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/Simple.html deleted file mode 100644 index 18644901d..000000000 --- a/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/Simple.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - Feature: Test - - -
    -

    Feature: Test

    -

    In order to do something

    -

    As a user

    -

    I want to run this scenario

    -
    -
      -
    • -
      -

      Scenario: A scenario

      -

      -
      -
      -
        -
      • Given some feature
      • -
      • When it runs
      • -
      • Then I should see that this thing happens
      • -
      -
      -
    • -
    - - \ No newline at end of file diff --git a/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/Table.feature b/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/Table.feature deleted file mode 100644 index 7dfd75961..000000000 --- a/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/Table.feature +++ /dev/null @@ -1,11 +0,0 @@ -Feature: Test - In order to do something - As a user - I want to run this scenario - - Scenario: A scenario - Given some feature with a table - | Column1 | Column2 | - | Value 1 | Value 2 | - When it runs - Then I should see that this thing happens diff --git a/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/Table.html b/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/Table.html deleted file mode 100644 index 39b9c447c..000000000 --- a/src/Pickles/Pickles.Test/HtmlFormatterTestFiles/Table.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - Feature: Test - - -
    -

    Feature: Test

    -

    In order to do something

    -

    As a user

    -

    I want to run this scenario

    -
    -
      -
    • -
      -

      Scenario: A scenario

      -

      -
      -
      -
        -
      • - Given some feature with a table - - - - - - - - - - - - -
        Column1Column2
        Value 1Value 2
        -
      • -
      • When it runs
      • -
      • Then I should see that this thing happens
      • -
      -
      -
    • -
    - - \ No newline at end of file diff --git a/src/Pickles/Pickles.Test/NamespaceExtensionsTests.cs b/src/Pickles/Pickles.Test/NamespaceExtensionsTests.cs index f0ff3ea9a..8a96747de 100644 --- a/src/Pickles/Pickles.Test/NamespaceExtensionsTests.cs +++ b/src/Pickles/Pickles.Test/NamespaceExtensionsTests.cs @@ -22,6 +22,8 @@ using System.Xml.Linq; using NFluent; using NUnit.Framework; + +using PicklesDoc.Pickles.DocumentationBuilders.Html.Extensions; using PicklesDoc.Pickles.Extensions; namespace PicklesDoc.Pickles.Test diff --git a/src/Pickles/Pickles.Test/ObjectModel/Json/CommentToJsonCommentMapperTests.cs b/src/Pickles/Pickles.Test/ObjectModel/Json/CommentToJsonCommentMapperTests.cs index 90f6ec1fd..aa2c6ff93 100644 --- a/src/Pickles/Pickles.Test/ObjectModel/Json/CommentToJsonCommentMapperTests.cs +++ b/src/Pickles/Pickles.Test/ObjectModel/Json/CommentToJsonCommentMapperTests.cs @@ -20,8 +20,9 @@ using NFluent; using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.JSON; -using PicklesDoc.Pickles.DocumentationBuilders.JSON.Mapper; + +using PicklesDoc.Pickles.DocumentationBuilders.Json; +using PicklesDoc.Pickles.DocumentationBuilders.Json.Mapper; using PicklesDoc.Pickles.ObjectModel; namespace PicklesDoc.Pickles.Test.ObjectModel.Json diff --git a/src/Pickles/Pickles.Test/ObjectModel/Json/ExampleToJsonExampleMapperTests.cs b/src/Pickles/Pickles.Test/ObjectModel/Json/ExampleToJsonExampleMapperTests.cs index fa33eb368..9a3c36079 100644 --- a/src/Pickles/Pickles.Test/ObjectModel/Json/ExampleToJsonExampleMapperTests.cs +++ b/src/Pickles/Pickles.Test/ObjectModel/Json/ExampleToJsonExampleMapperTests.cs @@ -20,8 +20,9 @@ using NFluent; using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.JSON; -using PicklesDoc.Pickles.DocumentationBuilders.JSON.Mapper; + +using PicklesDoc.Pickles.DocumentationBuilders.Json; +using PicklesDoc.Pickles.DocumentationBuilders.Json.Mapper; using PicklesDoc.Pickles.ObjectModel; namespace PicklesDoc.Pickles.Test.ObjectModel.Json diff --git a/src/Pickles/Pickles.Test/ObjectModel/Json/FeatureToJsonFeatureMapperTests.cs b/src/Pickles/Pickles.Test/ObjectModel/Json/FeatureToJsonFeatureMapperTests.cs index d72b7096f..ea23ef51f 100644 --- a/src/Pickles/Pickles.Test/ObjectModel/Json/FeatureToJsonFeatureMapperTests.cs +++ b/src/Pickles/Pickles.Test/ObjectModel/Json/FeatureToJsonFeatureMapperTests.cs @@ -22,8 +22,9 @@ using System.Collections.Generic; using NFluent; using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.JSON; -using PicklesDoc.Pickles.DocumentationBuilders.JSON.Mapper; + +using PicklesDoc.Pickles.DocumentationBuilders.Json; +using PicklesDoc.Pickles.DocumentationBuilders.Json.Mapper; using PicklesDoc.Pickles.ObjectModel; namespace PicklesDoc.Pickles.Test.ObjectModel.Json diff --git a/src/Pickles/Pickles.Test/ObjectModel/Json/JsonScenarioTests.cs b/src/Pickles/Pickles.Test/ObjectModel/Json/JsonScenarioTests.cs index 700ffa258..5f91951ba 100644 --- a/src/Pickles/Pickles.Test/ObjectModel/Json/JsonScenarioTests.cs +++ b/src/Pickles/Pickles.Test/ObjectModel/Json/JsonScenarioTests.cs @@ -20,12 +20,12 @@ using NFluent; using NUnit.Framework; + +using PicklesDoc.Pickles.DocumentationBuilders.Json; using PicklesDoc.Pickles.ObjectModel; namespace PicklesDoc.Pickles.Test.ObjectModel.Json { - using PicklesDoc.Pickles.DocumentationBuilders.JSON; - [TestFixture] public class JsonScenarioTests { diff --git a/src/Pickles/Pickles.Test/ObjectModel/Json/KeywordToJsonKeywordMapperTests.cs b/src/Pickles/Pickles.Test/ObjectModel/Json/KeywordToJsonKeywordMapperTests.cs index 9f2770d96..d810edee9 100644 --- a/src/Pickles/Pickles.Test/ObjectModel/Json/KeywordToJsonKeywordMapperTests.cs +++ b/src/Pickles/Pickles.Test/ObjectModel/Json/KeywordToJsonKeywordMapperTests.cs @@ -20,8 +20,9 @@ using NFluent; using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.JSON; -using PicklesDoc.Pickles.DocumentationBuilders.JSON.Mapper; + +using PicklesDoc.Pickles.DocumentationBuilders.Json; +using PicklesDoc.Pickles.DocumentationBuilders.Json.Mapper; using PicklesDoc.Pickles.ObjectModel; namespace PicklesDoc.Pickles.Test.ObjectModel.Json diff --git a/src/Pickles/Pickles.Test/ObjectModel/Json/ScenarioOutlineToJsonScenarioOutlineMapperTests.cs b/src/Pickles/Pickles.Test/ObjectModel/Json/ScenarioOutlineToJsonScenarioOutlineMapperTests.cs index cf32e5fd8..b5e90ceb4 100644 --- a/src/Pickles/Pickles.Test/ObjectModel/Json/ScenarioOutlineToJsonScenarioOutlineMapperTests.cs +++ b/src/Pickles/Pickles.Test/ObjectModel/Json/ScenarioOutlineToJsonScenarioOutlineMapperTests.cs @@ -21,8 +21,9 @@ using System.Collections.Generic; using NFluent; using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.JSON; -using PicklesDoc.Pickles.DocumentationBuilders.JSON.Mapper; + +using PicklesDoc.Pickles.DocumentationBuilders.Json; +using PicklesDoc.Pickles.DocumentationBuilders.Json.Mapper; using PicklesDoc.Pickles.ObjectModel; namespace PicklesDoc.Pickles.Test.ObjectModel.Json diff --git a/src/Pickles/Pickles.Test/ObjectModel/Json/ScenarioToJsonScenarioMapperTests.cs b/src/Pickles/Pickles.Test/ObjectModel/Json/ScenarioToJsonScenarioMapperTests.cs index 7d0632e3c..a549387d7 100644 --- a/src/Pickles/Pickles.Test/ObjectModel/Json/ScenarioToJsonScenarioMapperTests.cs +++ b/src/Pickles/Pickles.Test/ObjectModel/Json/ScenarioToJsonScenarioMapperTests.cs @@ -21,8 +21,9 @@ using System.Collections.Generic; using NFluent; using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.JSON; -using PicklesDoc.Pickles.DocumentationBuilders.JSON.Mapper; + +using PicklesDoc.Pickles.DocumentationBuilders.Json; +using PicklesDoc.Pickles.DocumentationBuilders.Json.Mapper; using PicklesDoc.Pickles.ObjectModel; namespace PicklesDoc.Pickles.Test.ObjectModel.Json diff --git a/src/Pickles/Pickles.Test/ObjectModel/Json/StepToJsonStepMapperTests.cs b/src/Pickles/Pickles.Test/ObjectModel/Json/StepToJsonStepMapperTests.cs index 3d51cb28a..13ab06f66 100644 --- a/src/Pickles/Pickles.Test/ObjectModel/Json/StepToJsonStepMapperTests.cs +++ b/src/Pickles/Pickles.Test/ObjectModel/Json/StepToJsonStepMapperTests.cs @@ -21,8 +21,9 @@ using System.Collections.Generic; using NFluent; using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.JSON; -using PicklesDoc.Pickles.DocumentationBuilders.JSON.Mapper; + +using PicklesDoc.Pickles.DocumentationBuilders.Json; +using PicklesDoc.Pickles.DocumentationBuilders.Json.Mapper; using PicklesDoc.Pickles.ObjectModel; namespace PicklesDoc.Pickles.Test.ObjectModel.Json diff --git a/src/Pickles/Pickles.Test/ObjectModel/Json/TableRowToJsonTableRowMapperTests.cs b/src/Pickles/Pickles.Test/ObjectModel/Json/TableRowToJsonTableRowMapperTests.cs index 7c9eeec7a..a0fb208e9 100644 --- a/src/Pickles/Pickles.Test/ObjectModel/Json/TableRowToJsonTableRowMapperTests.cs +++ b/src/Pickles/Pickles.Test/ObjectModel/Json/TableRowToJsonTableRowMapperTests.cs @@ -20,8 +20,9 @@ using NFluent; using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.JSON; -using PicklesDoc.Pickles.DocumentationBuilders.JSON.Mapper; + +using PicklesDoc.Pickles.DocumentationBuilders.Json; +using PicklesDoc.Pickles.DocumentationBuilders.Json.Mapper; using PicklesDoc.Pickles.ObjectModel; namespace PicklesDoc.Pickles.Test.ObjectModel.Json diff --git a/src/Pickles/Pickles.Test/ObjectModel/Json/TableToJsonTableMapperTests.cs b/src/Pickles/Pickles.Test/ObjectModel/Json/TableToJsonTableMapperTests.cs index a3f73a052..34431358d 100644 --- a/src/Pickles/Pickles.Test/ObjectModel/Json/TableToJsonTableMapperTests.cs +++ b/src/Pickles/Pickles.Test/ObjectModel/Json/TableToJsonTableMapperTests.cs @@ -22,8 +22,9 @@ using System.Collections.Generic; using NFluent; using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.JSON; -using PicklesDoc.Pickles.DocumentationBuilders.JSON.Mapper; + +using PicklesDoc.Pickles.DocumentationBuilders.Json; +using PicklesDoc.Pickles.DocumentationBuilders.Json.Mapper; using PicklesDoc.Pickles.ObjectModel; namespace PicklesDoc.Pickles.Test.ObjectModel.Json diff --git a/src/Pickles/Pickles.Test/ObjectModel/Json/TestResultToJsonTestResultMapperTests.cs b/src/Pickles/Pickles.Test/ObjectModel/Json/TestResultToJsonTestResultMapperTests.cs index b6c50e242..cfaa519ef 100644 --- a/src/Pickles/Pickles.Test/ObjectModel/Json/TestResultToJsonTestResultMapperTests.cs +++ b/src/Pickles/Pickles.Test/ObjectModel/Json/TestResultToJsonTestResultMapperTests.cs @@ -20,8 +20,9 @@ using NFluent; using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.JSON; -using PicklesDoc.Pickles.DocumentationBuilders.JSON.Mapper; + +using PicklesDoc.Pickles.DocumentationBuilders.Json; +using PicklesDoc.Pickles.DocumentationBuilders.Json.Mapper; using PicklesDoc.Pickles.ObjectModel; namespace PicklesDoc.Pickles.Test.ObjectModel.Json diff --git a/src/Pickles/Pickles.Test/Pickles.Test.csproj b/src/Pickles/Pickles.Test/Pickles.Test.csproj index c7e6fe397..14b9d98a5 100644 --- a/src/Pickles/Pickles.Test/Pickles.Test.csproj +++ b/src/Pickles/Pickles.Test/Pickles.Test.csproj @@ -35,12 +35,16 @@ false - - ..\packages\Autofac.3.5.2\lib\net40\Autofac.dll + + ..\packages\Autofac.4.1.1\lib\net45\Autofac.dll True - - ..\packages\ClosedXML.0.76.0\lib\net40-client\ClosedXML.dll + + ..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll + True + + + ..\packages\ClosedXML.0.80.1\lib\net40-client\ClosedXML.dll True @@ -51,39 +55,39 @@ ..\packages\Gherkin.4.0.0\lib\net45\Gherkin.dll True - - ..\packages\Moq.4.2.1510.2205\lib\net40\Moq.dll + + ..\packages\Moq.4.5.23\lib\net45\Moq.dll True - - ..\packages\Newtonsoft.Json.8.0.3\lib\net45\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll True ..\packages\NFluent.1.3.1.0\lib\net40\NFluent.dll True - - ..\packages\NUnit.3.2.1\lib\net45\nunit.framework.dll + + ..\packages\NUnit.3.5.0\lib\net45\nunit.framework.dll True - - ..\packages\System.IO.Abstractions.2.0.0.124\lib\net40\System.IO.Abstractions.dll + + ..\packages\System.IO.Abstractions.2.0.0.137\lib\net40\System.IO.Abstractions.dll True - - ..\packages\System.IO.Abstractions.TestingHelpers.2.0.0.124\lib\net40\System.IO.Abstractions.TestingHelpers.dll + + ..\packages\System.IO.Abstractions.TestingHelpers.2.0.0.137\lib\net40\System.IO.Abstractions.TestingHelpers.dll True - - ..\packages\SpecFlow.2.0.0\lib\net45\TechTalk.SpecFlow.dll + + ..\packages\SpecFlow.2.1.0\lib\net45\TechTalk.SpecFlow.dll True @@ -95,22 +99,9 @@ + - - FormattingAFeatureUsingStrike.feature - True - True - - - - - True - True - FormattingAFeature.feature - - - @@ -137,29 +128,8 @@ - - - - True - True - FormattingAFeature.feature - - - - - - - - - - - - - - - @@ -183,8 +153,6 @@ - - @@ -193,6 +161,26 @@ + + {8AC3AAFA-84DD-4437-962B-E6C5D6078E09} + Pickles.DocumentationBuilders.Dhtml + + + {A875B066-443A-420E-A1F5-7870CFF0A50C} + Pickles.DocumentationBuilders.Excel + + + {2C849AD2-D125-4754-8BBA-7C61FA6251E4} + Pickles.DocumentationBuilders.Html + + + {836020D1-A309-4367-9654-EBB7C3F60D97} + Pickles.DocumentationBuilders.Json + + + {BDD5290E-BF98-436B-ADEE-A7479E22A875} + Pickles.DocumentationBuilders.Word + {55382AFC-E050-4DF7-AA4F-0ABA71E2E169} Pickles.ObjectModel @@ -207,14 +195,6 @@ - - SpecFlowSingleFileGenerator - FormattingAFeatureUsingStrike.feature.cs - - - SpecFlowSingleFileGenerator - FormattingAFeature.feature.cs - @@ -224,11 +204,6 @@ - - SpecFlowSingleFileGenerator - FormattingAFeature.feature.cs - - a-b.feature.cs @@ -246,29 +221,8 @@ ResXFileCodeGenerator Resources.Designer.cs - - SimplestFile.feature.cs - - - - - SimplestFile.feature.cs - - - - Table.feature.cs - - - ScenarioOutline.feature.cs - - - - - Background.feature.cs - - OneScenarioTransferingMoneyBetweenAccountsFailing.feature.cs diff --git a/src/Pickles/Pickles.Test/WhenParsingFeatureFiles.cs b/src/Pickles/Pickles.Test/WhenParsingFeatureFiles.cs index c5f62dbd6..9f00d0e52 100644 --- a/src/Pickles/Pickles.Test/WhenParsingFeatureFiles.cs +++ b/src/Pickles/Pickles.Test/WhenParsingFeatureFiles.cs @@ -61,9 +61,9 @@ Then I should see that this other thing happens Check.That(feature).IsNotNull(); Check.That(feature.Name).IsEqualTo("Test"); - Check.That(feature.Description.ComparisonNormalize()).IsEqualTo(@" In order to do something - As a user - I want to run this scenario".ComparisonNormalize()); + Check.That(feature.Description.ComparisonNormalize()).IsEqualTo(@"In order to do something +As a user +I want to run this scenario".ComparisonNormalize()); Check.That(feature.FeatureElements.Count).IsEqualTo(2); Check.That(feature.Tags).IsEmpty(); @@ -142,9 +142,9 @@ When it runs Check.That(feature).IsNotNull(); Check.That(feature.Name).IsEqualTo("Test"); - Check.That(feature.Description.ComparisonNormalize()).IsEqualTo(@" In order to do something - As a user - I want to run this scenario".ComparisonNormalize()); + Check.That(feature.Description.ComparisonNormalize()).IsEqualTo(@"In order to do something +As a user +I want to run this scenario".ComparisonNormalize()); Check.That(feature.FeatureElements.Count).IsEqualTo(1); Check.That(feature.Tags).IsEmpty(); diff --git a/src/Pickles/Pickles.Test/WhenParsingLocalizedFeatureFiles.cs b/src/Pickles/Pickles.Test/WhenParsingLocalizedFeatureFiles.cs index 1a6c1fa5b..30be8f307 100644 --- a/src/Pickles/Pickles.Test/WhenParsingLocalizedFeatureFiles.cs +++ b/src/Pickles/Pickles.Test/WhenParsingLocalizedFeatureFiles.cs @@ -57,9 +57,9 @@ När den körs Check.That(feature).IsNotNull(); Check.That(feature.Name).IsEqualTo("Test egenskap"); - Check.That(feature.Description.ComparisonNormalize()).IsEqualTo(@" Som svensk användare - Vill jag skriva mina krav på svenska - Så att beställaren kan förstå dem".ComparisonNormalize()); + Check.That(feature.Description.ComparisonNormalize()).IsEqualTo(@"Som svensk användare +Vill jag skriva mina krav på svenska +Så att beställaren kan förstå dem".ComparisonNormalize()); Check.That(feature.FeatureElements.Count).IsEqualTo(1); Check.That(feature.Tags.Count).IsEqualTo(0); @@ -112,9 +112,9 @@ När den körs Check.That(feature).IsNotNull(); Check.That(feature.Name).IsEqualTo("Test egenskap"); - Check.That(feature.Description.ComparisonNormalize()).IsEqualTo(@" Som svensk användare - Vill jag skriva mina krav på svenska - Så att beställaren kan förstå dem".ComparisonNormalize()); + Check.That(feature.Description.ComparisonNormalize()).IsEqualTo(@"Som svensk användare +Vill jag skriva mina krav på svenska +Så att beställaren kan förstå dem".ComparisonNormalize()); Check.That(feature.FeatureElements.Count).IsEqualTo(1); Check.That(feature.Tags.Count).IsEqualTo(0); @@ -142,5 +142,24 @@ Vill jag skriva mina krav på svenska Check.That(thenStep.DocStringArgument).IsNull(); Check.That(thenStep.TableArgument).IsNull(); } + [Test] + public void WhenIndicatingTheLanguageAndCultureInTheFeature_ThenCanParseTheFeature() + { + string featureText = + @"# language: nl-BE +Functionaliteit: Test de Cultuur + +Scenario: Het Scenario + Stel dat ik 50 ingeef + En dat ik 70 ingeef + Als ik plus druk + Dan moet het resultaat 120 zijn"; + + var configuration = this.Configuration; + var parser = new FeatureParser(FileSystem, configuration); + Feature feature = parser.Parse(new StringReader(featureText)); + + Check.That(feature).IsNotNull(); + } } } diff --git a/src/Pickles/Pickles.Test/WhenResolvingADocumentationBuilder.cs b/src/Pickles/Pickles.Test/WhenResolvingADocumentationBuilder.cs index 6e8bd1dcd..26b56e7b8 100644 --- a/src/Pickles/Pickles.Test/WhenResolvingADocumentationBuilder.cs +++ b/src/Pickles/Pickles.Test/WhenResolvingADocumentationBuilder.cs @@ -24,7 +24,7 @@ using NUnit.Framework; using PicklesDoc.Pickles.DocumentationBuilders; using PicklesDoc.Pickles.DocumentationBuilders.Excel; -using PicklesDoc.Pickles.DocumentationBuilders.HTML; +using PicklesDoc.Pickles.DocumentationBuilders.Html; using PicklesDoc.Pickles.DocumentationBuilders.Word; namespace PicklesDoc.Pickles.Test diff --git a/src/Pickles/Pickles.Test/WhenWorkingWithHtmlResources.cs b/src/Pickles/Pickles.Test/WhenWorkingWithHtmlResources.cs index 152a8d5dd..174e4594f 100644 --- a/src/Pickles/Pickles.Test/WhenWorkingWithHtmlResources.cs +++ b/src/Pickles/Pickles.Test/WhenWorkingWithHtmlResources.cs @@ -22,7 +22,8 @@ using System.Linq; using NFluent; using NUnit.Framework; -using PicklesDoc.Pickles.DocumentationBuilders.HTML; + +using PicklesDoc.Pickles.DocumentationBuilders.Html; namespace PicklesDoc.Pickles.Test { diff --git a/src/Pickles/Pickles.Test/packages.config b/src/Pickles/Pickles.Test/packages.config index 015fd3151..14a7a9431 100644 --- a/src/Pickles/Pickles.Test/packages.config +++ b/src/Pickles/Pickles.Test/packages.config @@ -1,14 +1,15 @@  - - + + + - - + + - - - - + + + + \ No newline at end of file diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/WhenParsingMsTestResultsFileWithEmptyExampleValues.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/WhenParsingMsTestResultsFileWithEmptyExampleValues.cs index 73e12777c..baa101da1 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/WhenParsingMsTestResultsFileWithEmptyExampleValues.cs +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/WhenParsingMsTestResultsFileWithEmptyExampleValues.cs @@ -35,14 +35,14 @@ public WhenParsingMsTestResultsFileWithEmptyExampleValues() } [Test] - public new void ThenMatchWillBeFoundEvenIfACarriageReturnWasFoundInValueField() + public void ThenMatchWillBeFoundEvenIfACarriageReturnWasFoundInValueField() { var results = ParseResultsFile(); - + var feature = new Feature { Name = "Example With Empty Value" }; var scenarioOutline = new ScenarioOutline { Name = "Testing test", Feature = feature }; scenarioOutline.Steps = new List(); - + var examples = new Table(); examples.HeaderRow = new TableRow(); examples.HeaderRow.Cells.Add("result1"); @@ -63,7 +63,7 @@ public WhenParsingMsTestResultsFileWithEmptyExampleValues() scenarioOutline.Examples = new List(); scenarioOutline.Examples.Add(new Example() { TableArgument = examples }); - var actualResult = results.GetExampleResult(scenarioOutline, new string[] { "1", "", "4" }); + var actualResult = results.GetExampleResult(scenarioOutline, new string[] { "1", "", "4" }); } } } diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/WhenParsingMsTestResultsFileWithIgnoredExample.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/WhenParsingMsTestResultsFileWithIgnoredExample.cs index 6c4854866..4815e15ae 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/WhenParsingMsTestResultsFileWithIgnoredExample.cs +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/WhenParsingMsTestResultsFileWithIgnoredExample.cs @@ -36,14 +36,14 @@ public WhenParsingMsTestResultsFileWithIgnoredExample() } [Test] - public new void ThenIgnoredScenarioOutlineIsSetToInconclusive() + public void ThenIgnoredScenarioOutlineIsSetToInconclusive() { var results = ParseResultsFile(); - + var feature = new Feature { Name = "Example With Ignored Scenario Outline" }; var scenarioOutline = new ScenarioOutline { Name = "Add two numbers", Feature = feature }; scenarioOutline.Steps = new List(); - + var examples = new Table(); examples.HeaderRow = new TableRow(); examples.HeaderRow.Cells.Add("TestCase"); diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/Pickles.TestFrameworks.UnitTests.csproj b/src/Pickles/Pickles.TestFrameworks.UnitTests/Pickles.TestFrameworks.UnitTests.csproj index 25ac08130..f73caab91 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/Pickles.TestFrameworks.UnitTests.csproj +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/Pickles.TestFrameworks.UnitTests.csproj @@ -30,31 +30,35 @@ 4 - - ..\packages\Autofac.3.5.2\lib\net40\Autofac.dll + + ..\packages\Autofac.4.1.1\lib\net45\Autofac.dll True - - ..\packages\Moq.4.2.1510.2205\lib\net40\Moq.dll + + ..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll + True + + + ..\packages\Moq.4.5.23\lib\net45\Moq.dll True ..\packages\NFluent.1.3.1.0\lib\net40\NFluent.dll True - - ..\packages\NUnit.3.2.1\lib\net45\nunit.framework.dll + + ..\packages\NUnit.3.5.0\lib\net45\nunit.framework.dll True - - ..\packages\System.IO.Abstractions.2.0.0.124\lib\net40\System.IO.Abstractions.dll + + ..\packages\System.IO.Abstractions.2.0.0.137\lib\net40\System.IO.Abstractions.dll True - - ..\packages\System.IO.Abstractions.TestingHelpers.2.0.0.124\lib\net40\System.IO.Abstractions.TestingHelpers.dll + + ..\packages\System.IO.Abstractions.TestingHelpers.2.0.0.137\lib\net40\System.IO.Abstractions.TestingHelpers.dll True diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/packages.config b/src/Pickles/Pickles.TestFrameworks.UnitTests/packages.config index b4e803832..9e4e9f63a 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/packages.config +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/packages.config @@ -1,9 +1,10 @@  - - + + + - - - + + + \ No newline at end of file diff --git a/src/Pickles/Pickles.TestFrameworks/Pickles.TestFrameworks.csproj b/src/Pickles/Pickles.TestFrameworks/Pickles.TestFrameworks.csproj index b28ffae04..71d291362 100644 --- a/src/Pickles/Pickles.TestFrameworks/Pickles.TestFrameworks.csproj +++ b/src/Pickles/Pickles.TestFrameworks/Pickles.TestFrameworks.csproj @@ -30,15 +30,15 @@ 4 - - ..\packages\Newtonsoft.Json.8.0.3\lib\net45\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll True - - ..\packages\System.IO.Abstractions.2.0.0.124\lib\net40\System.IO.Abstractions.dll + + ..\packages\System.IO.Abstractions.2.0.0.137\lib\net40\System.IO.Abstractions.dll True diff --git a/src/Pickles/Pickles.TestFrameworks/packages.config b/src/Pickles/Pickles.TestFrameworks/packages.config index b8c73332b..a96e17c1c 100644 --- a/src/Pickles/Pickles.TestFrameworks/packages.config +++ b/src/Pickles/Pickles.TestFrameworks/packages.config @@ -1,5 +1,5 @@  - - + + \ No newline at end of file diff --git a/src/Pickles/Pickles.UserInterface/NLog.xsd b/src/Pickles/Pickles.UserInterface/NLog.xsd index dc821bc0d..f61050fc6 100644 --- a/src/Pickles/Pickles.UserInterface/NLog.xsd +++ b/src/Pickles/Pickles.UserInterface/NLog.xsd @@ -232,7 +232,6 @@ - @@ -369,6 +368,7 @@ + @@ -402,6 +402,11 @@ Instance of that is used to format log messages. + + + End of line value if a newline is appended at the end of log message . + + Maximum message size in bytes. @@ -526,6 +531,7 @@ + @@ -554,6 +560,11 @@ Indicates whether to use default row highlighting rules. + + + Indicates whether to auto-check if the console is available. - Disables console writing if Environment.UserInteractive = False (Windows Service) - Disables console writing if Console Standard Input is not available (Non-Console-App) + + The encoding for writing messages to the . @@ -665,6 +676,7 @@ + @@ -692,6 +704,11 @@ Indicates whether to send the log messages to the standard error instead of the standard output. + + + Indicates whether to auto-check if the console is available - Disables console writing if Environment.UserInteractive = False (Windows Service) - Disables console writing if Console Standard Input is not available (Non-Console-App) + + The encoding for writing messages to the . @@ -1020,10 +1037,13 @@ - - + + + + + @@ -1033,15 +1053,15 @@ - + + - @@ -1093,19 +1113,24 @@ Size in bytes above which log files will be automatically archived. Warning: combining this with isn't supported. We cannot create multiple archive files, if they should have the same name. Choose: + + + Indicates whether to compress archive files into the zip archive format. + + Maximum number of archive files that should be kept. - + - Indicates whether to compress archive files into the zip archive format. + Is the an absolute or relative path? - + - Gets or set a value indicating whether a managed file stream is forced, instead of used the native implementation. + Is the an absolute or relative path? @@ -1113,6 +1138,16 @@ Cleanup invalid values in a filename, e.g. slashes in a filename. If set to true, this can impact the performance of massive writes. If set to false, nothing gets written when the filename is wrong. + + + Gets or set a value indicating whether a managed file stream is forced, instead of used the native implementation. + + + + + Indicates whether the footer should be written only when the file is archived. + + Name of the file to write to. @@ -1158,9 +1193,9 @@ Indicates whether concurrent writes to the log file by multiple processes on the same host. - + - Delay in milliseconds to wait before attempting to write to the file again. + Indicates whether to keep log file open instead of opening and closing it on each logging event. @@ -1193,14 +1228,14 @@ Indicates whether to automatically flush the file buffers after each log message. - + - Number of times the write is appended on the file before NLog discards the log message. + Delay in milliseconds to wait before attempting to write to the file again. - + - Indicates whether to keep log file open instead of opening and closing it on each logging event. + Number of times the write is appended on the file before NLog discards the log message. @@ -1224,6 +1259,13 @@ + + + + + + + @@ -1704,6 +1746,7 @@ + @@ -1729,6 +1772,11 @@ Encoding to be used. + + + End of line value if a newline is appended at the end of log message . + + Maximum message size in bytes. @@ -1784,6 +1832,7 @@ + @@ -1817,6 +1866,11 @@ Instance of that is used to format log messages. + + + End of line value if a newline is appended at the end of log message . + + Maximum message size in bytes. @@ -2238,6 +2292,18 @@ + + + + + + + + + + + + @@ -2334,8 +2400,14 @@ + + + + Option to render the empty object value {} + + Option to suppress the extra spaces in the output json diff --git a/src/Pickles/Pickles.UserInterface/Pickles.UserInterface.csproj b/src/Pickles/Pickles.UserInterface/Pickles.UserInterface.csproj index 7e0166054..cde50a3f5 100644 --- a/src/Pickles/Pickles.UserInterface/Pickles.UserInterface.csproj +++ b/src/Pickles/Pickles.UserInterface/Pickles.UserInterface.csproj @@ -45,8 +45,9 @@ Pickles.ico - - ..\packages\Autofac.3.5.2\lib\net40\Autofac.dll + + ..\packages\Autofac.4.1.1\lib\net45\Autofac.dll + True ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.dll @@ -60,15 +61,15 @@ ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Platform.dll True - - ..\packages\MahApps.Metro.1.2.4.0\lib\net45\MahApps.Metro.dll + + ..\packages\MahApps.Metro.1.3.0\lib\net45\MahApps.Metro.dll True ..\packages\CommonServiceLocator.1.3\lib\portable-net4+sl5+netcore45+wpa81+wp8\Microsoft.Practices.ServiceLocation.dll - ..\packages\NLog.4.3.3\lib\net45\NLog.dll + ..\packages\NLog.4.3.10\lib\net45\NLog.dll True @@ -81,13 +82,13 @@ - - ..\packages\System.IO.Abstractions.2.0.0.124\lib\net40\System.IO.Abstractions.dll + + ..\packages\System.IO.Abstractions.2.0.0.137\lib\net40\System.IO.Abstractions.dll True - ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\System.Windows.Interactivity.dll + ..\packages\MahApps.Metro.1.3.0\lib\net45\System.Windows.Interactivity.dll True diff --git a/src/Pickles/Pickles.UserInterface/packages.config b/src/Pickles/Pickles.UserInterface/packages.config index 6804f3977..442509249 100644 --- a/src/Pickles/Pickles.UserInterface/packages.config +++ b/src/Pickles/Pickles.UserInterface/packages.config @@ -1,13 +1,13 @@  - + - + - - - + + + - + \ No newline at end of file diff --git a/src/Pickles/Pickles.sln b/src/Pickles/Pickles.sln index 7b855ed51..2bdbd0332 100644 --- a/src/Pickles/Pickles.sln +++ b/src/Pickles/Pickles.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 -VisualStudioVersion = 14.0.24720.0 +VisualStudioVersion = 14.0.25420.1 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pickles", "Pickles\Pickles.csproj", "{38BAD6E0-78AB-4AC3-91A8-BF72AF5EE394}" EndProject @@ -64,6 +64,26 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pickles.TestFrameworks.Unit EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pickles.ObjectModel", "Pickles.ObjectModel\Pickles.ObjectModel.csproj", "{55382AFC-E050-4DF7-AA4F-0ABA71E2E169}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pickles.DocumentationBuilders.Word", "Pickles.DocumentationBuilders.Word\Pickles.DocumentationBuilders.Word.csproj", "{BDD5290E-BF98-436B-ADEE-A7479E22A875}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pickles.DocumentationBuilders.Excel", "Pickles.DocumentationBuilders.Excel\Pickles.DocumentationBuilders.Excel.csproj", "{A875B066-443A-420E-A1F5-7870CFF0A50C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pickles.DocumentationBuilders.Json", "Pickles.DocumentationBuilders.Json\Pickles.DocumentationBuilders.Json.csproj", "{836020D1-A309-4367-9654-EBB7C3F60D97}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pickles.DocumentationBuilders.Html", "Pickles.DocumentationBuilders.Html\Pickles.DocumentationBuilders.Html.csproj", "{2C849AD2-D125-4754-8BBA-7C61FA6251E4}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pickles.DocumentationBuilders.Dhtml", "Pickles.DocumentationBuilders.Dhtml\Pickles.DocumentationBuilders.Dhtml.csproj", "{8AC3AAFA-84DD-4437-962B-E6C5D6078E09}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pickles.DocumentationBuilders.Dhtml.UnitTests", "Pickles.DocumentationBuilders.Dhtml.UnitTests\Pickles.DocumentationBuilders.Dhtml.UnitTests.csproj", "{C40305BD-2BCE-4E43-8B06-20F48ADD6C49}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pickles.DocumentationBuilders.Excel.UnitTests", "Pickles.DocumentationBuilders.Excel.UnitTests\Pickles.DocumentationBuilders.Excel.UnitTests.csproj", "{CDAD56FA-E3CF-4E4A-A5CB-5F43FF4FBCF5}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pickles.DocumentationBuilders.Html.UnitTests", "Pickles.DocumentationBuilders.Html.UnitTests\Pickles.DocumentationBuilders.Html.UnitTests.csproj", "{B7CFAD40-9D85-4B4F-AB2C-F0D007083A99}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pickles.DocumentationBuilders.Json.UnitTests", "Pickles.DocumentationBuilders.Json.UnitTests\Pickles.DocumentationBuilders.Json.UnitTests.csproj", "{D2432557-EF5A-45A3-A74F-3C59EF08533A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pickles.DocumentationBuilders.Word.UnitTests", "Pickles.DocumentationBuilders.Word.UnitTests\Pickles.DocumentationBuilders.Word.UnitTests.csproj", "{EF6B5E30-B688-4D31-B97C-BCDFA569D1B3}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -110,6 +130,46 @@ Global {55382AFC-E050-4DF7-AA4F-0ABA71E2E169}.Debug|Any CPU.Build.0 = Debug|Any CPU {55382AFC-E050-4DF7-AA4F-0ABA71E2E169}.Release|Any CPU.ActiveCfg = Release|Any CPU {55382AFC-E050-4DF7-AA4F-0ABA71E2E169}.Release|Any CPU.Build.0 = Release|Any CPU + {BDD5290E-BF98-436B-ADEE-A7479E22A875}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BDD5290E-BF98-436B-ADEE-A7479E22A875}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BDD5290E-BF98-436B-ADEE-A7479E22A875}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BDD5290E-BF98-436B-ADEE-A7479E22A875}.Release|Any CPU.Build.0 = Release|Any CPU + {A875B066-443A-420E-A1F5-7870CFF0A50C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A875B066-443A-420E-A1F5-7870CFF0A50C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A875B066-443A-420E-A1F5-7870CFF0A50C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A875B066-443A-420E-A1F5-7870CFF0A50C}.Release|Any CPU.Build.0 = Release|Any CPU + {836020D1-A309-4367-9654-EBB7C3F60D97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {836020D1-A309-4367-9654-EBB7C3F60D97}.Debug|Any CPU.Build.0 = Debug|Any CPU + {836020D1-A309-4367-9654-EBB7C3F60D97}.Release|Any CPU.ActiveCfg = Release|Any CPU + {836020D1-A309-4367-9654-EBB7C3F60D97}.Release|Any CPU.Build.0 = Release|Any CPU + {2C849AD2-D125-4754-8BBA-7C61FA6251E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2C849AD2-D125-4754-8BBA-7C61FA6251E4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2C849AD2-D125-4754-8BBA-7C61FA6251E4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2C849AD2-D125-4754-8BBA-7C61FA6251E4}.Release|Any CPU.Build.0 = Release|Any CPU + {8AC3AAFA-84DD-4437-962B-E6C5D6078E09}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8AC3AAFA-84DD-4437-962B-E6C5D6078E09}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8AC3AAFA-84DD-4437-962B-E6C5D6078E09}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8AC3AAFA-84DD-4437-962B-E6C5D6078E09}.Release|Any CPU.Build.0 = Release|Any CPU + {C40305BD-2BCE-4E43-8B06-20F48ADD6C49}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C40305BD-2BCE-4E43-8B06-20F48ADD6C49}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C40305BD-2BCE-4E43-8B06-20F48ADD6C49}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C40305BD-2BCE-4E43-8B06-20F48ADD6C49}.Release|Any CPU.Build.0 = Release|Any CPU + {CDAD56FA-E3CF-4E4A-A5CB-5F43FF4FBCF5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CDAD56FA-E3CF-4E4A-A5CB-5F43FF4FBCF5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CDAD56FA-E3CF-4E4A-A5CB-5F43FF4FBCF5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CDAD56FA-E3CF-4E4A-A5CB-5F43FF4FBCF5}.Release|Any CPU.Build.0 = Release|Any CPU + {B7CFAD40-9D85-4B4F-AB2C-F0D007083A99}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B7CFAD40-9D85-4B4F-AB2C-F0D007083A99}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B7CFAD40-9D85-4B4F-AB2C-F0D007083A99}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B7CFAD40-9D85-4B4F-AB2C-F0D007083A99}.Release|Any CPU.Build.0 = Release|Any CPU + {D2432557-EF5A-45A3-A74F-3C59EF08533A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D2432557-EF5A-45A3-A74F-3C59EF08533A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D2432557-EF5A-45A3-A74F-3C59EF08533A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D2432557-EF5A-45A3-A74F-3C59EF08533A}.Release|Any CPU.Build.0 = Release|Any CPU + {EF6B5E30-B688-4D31-B97C-BCDFA569D1B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EF6B5E30-B688-4D31-B97C-BCDFA569D1B3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EF6B5E30-B688-4D31-B97C-BCDFA569D1B3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EF6B5E30-B688-4D31-B97C-BCDFA569D1B3}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/Pickles/Pickles/CultureAwareDialectProvider.cs b/src/Pickles/Pickles/CultureAwareDialectProvider.cs new file mode 100644 index 000000000..be2ef26a7 --- /dev/null +++ b/src/Pickles/Pickles/CultureAwareDialectProvider.cs @@ -0,0 +1,56 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright 2011 Jeffrey Cameron +// 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 Gherkin; +using Gherkin.Ast; + +namespace PicklesDoc.Pickles +{ + public class CultureAwareDialectProvider : GherkinDialectProvider + { + public CultureAwareDialectProvider(string defaultLanguage = "en") : base(defaultLanguage) + { + } + + public override GherkinDialect GetDialect(string language, Location location) + { + string languageOnly = StripCulture(language); + return base.GetDialect(languageOnly, location); + } + + protected override GherkinDialect GetDialect(string language, Dictionary gherkinLanguageSettings, Location location) + { + string languageOnly = StripCulture(language); + return base.GetDialect(languageOnly, gherkinLanguageSettings, location); + } + + private string StripCulture(string language) + { + if (language != null && language.Contains("-")) + { + return language.Split('-')[0]; + } + + return language; + } + } +} \ No newline at end of file diff --git a/src/Pickles/Pickles/DescriptionProcessor.cs b/src/Pickles/Pickles/DescriptionProcessor.cs new file mode 100644 index 000000000..a40b95bc8 --- /dev/null +++ b/src/Pickles/Pickles/DescriptionProcessor.cs @@ -0,0 +1,97 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright 2011 Jeffrey Cameron +// 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.Linq; + +using PicklesDoc.Pickles.ObjectModel; + +namespace PicklesDoc.Pickles +{ + public class DescriptionProcessor + { + public string Process(string input) + { + if (input == null) + { + return string.Empty; + } + + var splitLines = input.Split(new[] { Environment.NewLine }, StringSplitOptions.None); + + if (splitLines.Length == 1) + { + splitLines[0] = splitLines[0].TrimStart(); + } + else + { + while (ThereAreNonEmptyLines(splitLines) && AllLinesAreEitherEmptyOrStartWithASpaceOrTab(splitLines)) + { + for (int i = 0; i < splitLines.Length; i++) + { + RemoveEmptySpaceFromNonEmptyLines(splitLines, i); + } + } + } + + for (int index = 0; index < splitLines.Length; index++) + { + splitLines[index] = splitLines[index].Replace("\\#", "#"); + } + + var result = string.Join(Environment.NewLine, splitLines); + + return result; + } + + public void Process(Feature feature) + { + feature.Description = Process(feature.Description); + + foreach (var featureElement in feature.FeatureElements) + { + featureElement.Description = Process(featureElement.Description); + } + + if (feature.Background != null) + { + feature.Background.Description = Process(feature.Background.Description); + } + } + + private static void RemoveEmptySpaceFromNonEmptyLines(string[] splitLines, int index) + { + if (splitLines[index].Length != 0) + { + splitLines[index] = splitLines[index].Substring(1); + } + } + + private static bool AllLinesAreEitherEmptyOrStartWithASpaceOrTab(string[] splitLines) + { + return splitLines.All(s => s.Length == 0 || s[0] == ' ') || splitLines.All(s => s.Length == 0 || s[0] == '\t'); + } + + private static bool ThereAreNonEmptyLines(string[] splitLines) + { + return splitLines.Any(s => s.Length > 0); + } + } +} \ No newline at end of file diff --git a/src/Pickles/Pickles/DirectoryCrawler/FeatureNodeFactory.cs b/src/Pickles/Pickles/DirectoryCrawler/FeatureNodeFactory.cs index 25759c877..fabaa1059 100644 --- a/src/Pickles/Pickles/DirectoryCrawler/FeatureNodeFactory.cs +++ b/src/Pickles/Pickles/DirectoryCrawler/FeatureNodeFactory.cs @@ -21,7 +21,8 @@ using System; using System.IO.Abstractions; using System.Xml.Linq; -using PicklesDoc.Pickles.DocumentationBuilders.HTML; + +using PicklesDoc.Pickles.DocumentationBuilders.Html; using PicklesDoc.Pickles.Extensions; using PicklesDoc.Pickles.ObjectModel; diff --git a/src/Pickles/Pickles/Extensions/StringExtensions.cs b/src/Pickles/Pickles/Extensions/StringExtensions.cs index 68509524f..8e2a93cf9 100644 --- a/src/Pickles/Pickles/Extensions/StringExtensions.cs +++ b/src/Pickles/Pickles/Extensions/StringExtensions.cs @@ -28,29 +28,6 @@ namespace PicklesDoc.Pickles.Extensions public static class StringExtensions { - public static string ExpandWikiWord(this string word) - { - var sb = new StringBuilder(); - char previous = char.MinValue; - foreach (char current in word.Where(x => char.IsLetterOrDigit(x))) - { - if (previous != char.MinValue && sb.Length > 1 - && ((char.IsUpper(current) || char.IsDigit(current)) && char.IsLower(previous))) - { - sb.Append(' '); - } - else if (char.IsNumber(previous) && char.IsUpper(current)) - { - sb.Append(' '); - } - - sb.Append(current); - previous = current; - } - - return sb.ToString(); - } - /// /// Takes a string and lowercases it, removing newline characters and replacing tabs with spaces /// diff --git a/src/Pickles/Pickles/FeatureParser.cs b/src/Pickles/Pickles/FeatureParser.cs index 3ec4061da..b71dbd501 100644 --- a/src/Pickles/Pickles/FeatureParser.cs +++ b/src/Pickles/Pickles/FeatureParser.cs @@ -33,6 +33,8 @@ public class FeatureParser private readonly IConfiguration configuration; + private readonly DescriptionProcessor descriptionProcessor = new DescriptionProcessor(); + public FeatureParser(IFileSystem fileSystem, IConfiguration configuration) { this.fileSystem = fileSystem; @@ -69,10 +71,12 @@ public Feature Parse(TextReader featureFileReader) Gherkin.Ast.GherkinDocument gherkinDocument = gherkinParser.Parse( new Gherkin.TokenScanner(featureFileReader), - new Gherkin.TokenMatcher(language)); + new Gherkin.TokenMatcher(new CultureAwareDialectProvider(language))); Feature result = new Mapper(this.configuration, gherkinDocument.Feature.Language).MapToFeature(gherkinDocument); + this.descriptionProcessor.Process(result); + return result; } diff --git a/src/Pickles/Pickles/IMarkdownProvider.cs b/src/Pickles/Pickles/IMarkdownProvider.cs deleted file mode 100644 index f6e9c2197..000000000 --- a/src/Pickles/Pickles/IMarkdownProvider.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace PicklesDoc.Pickles -{ - public interface IMarkdownProvider - { - string Transform(string text); - } -} diff --git a/src/Pickles/Pickles/LanguageServices.cs b/src/Pickles/Pickles/LanguageServices.cs index 71398389c..1cbf8ba6a 100644 --- a/src/Pickles/Pickles/LanguageServices.cs +++ b/src/Pickles/Pickles/LanguageServices.cs @@ -24,7 +24,7 @@ namespace PicklesDoc.Pickles { - public class LanguageServices + public class LanguageServices : ILanguageServices { public const string DefaultLanguage = "en"; diff --git a/src/Pickles/Pickles/ObjectModel/Mapper.cs b/src/Pickles/Pickles/ObjectModel/Mapper.cs index 3687feb28..27e470ff1 100644 --- a/src/Pickles/Pickles/ObjectModel/Mapper.cs +++ b/src/Pickles/Pickles/ObjectModel/Mapper.cs @@ -31,11 +31,12 @@ public class Mapper { private readonly IConfiguration configuration; - private readonly LanguageServices languageServices; + private readonly ILanguageServices languageServices; public Mapper(string featureLanguage = LanguageServices.DefaultLanguage) : this(new Configuration(), featureLanguage) - { } + { + } public Mapper(IConfiguration configuration, string featureLanguage = LanguageServices.DefaultLanguage) { diff --git a/src/Pickles/Pickles/Pickles.csproj b/src/Pickles/Pickles/Pickles.csproj index e69c75010..e0f86db7e 100644 --- a/src/Pickles/Pickles/Pickles.csproj +++ b/src/Pickles/Pickles/Pickles.csproj @@ -35,12 +35,12 @@ false - - ..\packages\Autofac.3.5.2\lib\net40\Autofac.dll + + ..\packages\Autofac.4.1.1\lib\net45\Autofac.dll True - - ..\packages\ClosedXML.0.76.0\lib\net40-client\ClosedXML.dll + + ..\packages\ClosedXML.0.80.1\lib\net40-client\ClosedXML.dll True @@ -66,12 +66,12 @@ ..\packages\NDesk.Options.0.2.1\lib\NDesk.Options.dll - - ..\packages\Newtonsoft.Json.8.0.3\lib\net45\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll True - ..\packages\NLog.4.3.3\lib\net45\NLog.dll + ..\packages\NLog.4.3.10\lib\net45\NLog.dll True @@ -80,8 +80,8 @@ - - ..\packages\System.IO.Abstractions.2.0.0.124\lib\net40\System.IO.Abstractions.dll + + ..\packages\System.IO.Abstractions.2.0.0.137\lib\net40\System.IO.Abstractions.dll True @@ -97,102 +97,15 @@ - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - True - - - True - - - True - - - - - - - - - - - - - - - - - - - - @@ -217,106 +130,29 @@ ResXFileCodeGenerator Resources.Designer.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Resources\Dhtml\css\bootstrap.min.css - - - Resources\Dhtml\css\print.css - - - Resources\Dhtml\css\styles.css - - - Resources\Dhtml\img\glyphicons-halflings-white.png - - - Resources\Dhtml\img\glyphicons-halflings.png - - - Resources\Dhtml\Index.html - - - Resources\Dhtml\js\bootstrap.min.js - - - Resources\Dhtml\js\featureSearch.js - - - Resources\Dhtml\js\featuresModel.js - - - Resources\Dhtml\js\heirarchyBuilder.js - - - Resources\Dhtml\js\html5.js - - - Resources\Dhtml\js\jquery-1.8.3.min.js - - - Resources\Dhtml\js\jquery.highlight-4.closure.js - - - Resources\Dhtml\js\knockout.mapping-latest.js - - - Resources\Dhtml\js\logger.js - - - Resources\Dhtml\js\Markdown.Converter.js - - - Resources\Dhtml\js\Markdown.Extra.js - - - Resources\Dhtml\js\stringFormatting.js - - - Resources\Dhtml\js\typeaheadList.js - - - Resources\Dhtml\js\underscore-min.js - - - Resources\Dhtml\pickledFeatures.js - - - + + {8AC3AAFA-84DD-4437-962B-E6C5D6078E09} + Pickles.DocumentationBuilders.Dhtml + + + {A875B066-443A-420E-A1F5-7870CFF0A50C} + Pickles.DocumentationBuilders.Excel + + + {2C849AD2-D125-4754-8BBA-7C61FA6251E4} + Pickles.DocumentationBuilders.Html + + + {836020D1-A309-4367-9654-EBB7C3F60D97} + Pickles.DocumentationBuilders.Json + + + {BDD5290E-BF98-436B-ADEE-A7479E22A875} + Pickles.DocumentationBuilders.Word + {55382AFC-E050-4DF7-AA4F-0ABA71E2E169} Pickles.ObjectModel @@ -326,31 +162,7 @@ Pickles.TestFrameworks - - - Resources\Dhtml\js\Chart.min.js - - - - - Resources\Dhtml\js\Chart.StackedBar.js - - - - - Resources\Dhtml\js\picklesOverview.js - - - - - Resources\Dhtml\js\knockout-3.4.0.js - - - - - Resources\Dhtml\img\link.png - - +