Skip to content

Commit

Permalink
Fix picklesdoc#548: Exception in XUnit2ScenarioOutlineExampleMatcher
Browse files Browse the repository at this point in the history
  • Loading branch information
Martin Gondermann committed Oct 4, 2018
1 parent 63e5953 commit 1cbdb83
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@
<Compile Include="XUnit\XUnit1\WhenParsingXUnitResultsFileWithIndividualResults.cs" />
<Compile Include="XUnit\XUnit1\WhenParsingxUnitResultsFileWithMissingTraits.cs" />
<Compile Include="XUnit\XUnit2\WhenDeterminingTheSignatureOfAnXUnit2ExampleRow.cs" />
<Compile Include="XUnit\XUnit2\WhenMatchingAnXunit2ScenarioOutlineExample.cs" />
<Compile Include="XUnit\XUnit2\WhenParsingxUnit2ResultsFileWithMissingTraits.cs" />
<Compile Include="XUnit\XUnit2\WhenParsingxUnit2ResultsFile.cs" />
<Compile Include="XUnit\XUnit1\WhenParsingxUnitResultsFile.cs" />
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
// --------------------------------------------------------------------------------------------------------------------
// <copyright file="WhenMatchingAnXunit2ScenarioOutlineExample.cs" company="PicklesDoc">
// 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.
// </copyright>
// --------------------------------------------------------------------------------------------------------------------


using NFluent;

using NUnit.Framework;

using PicklesDoc.Pickles.ObjectModel;
using PicklesDoc.Pickles.Test;
using PicklesDoc.Pickles.TestFrameworks.XUnit.XUnit2;

namespace PicklesDoc.Pickles.TestFrameworks.UnitTests.XUnit.XUnit2
{
[TestFixture]
public class WhenMatchingAnXunit2ScenarioOutlineExample : BaseFixture
{
[Test]
public void ThenDontThrowIfTheOutlineWasIgnored()
{
var matcher = new XUnit2ScenarioOutlineExampleMatcher();

var outline = new ScenarioOutline { Name = "Test outline", };

// this happens, if a Scenario outline was not run because it was skipped
var element = new assembliesAssemblyCollectionTest { name = "Test outline" };

Check
.ThatCode(() => matcher.IsMatch(outline, new string[0], element))
.DoesNotThrow();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ private bool ScenarioOutlineExampleIsMatch(assembliesAssemblyCollectionTest exam
// split scenario outline title to name + parameters
var nameAndArgumentsSplitter = new Regex(@"^(?<name>(.*))(\(.*\))$", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant | RegexOptions.Compiled);
var groups = nameAndArgumentsSplitter.Match(exampleElement.name).Groups;
var scenarioName = groups["name"].Value;
var scenarioName = groups["name"].Success ? groups["name"].Value : exampleElement.name;
var scenariotNameWithNoSpacesAndSpecialCharacters = exampleElement.name.Replace(scenarioName, exampleElement.method);

var esc = Regex.Escape("\"");
Expand Down

0 comments on commit 1cbdb83

Please sign in to comment.