diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7092a0a65..aa0145f68 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,6 +14,12 @@ 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.8.1] - 2016-07-29
+
+### Fixed
+
+* Blank Example Entries in a Scenario Outline cause Pickles not to Find the matching Scenario Outline ([358](https://github.com/picklesdoc/pickles/pull/358)) (by [@aaronjrich](https://github.com/aaronjrich)).
+
## [2.8.0] - 2016-06-29
### Added
diff --git a/build.bat b/build.bat
index 13be015ae..cb31a2fdc 100644
--- a/build.bat
+++ b/build.bat
@@ -1,5 +1,5 @@
@echo off
-set "picklesVersion=2.8.0"
+set "picklesVersion=2.8.1"
cls
diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/WhenParsingMsTestResultsFileWithEmptyExampleValues.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/WhenParsingMsTestResultsFileWithEmptyExampleValues.cs
new file mode 100644
index 000000000..73e12777c
--- /dev/null
+++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/WhenParsingMsTestResultsFileWithEmptyExampleValues.cs
@@ -0,0 +1,69 @@
+// --------------------------------------------------------------------------------------------------------------------
+//
+// 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 NUnit.Framework;
+using PicklesDoc.Pickles.ObjectModel;
+using PicklesDoc.Pickles.TestFrameworks.MsTest;
+using System.Collections.Generic;
+
+namespace PicklesDoc.Pickles.TestFrameworks.UnitTests.MsTest
+{
+ [TestFixture]
+ public class WhenParsingMsTestResultsFileWithEmptyExampleValues : StandardTestSuite
+ {
+ public WhenParsingMsTestResultsFileWithEmptyExampleValues()
+ : base("MsTest." + "resuls-example-mstest-emptyexamplevalues.trx")
+ {
+ }
+
+ [Test]
+ public new 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");
+ examples.HeaderRow.Cells.Add("result2");
+ examples.HeaderRow.Cells.Add("result3");
+ var row = new TableRow();
+ row.Cells.Add("1");
+ row.Cells.Add("2");
+ row.Cells.Add("3");
+ examples.DataRows = new List();
+ examples.DataRows.Add(row);
+ row = new TableRow();
+ row.Cells.Add("1");
+ row.Cells.Add("");
+ row.Cells.Add("4");
+ examples.DataRows.Add(row);
+
+ scenarioOutline.Examples = new List();
+ scenarioOutline.Examples.Add(new Example() { TableArgument = examples });
+
+ var actualResult = results.GetExampleResult(scenarioOutline, new string[] { "1", "", "4" });
+ }
+ }
+}
diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/resuls-example-mstest-emptyexamplevalues.trx b/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/resuls-example-mstest-emptyexamplevalues.trx
new file mode 100644
index 000000000..9ff3c5600
--- /dev/null
+++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/resuls-example-mstest-emptyexamplevalues.trx
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Testing test: Variant 1
+
+
+
+ FeatureTitle
+ Example With Empty Value
+
+
+ VariantName
+ Variant 1
+
+
+ Parameter:result3
+ 4
+
+
+ Parameter:result1
+ 1
+
+
+ Parameter:result2
+
+
+
+
+
+
+
+ Testing test: Variant 0
+
+
+
+ FeatureTitle
+ Example With Empty Value
+
+
+ VariantName
+ Variant 0
+
+
+ Parameter:result3
+ 3
+
+
+ Parameter:result1
+ 1
+
+
+ Parameter:result2
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/Pickles.TestFrameworks.UnitTests.csproj b/src/Pickles/Pickles.TestFrameworks.UnitTests/Pickles.TestFrameworks.UnitTests.csproj
index 2ee7a2187..38cb30692 100644
--- a/src/Pickles/Pickles.TestFrameworks.UnitTests/Pickles.TestFrameworks.UnitTests.csproj
+++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/Pickles.TestFrameworks.UnitTests.csproj
@@ -62,6 +62,7 @@
+
@@ -159,6 +160,7 @@
Designer
+
diff --git a/src/Pickles/Pickles.TestFrameworks/MsTest/MsTestElementExtensions.cs b/src/Pickles/Pickles.TestFrameworks/MsTest/MsTestElementExtensions.cs
index bb0ccdb6a..a401a19f7 100644
--- a/src/Pickles/Pickles.TestFrameworks/MsTest/MsTestElementExtensions.cs
+++ b/src/Pickles/Pickles.TestFrameworks/MsTest/MsTestElementExtensions.cs
@@ -152,7 +152,7 @@ internal static List DetermineValuesInScenario(this XElement element)
{
if ((property.Descendants(Ns + "Key").FirstOrDefault()?.Value ?? string.Empty).StartsWith("Parameter:"))
{
- valuesInScenario.Add(property.Descendants(Ns + "Value").FirstOrDefault()?.Value ?? string.Empty);
+ valuesInScenario.Add(property.Descendants(Ns + "Value").FirstOrDefault()?.Value.Trim() ?? string.Empty);
}
}
diff --git a/src/Pickles/VersionInfo.cs b/src/Pickles/VersionInfo.cs
index e323e777c..e25cdee97 100644
--- a/src/Pickles/VersionInfo.cs
+++ b/src/Pickles/VersionInfo.cs
@@ -8,11 +8,11 @@
[assembly: AssemblyTrademarkAttribute("")]
[assembly: AssemblyCultureAttribute("")]
[assembly: ComVisibleAttribute(false)]
-[assembly: AssemblyVersionAttribute("2.8.0")]
-[assembly: AssemblyFileVersionAttribute("2.8.0")]
+[assembly: AssemblyVersionAttribute("2.8.1")]
+[assembly: AssemblyFileVersionAttribute("2.8.1")]
namespace System {
internal static class AssemblyVersionInformation {
- internal const string Version = "2.8.0";
- internal const string InformationalVersion = "2.8.0";
+ internal const string Version = "2.8.1";
+ internal const string InformationalVersion = "2.8.1";
}
}