diff --git a/samples/MvcSample.Web/FiltersController.cs b/samples/MvcSample.Web/FiltersController.cs index 3548ff303a..8b9592dd08 100644 --- a/samples/MvcSample.Web/FiltersController.cs +++ b/samples/MvcSample.Web/FiltersController.cs @@ -21,7 +21,6 @@ namespace MvcSample.Web CustomUser = new User() { Name = "User Name", Address = "Home Address" }; } - // TODO: Add a real filter here [ServiceFilter(typeof(PassThroughAttribute))] [AllowAnonymous] [AgeEnhancer] diff --git a/src/Microsoft.AspNet.Mvc.Core/AcceptVerbsAttribute.cs b/src/Microsoft.AspNet.Mvc.Core/AcceptVerbsAttribute.cs index f4ddcfa148..41b1a634ff 100644 --- a/src/Microsoft.AspNet.Mvc.Core/AcceptVerbsAttribute.cs +++ b/src/Microsoft.AspNet.Mvc.Core/AcceptVerbsAttribute.cs @@ -32,8 +32,6 @@ namespace Microsoft.AspNet.Mvc /// The HTTP methods the action supports. public AcceptVerbsAttribute(params string[] methods) { - // TODO: This assumes that the methods are exactly same as standard Http Methods. - // The Http Abstractions should take care of these. _httpMethods = methods.Select(method => method.ToUpperInvariant()); } diff --git a/src/Microsoft.AspNet.Mvc.Core/AntiForgery/AntiForgeryOptions.cs b/src/Microsoft.AspNet.Mvc.Core/AntiForgery/AntiForgeryOptions.cs index 2950c35c01..f9aaca1ae1 100644 --- a/src/Microsoft.AspNet.Mvc.Core/AntiForgery/AntiForgeryOptions.cs +++ b/src/Microsoft.AspNet.Mvc.Core/AntiForgery/AntiForgeryOptions.cs @@ -94,7 +94,6 @@ namespace Microsoft.AspNet.Mvc set; } - // TODO: Replace the stub. private string GetAntiForgeryCookieName() { return AntiForgeryTokenFieldName; diff --git a/src/Microsoft.AspNet.Mvc.Core/AntiForgery/AntiForgeryWorker.cs b/src/Microsoft.AspNet.Mvc.Core/AntiForgery/AntiForgeryWorker.cs index 3f0cec6d79..a997d4f128 100644 --- a/src/Microsoft.AspNet.Mvc.Core/AntiForgery/AntiForgeryWorker.cs +++ b/src/Microsoft.AspNet.Mvc.Core/AntiForgery/AntiForgeryWorker.cs @@ -3,7 +3,6 @@ using System; using System.Diagnostics; -using System.Diagnostics.CodeAnalysis; using System.Security.Claims; using System.Threading.Tasks; using Microsoft.AspNet.Http; @@ -70,7 +69,6 @@ namespace Microsoft.AspNet.Mvc if (user != null) { // We only support ClaimsIdentity. - // Todo remove this once httpContext.User moves to ClaimsIdentity. return user.Identity as ClaimsIdentity; } } diff --git a/src/Microsoft.AspNet.Mvc.Core/AntiForgery/DefaultClaimUidExtractor.cs b/src/Microsoft.AspNet.Mvc.Core/AntiForgery/DefaultClaimUidExtractor.cs index 10770e90b9..3de9bda75e 100644 --- a/src/Microsoft.AspNet.Mvc.Core/AntiForgery/DefaultClaimUidExtractor.cs +++ b/src/Microsoft.AspNet.Mvc.Core/AntiForgery/DefaultClaimUidExtractor.cs @@ -28,7 +28,6 @@ namespace Microsoft.AspNet.Mvc internal static IEnumerable GetUniqueIdentifierParameters(ClaimsIdentity claimsIdentity) { - // TODO: Need to enable support for special casing acs identities. var nameIdentifierClaim = claimsIdentity.FindFirst(claim => String.Equals(ClaimTypes.NameIdentifier, claim.Type, StringComparison.Ordinal)); diff --git a/src/Microsoft.AspNet.Mvc.Core/Formatters/HttpNoContentOutputFormatter.cs b/src/Microsoft.AspNet.Mvc.Core/Formatters/HttpNoContentOutputFormatter.cs index 8e3c92e767..614414d9db 100644 --- a/src/Microsoft.AspNet.Mvc.Core/Formatters/HttpNoContentOutputFormatter.cs +++ b/src/Microsoft.AspNet.Mvc.Core/Formatters/HttpNoContentOutputFormatter.cs @@ -44,10 +44,6 @@ namespace Microsoft.AspNet.Mvc { var response = context.ActionContext.HttpContext.Response; response.ContentLength = 0; - - // Only set the status code if its not already set. - // TODO: By default the status code is set to 200. - // https://github.com/aspnet/HttpAbstractions/issues/114 response.StatusCode = 204; return Task.FromResult(true); } diff --git a/src/Microsoft.AspNet.Mvc.Core/Rendering/Html/TemplateRenderer.cs b/src/Microsoft.AspNet.Mvc.Core/Rendering/Html/TemplateRenderer.cs index 4cbd322094..c7a3ef3aa1 100644 --- a/src/Microsoft.AspNet.Mvc.Core/Rendering/Html/TemplateRenderer.cs +++ b/src/Microsoft.AspNet.Mvc.Core/Rendering/Html/TemplateRenderer.cs @@ -94,7 +94,6 @@ namespace Microsoft.AspNet.Mvc.Rendering using (var writer = new StringWriter(CultureInfo.InvariantCulture)) { // Forcing synchronous behavior so users don't have to await templates. - // TODO: Pass through TempData once implemented. var view = viewEngineResult.View; using (view as IDisposable) { diff --git a/src/Microsoft.AspNet.Mvc.HeaderValueAbstractions/MediaTypeHeaderValue.cs b/src/Microsoft.AspNet.Mvc.HeaderValueAbstractions/MediaTypeHeaderValue.cs index a9b363a255..4a4740a320 100644 --- a/src/Microsoft.AspNet.Mvc.HeaderValueAbstractions/MediaTypeHeaderValue.cs +++ b/src/Microsoft.AspNet.Mvc.HeaderValueAbstractions/MediaTypeHeaderValue.cs @@ -76,7 +76,6 @@ namespace Microsoft.AspNet.Mvc.HeaderValueAbstractions return false; } - // TODO: throw if the media type and subtypes are invalid. var mediaType = mediaTypeParts[0].Trim(); var mediaSubType = mediaTypeParts[1].Trim(); var mediaTypeRange = MediaTypeHeaderValueRange.None; @@ -118,7 +117,6 @@ namespace Microsoft.AspNet.Mvc.HeaderValueAbstractions var index = parameter.Split('='); if (index.Length == 2) { - // TODO: throw exception if this is not the case. parameterNameValue.Add(index[0].Trim(), index[1].Trim()); } } diff --git a/src/Microsoft.AspNet.Mvc.HeaderValueAbstractions/StringWithQualityHeaderValue.cs b/src/Microsoft.AspNet.Mvc.HeaderValueAbstractions/StringWithQualityHeaderValue.cs index 16645c2477..0d6bef346f 100644 --- a/src/Microsoft.AspNet.Mvc.HeaderValueAbstractions/StringWithQualityHeaderValue.cs +++ b/src/Microsoft.AspNet.Mvc.HeaderValueAbstractions/StringWithQualityHeaderValue.cs @@ -27,7 +27,6 @@ namespace Microsoft.AspNet.Mvc.HeaderValueAbstractions var nameValuePair = parameter.Split(new[] { '=' }, 2); if (nameValuePair.Length > 1 && nameValuePair[0].Trim().Equals("q")) { - // TODO: all extraneous parameters are ignored. Throw/return null if that is the case. if (!double.TryParse( nameValuePair[1], NumberStyles.AllowLeadingWhite | NumberStyles.AllowDecimalPoint | diff --git a/src/Microsoft.AspNet.Mvc.ModelBinding/Binders/CompositeModelBinder.cs b/src/Microsoft.AspNet.Mvc.ModelBinding/Binders/CompositeModelBinder.cs index ba354e6dd7..2ff4b30891 100644 --- a/src/Microsoft.AspNet.Mvc.ModelBinding/Binders/CompositeModelBinder.cs +++ b/src/Microsoft.AspNet.Mvc.ModelBinding/Binders/CompositeModelBinder.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.Globalization; using System.Linq; +using System.Runtime.CompilerServices; using System.Threading.Tasks; namespace Microsoft.AspNet.Mvc.ModelBinding @@ -95,9 +96,7 @@ namespace Microsoft.AspNet.Mvc.ModelBinding private async Task TryBind(ModelBindingContext bindingContext) { - // TODO: RuntimeHelpers.EnsureSufficientExecutionStack does not exist in the CoreCLR. - // Protects against stack overflow for deeply nested model binding - // RuntimeHelpers.EnsureSufficientExecutionStack(); + RuntimeHelpers.EnsureSufficientExecutionStack(); foreach (var binder in ModelBinders) { diff --git a/src/Microsoft.AspNet.Mvc.ModelBinding/Binders/MutableObjectModelBinder.cs b/src/Microsoft.AspNet.Mvc.ModelBinding/Binders/MutableObjectModelBinder.cs index 47dc259ea9..9a5a0d869b 100644 --- a/src/Microsoft.AspNet.Mvc.ModelBinding/Binders/MutableObjectModelBinder.cs +++ b/src/Microsoft.AspNet.Mvc.ModelBinding/Binders/MutableObjectModelBinder.cs @@ -141,8 +141,7 @@ namespace Microsoft.AspNet.Mvc.ModelBinding if (validationState == ModelValidationState.Unvalidated) { - // Tracked via https://github.com/aspnet/Mvc/issues/450 - // TODO: Revive ModelBinderConfig + // TODO: https://github.com/aspnet/Mvc/issues/450 Revive ModelBinderConfig // var errorMessage = ModelBinderConfig.ValueRequiredErrorMessageProvider(e.ValidationContext, // modelMetadata, // incomingValue); diff --git a/src/Microsoft.AspNet.Mvc.ModelBinding/Binders/TypeMatchModelBinder.cs b/src/Microsoft.AspNet.Mvc.ModelBinding/Binders/TypeMatchModelBinder.cs index d5ae06c2da..b23b1897f5 100644 --- a/src/Microsoft.AspNet.Mvc.ModelBinding/Binders/TypeMatchModelBinder.cs +++ b/src/Microsoft.AspNet.Mvc.ModelBinding/Binders/TypeMatchModelBinder.cs @@ -22,7 +22,6 @@ namespace Microsoft.AspNet.Mvc.ModelBinding ModelBindingHelper.ReplaceEmptyStringWithNull(bindingContext.ModelMetadata, ref model); bindingContext.Model = model; - // TODO: Determine if we need IBodyValidator here. return true; } diff --git a/src/Microsoft.AspNet.Mvc.ModelBinding/ValueProviders/FormValueProviderFactory.cs b/src/Microsoft.AspNet.Mvc.ModelBinding/ValueProviders/FormValueProviderFactory.cs index 9865b77819..8ac210b1ed 100644 --- a/src/Microsoft.AspNet.Mvc.ModelBinding/ValueProviders/FormValueProviderFactory.cs +++ b/src/Microsoft.AspNet.Mvc.ModelBinding/ValueProviders/FormValueProviderFactory.cs @@ -37,8 +37,6 @@ namespace Microsoft.AspNet.Mvc.ModelBinding private static CultureInfo GetCultureInfo(HttpRequest request) { - // TODO: Tracked via https://github.com/aspnet/HttpAbstractions/issues/10. - // Determine what's the right way to map Accept-Language to culture. return CultureInfo.CurrentCulture; } } diff --git a/src/Microsoft.AspNet.Mvc.Razor.Host/Directives/ChunkInheritanceUtility.cs b/src/Microsoft.AspNet.Mvc.Razor.Host/Directives/ChunkInheritanceUtility.cs index 6f0e67f9be..9d4ed5426c 100644 --- a/src/Microsoft.AspNet.Mvc.Razor.Host/Directives/ChunkInheritanceUtility.cs +++ b/src/Microsoft.AspNet.Mvc.Razor.Host/Directives/ChunkInheritanceUtility.cs @@ -101,8 +101,6 @@ namespace Microsoft.AspNet.Mvc.Razor.Directives { if (mergerMappings.TryGetValue(chunk.GetType(), out merger)) { - // TODO: When mapping chunks, we should remove mapping information since it would be incorrect - // to generate it in the page that inherits it. Tracked by #945 merger.Merge(codeTree, chunk); } } @@ -119,7 +117,6 @@ namespace Microsoft.AspNet.Mvc.Razor.Directives }; } - // TODO: This needs to be cached (#1016) private static CodeTree ParseViewFile(RazorTemplateEngine engine, IFileInfo fileInfo) { diff --git a/src/Microsoft.AspNet.Mvc.Razor.Host/MvcCSharpCodeBuilder.cs b/src/Microsoft.AspNet.Mvc.Razor.Host/MvcCSharpCodeBuilder.cs index 91b262b9fd..4d60fde79d 100644 --- a/src/Microsoft.AspNet.Mvc.Razor.Host/MvcCSharpCodeBuilder.cs +++ b/src/Microsoft.AspNet.Mvc.Razor.Host/MvcCSharpCodeBuilder.cs @@ -67,9 +67,6 @@ namespace Microsoft.AspNet.Mvc.Razor protected override void BuildConstructor([NotNull] CSharpCodeWriter writer) { - // TODO: Move this to a proper extension point. Right now, we don't have a place to print out properties - // in the generated view. - // Tracked by #773 base.BuildConstructor(writer); writer.WriteLineHiddenDirective(); diff --git a/src/Microsoft.AspNet.Mvc.Razor/Razor/PreCompileViews/RazorFileInfoCollectionGenerator.cs b/src/Microsoft.AspNet.Mvc.Razor/Razor/PreCompileViews/RazorFileInfoCollectionGenerator.cs index f8adf5689f..ddba5a1ef0 100644 --- a/src/Microsoft.AspNet.Mvc.Razor/Razor/PreCompileViews/RazorFileInfoCollectionGenerator.cs +++ b/src/Microsoft.AspNet.Mvc.Razor/Razor/PreCompileViews/RazorFileInfoCollectionGenerator.cs @@ -35,7 +35,6 @@ namespace Microsoft.AspNet.Mvc.Razor builder.Append(Bottom); - // TODO: consider saving the file for debuggability var sourceCode = builder.ToString(); var syntaxTree = SyntaxTreeGenerator.Generate(sourceCode, "__AUTO__GeneratedViewsCollection.cs", diff --git a/src/Microsoft.AspNet.Mvc.TagHelpers/AnchorTagHelper.cs b/src/Microsoft.AspNet.Mvc.TagHelpers/AnchorTagHelper.cs index e8f087735b..de44129068 100644 --- a/src/Microsoft.AspNet.Mvc.TagHelpers/AnchorTagHelper.cs +++ b/src/Microsoft.AspNet.Mvc.TagHelpers/AnchorTagHelper.cs @@ -135,7 +135,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers } } - // TODO: We will not need this method once https://github.com/aspnet/Razor/issues/89 is completed. + // TODO: https://github.com/aspnet/Razor/issues/89 - We will not need this method once #89 is completed. private static Dictionary GetRouteValues( TagHelperOutput output, IEnumerable> routePrefixedAttributes) { diff --git a/src/Microsoft.AspNet.Mvc.TagHelpers/FormTagHelper.cs b/src/Microsoft.AspNet.Mvc.TagHelpers/FormTagHelper.cs index 4d569cf620..afed9813aa 100644 --- a/src/Microsoft.AspNet.Mvc.TagHelpers/FormTagHelper.cs +++ b/src/Microsoft.AspNet.Mvc.TagHelpers/FormTagHelper.cs @@ -113,7 +113,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers } } - // TODO: We will not need this method once https://github.com/aspnet/Razor/issues/89 is completed. + // TODO: https://github.com/aspnet/Razor/issues/89 - We will not need this method once #89 is completed. private static Dictionary GetRouteValues( TagHelperOutput output, IEnumerable> routePrefixedAttributes) { diff --git a/src/Microsoft.AspNet.Mvc.TagHelpers/TagHelperOutputExtensions.cs b/src/Microsoft.AspNet.Mvc.TagHelpers/TagHelperOutputExtensions.cs index 639680b493..2d8892b044 100644 --- a/src/Microsoft.AspNet.Mvc.TagHelpers/TagHelperOutputExtensions.cs +++ b/src/Microsoft.AspNet.Mvc.TagHelpers/TagHelperOutputExtensions.cs @@ -50,7 +50,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers public static IEnumerable> FindPrefixedAttributes( this TagHelperOutput tagHelperOutput, string prefix) { - // TODO: We will not need this method once https://github.com/aspnet/Razor/issues/89 is completed. + // TODO: https://github.com/aspnet/Razor/issues/89 - We will not need this method once #89 is completed. // We're only interested in HTML attributes that have the desired prefix. var prefixedAttributes = tagHelperOutput.Attributes diff --git a/src/Microsoft.AspNet.Mvc.TagHelpers/ValidationSummaryTagHelper.cs b/src/Microsoft.AspNet.Mvc.TagHelpers/ValidationSummaryTagHelper.cs index e479c75b08..a81051cff7 100644 --- a/src/Microsoft.AspNet.Mvc.TagHelpers/ValidationSummaryTagHelper.cs +++ b/src/Microsoft.AspNet.Mvc.TagHelpers/ValidationSummaryTagHelper.cs @@ -24,7 +24,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers [Activate] protected internal IHtmlGenerator Generator { get; set; } - // TODO: Change to ValidationSummary enum once https://github.com/aspnet/Razor/issues/196 has been completed. + // TODO: https://github.com/aspnet/Razor/issues/196 Change to ValidationSummary enum once #196 has been completed. /// /// If All or ModelOnly, appends a validation summary. Acceptable values are defined by the /// enum. diff --git a/test/Microsoft.AspNet.Mvc.Core.Test/AntiXsrf/AntiForgeryTokenStoreTest.cs b/test/Microsoft.AspNet.Mvc.Core.Test/AntiXsrf/AntiForgeryTokenStoreTest.cs index 1b0d9ce749..9893e86d53 100644 --- a/test/Microsoft.AspNet.Mvc.Core.Test/AntiXsrf/AntiForgeryTokenStoreTest.cs +++ b/test/Microsoft.AspNet.Mvc.Core.Test/AntiXsrf/AntiForgeryTokenStoreTest.cs @@ -269,7 +269,6 @@ namespace Microsoft.AspNet.Mvc.Core.Test var token = new AntiForgeryToken(); var mockCookies = new Mock(); - // TODO : Once we decide on where to pick this value from enable this. bool defaultCookieSecureValue = expectedCookieSecureFlag ?? false; // pulled from config; set by ctor var cookies = new MockResponseCookieCollection(); diff --git a/test/Microsoft.AspNet.Mvc.Core.Test/Rendering/HtmlHelperNameExtensionsTest.cs b/test/Microsoft.AspNet.Mvc.Core.Test/Rendering/HtmlHelperNameExtensionsTest.cs index 5633484214..d0cec8393d 100644 --- a/test/Microsoft.AspNet.Mvc.Core.Test/Rendering/HtmlHelperNameExtensionsTest.cs +++ b/test/Microsoft.AspNet.Mvc.Core.Test/Rendering/HtmlHelperNameExtensionsTest.cs @@ -12,10 +12,6 @@ namespace Microsoft.AspNet.Mvc.Core /// /// Test the class. /// - /// - /// TODO #704: When that bug is fixed and Id() behaves differently than Name(), will need to break some - /// test methods below in two. - /// public class HtmlHelperNameExtensionsTest { [Fact] diff --git a/test/Microsoft.AspNet.Mvc.FunctionalTests/RoundTripTests.cs b/test/Microsoft.AspNet.Mvc.FunctionalTests/RoundTripTests.cs index 8c900ce4a7..69db1b98c0 100644 --- a/test/Microsoft.AspNet.Mvc.FunctionalTests/RoundTripTests.cs +++ b/test/Microsoft.AspNet.Mvc.FunctionalTests/RoundTripTests.cs @@ -105,7 +105,7 @@ namespace Microsoft.AspNet.Mvc.FunctionalTests // Assert Assert.Equal("Parent.Attributes[height]", expression); - // TODO Requires resolution in model binding as part of #1418 + // TODO: https://github.com/aspnet/Mvc/issues/1418 Requires resolution in model binding } // Uses the expression p => p.Dependents[0].Dependents[0].Name diff --git a/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Metadata/AssociatedMetadataProviderTest.cs b/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Metadata/AssociatedMetadataProviderTest.cs index 5c2c837b8b..b8c11515b8 100644 --- a/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Metadata/AssociatedMetadataProviderTest.cs +++ b/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Metadata/AssociatedMetadataProviderTest.cs @@ -201,8 +201,6 @@ namespace Microsoft.AspNet.Mvc.ModelBinding // Helpers - // TODO: This type used System.ComponentModel.MetadataType to separate attribute declaration from property - // declaration. Need to figure out if this is still relevant since the type does not exist in CoreCLR. private class PropertyModel { [Required] diff --git a/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Metadata/CachedDataAnnotationsModelMetadataProviderTest.cs b/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Metadata/CachedDataAnnotationsModelMetadataProviderTest.cs index b06ce58316..c33770fb80 100644 --- a/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Metadata/CachedDataAnnotationsModelMetadataProviderTest.cs +++ b/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Metadata/CachedDataAnnotationsModelMetadataProviderTest.cs @@ -167,7 +167,8 @@ namespace Microsoft.AspNet.Mvc.ModelBinding Assert.True(result); } - // TODO #1000; enable test once we detect attributes on the property's type + // TODO https://github.com/aspnet/Mvc/issues/1000 + // Enable test once we detect attributes on the property's type public void HiddenInputWorksOnPropertyType() { // Arrange diff --git a/test/Microsoft.AspNet.Mvc.ModelBinding.Test/ValueProviders/ReadableStringCollectionValueProviderTests.cs b/test/Microsoft.AspNet.Mvc.ModelBinding.Test/ValueProviders/ReadableStringCollectionValueProviderTests.cs index a5989a133a..62c59abdec 100644 --- a/test/Microsoft.AspNet.Mvc.ModelBinding.Test/ValueProviders/ReadableStringCollectionValueProviderTests.cs +++ b/test/Microsoft.AspNet.Mvc.ModelBinding.Test/ValueProviders/ReadableStringCollectionValueProviderTests.cs @@ -157,8 +157,11 @@ namespace Microsoft.AspNet.Mvc.ModelBinding.Test Assert.Equal(culture, vpResult.Culture); } - // TODO: Determine if this is still relevant. Right now the lookup returns null while - // we expect a ValueProviderResult that wraps a null value. + // TODO: https://github.com/aspnet/Mvc/issues/1609 + // + // This test was present in MVC5 and WebAPI2, but our VP implementation doesn't behave this + // way currently. + // //[Theory] //[InlineData("null_value")] //[InlineData("prefix.null_value")] @@ -166,16 +169,19 @@ namespace Microsoft.AspNet.Mvc.ModelBinding.Test //{ // // Arrange // var culture = new CultureInfo("fr-FR"); - // var valueProvider = new ReadableStringCollectionValueProvider(_backingStore, culture); + // var valueProvider = new ReadableStringCollectionValueProvider(_backingStore, culture); + + // System.Diagnostics.Debugger.Launch(); + // System.Diagnostics.Debugger.Break(); // // Act - // ValueProviderResult vpResult = valueProvider.GetValue(key); + // var result = await valueProvider.GetValueAsync(key); // // Assert - // Assert.NotNull(vpResult); - // Assert.Equal(null, vpResult.RawValue); - // Assert.Equal(null, vpResult.AttemptedValue); - // Assert.Equal(culture, vpResult.Culture); + // Assert.NotNull(result); + // Assert.Null(result.RawValue); + // Assert.Null(result.AttemptedValue); + // Assert.Equal(culture, result.Culture); //} [Fact] diff --git a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/InputTagHelperTest.cs b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/InputTagHelperTest.cs index a9f6604feb..9bf58b4855 100644 --- a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/InputTagHelperTest.cs +++ b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/InputTagHelperTest.cs @@ -57,8 +57,6 @@ namespace Microsoft.AspNet.Mvc.TagHelpers { modelWithText, typeof(NestedModel), () => modelWithText.NestedModel.Text, new NameAndId("NestedModel.Text", "NestedModel_Text"), "inner text" }, - // Top-level indexing does not work end-to-end due to code generation issue #1345. - // TODO: Remove above comment when #1345 is fixed. { models, typeof(Model), () => models[0].Text, new NameAndId("[0].Text", "z0__Text"), string.Empty }, { models, typeof(Model), () => models[1].Text, diff --git a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/SelectTagHelperTest.cs b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/SelectTagHelperTest.cs index 5ca9ad1e68..22f8bf4c79 100644 --- a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/SelectTagHelperTest.cs +++ b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/SelectTagHelperTest.cs @@ -70,13 +70,12 @@ namespace Microsoft.AspNet.Mvc.TagHelpers { modelWithText, typeof(NestedModel), () => modelWithText.NestedModel.Text, new NameAndId("NestedModel.Text", "NestedModel_Text"), innerSelected }, - // Top-level indexing does not work end-to-end due to code generation issue #1345. - // TODO: Remove above comment when #1345 is fixed. { models, typeof(Model), () => models[0].Text, new NameAndId("[0].Text", "z0__Text"), noneSelected }, { models, typeof(NestedModel), () => models[0].NestedModel.Text, new NameAndId("[0].NestedModel.Text", "z0__NestedModel_Text"), noneSelected }, + // TODO: https://github.com/aspnet/Mvc/issues/1468 // Skip last two test cases because DefaultHtmlGenerator evaluates expression name against // ViewData, not using ModelMetadata.Model. ViewData.Eval() handles simple property paths and some // dictionary lookups, but not indexing into an array or list. See #1468... @@ -316,9 +315,10 @@ namespace Microsoft.AspNet.Mvc.TagHelpers var tagHelperContext = new TagHelperContext(contextAttributes); var output = new TagHelperOutput(expectedTagName, originalAttributes, content); - // TODO: In real (model => model) scenario, ModelExpression should have name "" and + // TODO: https://github.com/aspnet/Mvc/issues/1253 + // In real (model => model) scenario, ModelExpression should have name "" and // TemplateInfo.HtmlFieldPrefix should be "Property1" but empty ModelExpression name is not currently - // supported, see #1408. + // supported, see also #1408. var metadataProvider = new EmptyModelMetadataProvider(); string model = null; var metadata = metadataProvider.GetMetadataForType(() => model, typeof(string)); diff --git a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/TextAreaTagHelperTest.cs b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/TextAreaTagHelperTest.cs index 30bfea039b..74956ea0d6 100644 --- a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/TextAreaTagHelperTest.cs +++ b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/TextAreaTagHelperTest.cs @@ -61,8 +61,6 @@ namespace Microsoft.AspNet.Mvc.TagHelpers new NameAndId("NestedModel.Text", "NestedModel_Text"), Environment.NewLine + "inner text" }, - // Top-level indexing does not work end-to-end due to code generation issue #1345. - // TODO: Remove above comment when #1345 is fixed. { models, typeof(Model), () => models[0].Text, new NameAndId("[0].Text", "z0__Text"), Environment.NewLine }, diff --git a/test/WebSites/BasicWebSite/Controllers/HomeController.cs b/test/WebSites/BasicWebSite/Controllers/HomeController.cs index ef7c9599e4..88c5d2190a 100644 --- a/test/WebSites/BasicWebSite/Controllers/HomeController.cs +++ b/test/WebSites/BasicWebSite/Controllers/HomeController.cs @@ -50,9 +50,6 @@ namespace BasicWebSite.Controllers public async Task ActionReturningTask() { - // TODO: #1077. With HttpResponseMessage, there seems to be a race between the write operation setting the - // header to 200 and HttpNoContentOutputFormatter which sets the header to 204. - Context.Response.StatusCode = 204; await Context.Response.WriteAsync("Hello world"); }