From 7746d0f451a71ad47fcac920d2a0bfe8a9b5ceef Mon Sep 17 00:00:00 2001 From: Ajay Bhargav Baaskaran Date: Mon, 8 Jun 2015 14:29:59 -0700 Subject: [PATCH] Revert "[Fixes #2609] Support comma separated string include in BindAttribute" This reverts commit eba352166da0c806af479e5bb845495e16678df8. --- .../BindAttribute.cs | 25 +++---------------- .../BindAttributeTest.cs | 11 +++----- 2 files changed, 6 insertions(+), 30 deletions(-) diff --git a/src/Microsoft.AspNet.Mvc.Core/BindAttribute.cs b/src/Microsoft.AspNet.Mvc.Core/BindAttribute.cs index 1a8556ca27..782da1164b 100644 --- a/src/Microsoft.AspNet.Mvc.Core/BindAttribute.cs +++ b/src/Microsoft.AspNet.Mvc.Core/BindAttribute.cs @@ -2,7 +2,6 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Collections.Generic; using System.Linq; using System.Reflection; using Microsoft.AspNet.Mvc.Core; @@ -31,19 +30,13 @@ namespace Microsoft.AspNet.Mvc /// Names of parameters to include in binding. public BindAttribute(params string[] include) { - var items = new List(); - foreach (var item in include) - { - items.AddRange(SplitString(item)); - } - - Include = items.ToArray(); + Include = include; } /// /// Creates a new instance of . /// - /// The type which implements + /// The type which implements /// . /// public BindAttribute([NotNull] Type predicateProviderType) @@ -99,7 +92,7 @@ namespace Microsoft.AspNet.Mvc { if (_predicateFromInclude == null) { - _predicateFromInclude = + _predicateFromInclude = (context, propertyName) => Include.Contains(propertyName, StringComparer.Ordinal); } @@ -143,17 +136,5 @@ namespace Microsoft.AspNet.Mvc return predicate(context, propertyName); }; } - - private static IEnumerable SplitString(string original) - { - if (string.IsNullOrEmpty(original)) - { - return new string[0]; - } - - var split = original.Split(',').Select(piece => piece.Trim()).Where(piece => !string.IsNullOrEmpty(piece)); - - return split; - } } } diff --git a/test/Microsoft.AspNet.Mvc.Core.Test/BindAttributeTest.cs b/test/Microsoft.AspNet.Mvc.Core.Test/BindAttributeTest.cs index 1fe3ea8509..d69cc49842 100644 --- a/test/Microsoft.AspNet.Mvc.Core.Test/BindAttributeTest.cs +++ b/test/Microsoft.AspNet.Mvc.Core.Test/BindAttributeTest.cs @@ -44,15 +44,10 @@ namespace Microsoft.AspNet.Mvc.ModelBinding [InlineData("UserName", true)] [InlineData("Username", false)] [InlineData("Password", false)] - [InlineData("LastName", true)] - [InlineData("MiddleName", true)] - [InlineData(" ", false)] - [InlineData("foo", true)] - [InlineData("bar", true)] public void BindAttribute_Include(string property, bool isIncluded) { // Arrange - var bind = new BindAttribute(new string[] { "UserName", "FirstName", "LastName, MiddleName, ,foo,bar " }); + var bind = new BindAttribute(new string[] { "UserName", "FirstName" }); var context = new ModelBindingContext(); @@ -79,7 +74,7 @@ namespace Microsoft.AspNet.Mvc.ModelBinding HttpContext = new DefaultHttpContext(), }; var services = new Mock(); - + context.OperationBindingContext.HttpContext.RequestServices = services.Object; // Act @@ -104,7 +99,7 @@ namespace Microsoft.AspNet.Mvc.ModelBinding }; var services = new Mock(MockBehavior.Strict); - + context.OperationBindingContext.HttpContext.RequestServices = services.Object; // Act