Commit Graph

2053 Commits

Author SHA1 Message Date
jbagga 41f00eea23 Default Status Code for void types changed to 200
Fixes #4838
2016-10-06 14:39:04 -07:00
Kiran Challa de7cea4000 Getting RouteDataRequestCultureProvider from Microsoft.AspNetCore.Localization.Routing package 2016-10-04 12:39:57 -07:00
Doug Bunting 4e6fd823cf Fix bounds checking in `PagedCharBuffer` and related code
- #5347
- inconsistent bounds checking caused problems after `ArrayPool<char>` fell back to `new char[2048]`
 - would fail a `Debug` assertion in Debug builds and loop endlessly in Release builds
- change to `CacheTagHelper+CharBufferHtmlContent` is for correctness only
 - always uses a `CharArrayBufferSource` and that returns arrays of the exact size requested
2016-10-04 10:19:44 -07:00
Pranav K 7481151086 Revert skipped StackTrace test 2016-10-04 10:12:22 -07:00
Pranav K 6fe683c585 Add Microsoft.DotNet.InternalAbstractions to fix tests 2016-10-04 10:11:09 -07:00
Pranav K 6d235e4ef5 Update partner package versions 2016-10-03 14:27:20 -07:00
Pranav K da3a457fc5 Temporarily skip test to workaround CoreCLR failure 2016-10-03 14:27:20 -07:00
Kiran Challa 89bd6dc1cd [Fixes #5212] Added a cookie based ITempDataProvider 2016-10-03 14:04:57 -07:00
Doug Bunting 4cca6b09f0 Reduce allocations during HTML generation
- #3918
- precompute size of `StringBuilder` in `ExpressionHelper`
- reduce `string` allocations in `ViewDataEvaluator`
 - also get rid of `Enumeration` state machines
- reduce the size of a few objects; use more expression-valued properties
 - e.g. don't store `_modelType` in `ModelExplorer`
- add `EmptyArray<TElement>`; make empty arrays consistently `static`
- avoid `string.Split()` in HTML and tag helpers

nits:
- make `ExpressionHelperTest` tests more stringent
- correct `Message` for an `ArgumentNullException`
- remove excess `using`s in classes I touched (but often ended up leaving otherwise unchanged)
- improve doc comments
- remove `ToString()` call on a `string`
- avoid encoding `string.Empty`
- fix test file name
- remove useless variables
- correct spelling
- improve whitespace
2016-10-03 12:17:47 -07:00
Ryan Brandenburg 261f73abc7 Add NonViewComponentAttribute 2016-09-30 10:56:08 -07:00
cjrosa 60d600dd5c Issue #5310 (#5334)
* Issue #5310
2016-09-30 09:40:53 -07:00
Doug Bunting 0a4c06eefb Suppress validation summary `<div>` when nothing is generated
- #2372
- make the `ValidationSummaryTagHelper` behave consistently with `Html.ValidationSummar()`
2016-09-27 15:51:51 -07:00
Ryan Brandenburg 6cdd0451da DisplayMetadata use DisplayNameAttribute 2016-09-27 15:24:21 -07:00
Doug Bunting f222fa4349 Correct examination of `IHtmlHelper.Label()` return value
- #5317
- previously worked only because `TagBuilder` cannot be empty and `HtmlString` overrides `ToString()`
 - `TagBuilder.ToString()` (now the type's `FullName`) is also never empty
- copy `NullHtmlEncoder` from Razor and give it a better name (`PassThroughHtmlEncoder`)
 - not available in this project and (from its namespace) not intended for general use
2016-09-27 10:00:29 -07:00
Doug Bunting 27e4822a7b Preserve `class` casing when merging a `TagBuilder` into a `TagHelperOutput`
- #5313

Also:
- preserve existing `TagHelperAttribute.ValueStyle`
 - fix this in `UrlResolutionTagHelper`, `LinkTagHelper`, and `ScriptTagHelper` as well
- correct handling of non-`string` `classAttribute.Value`s in `TagHelperOutputExtensions`
 - relates to #3918 because new `ClassAttributeHtmlContent` is smaller than any concatenated attribute value

nit: clean up `CacheTagHelper` whitespace and `using`s
2016-09-26 15:56:30 -07:00
Ryan Brandenburg 03b3d6bec8 Use DataAnnotationLocalizerProvider for Display localization 2016-09-23 10:05:42 -07:00
Doug Bunting 9c6c8410e2 Get rid of some duplicate test data
- remove a few warnings from output when testing in VS
2016-09-21 14:52:52 -07:00
Steve Smith 3866ee72e0 Fixing typos Dowload -> Download 2016-09-20 15:55:19 -07:00
Kiran Challa 01f7ecd9d9 [Fixes #5154] Stream should be suppressed from model metadata validation 2016-09-19 11:10:03 -07:00
Ajay Bhargav Baaskaran b3fe8b30ac Moved VCTHDFactory to .Internal namespace 2016-09-16 15:50:44 -07:00
Ajay Bhargav Baaskaran 0cfd5363f8 Added ViewComponentTagHelperDescriptorResolver and related stuff 2016-09-15 17:12:43 -07:00
Pranav K 760c8f3867 Ensure Append writes to the right page after Clear 2016-09-14 18:57:21 -07:00
Ajay Bhargav Baaskaran 42027b6cc2 [Fixes #5243] Handle null values in TempData properly 2016-09-14 15:41:38 -07:00
Pranav K d9ff1d81d6 PagedBufferedTextWriter does not flush synchronous data prior to writing data asynchronously
Fixes #5241
2016-09-14 14:52:06 -07:00
Pranav K 43071319aa Buffer rendered CacheTagHelper content strings to a custom TextWriter
Fixes #4893
2016-09-14 14:47:37 -07:00
Pranav K a480378a44 Make AuthorizeFilter constructable
* Make AuthorizeFilter constructable

Fixes #5253
2016-09-14 13:43:56 -07:00
Pranav K 994835ce47 Remove IViewsProvider and make view lookup to the feature provider 2016-09-14 13:40:05 -07:00
Doug Bunting 809d2bf7ec Add `ValidationHtmlAttributeProvider` to make `AddValidationAttributes()` available
- #5028
- helpers similar to our HTML or tag helpers can use the new singleton to examine or add validation attributes
 - in the most common case, helpers add validation attributes to a `TagBuilder`
- separate `DefaultValidationHtmlAttributeProvider` from `DefaultHtmlGenerator`
 - avoids creating two instances of the `DefaultHtmlGenerator` singleton
 - would be even uglier to require callers to cast an `IHtmlGenerator` to `ValidationHtmlAttributeProvider`
- `[Obsolete]` old `DefaultHtmlGenerator` constructor
2016-09-13 21:07:18 -07:00
Pranav K 4a5e1f4a72 Use as cast instead of C-style cast for IVewContextAware helpers
Fixes #5254
2016-09-12 16:34:02 -07:00
Doug Bunting eee1a9fef4 Do not generate a validation summary when `excludePropertyErrors` unless specific model has an error
- #5209
- update affected `HtmlHelperValiationSummaryTest` and functional tests
- add `ValidationSummaryTagHelperTest` tests to cover related scenarios

##### Behaviour changes when no errors exist for the model:
###### Tag helper
``` html
<div asp-validation-summary="ModelOnly" class="order"><h3>Oopsie<h3></div>
```
previously generated
``` html
<div class="order validation-summary-errors"><h3>Oopsie</h3><ul><li style="display:none"></li>
</ul></div>
```
and now generates
``` html
<div class="order"><h3>Oopsie</h3></div>
```
###### HTML helper
``` c#
@Html.ValidationSummary(excludePropertyErrors: true, message: "Oopsie")
```
previously generated
``` html
<div class=\"validation-summary-errors\"><span>Oopsie</span>
<ul><li style=\"display:none\"></li>
</ul></div>
```
and now generates nothing (`@HtmlString.Empty`).
2016-09-08 15:36:47 -07:00
Ryan Brandenburg 43a0a5a9f1 Replace ConfigureOptions with IConfigureOptions 2016-09-08 15:19:07 -07:00
N. Taylor Mullen 17c6cfcb4e Actually fix build break. 2016-09-08 11:25:55 -07:00
N. Taylor Mullen 11af25b9b7 Fix travis build break. 2016-09-08 11:21:21 -07:00
Doug Bunting 755b702823 Correct test failures on Windows with `git config core.autocrlf false`
- line endings in checked-out files do not necessarily match `Environment.NewLine`
2016-09-08 09:20:05 -07:00
Ajay Bhargav Baaskaran 4677bf13fa Reverting accidental changes 2016-09-08 08:28:51 -07:00
Crystal Qian 05392cbf35 Added view component tag helper code generator. (#5195)
This addresses #1051. There is one more pull request that needs to be completed/merged (for `CompositeTagHelperDescriptorResolver` and friends). After that, runtime should work!
2016-09-07 20:30:09 -04:00
Ryan Brandenburg 830983a477 Fixes #5198 Stops caching of Enum display values (#5185)
Fixes #5197 GetEnumSelectList uses IStringLocalizer
Fixes #4215 Html.DisplayFor now checks DisplayAttributes on enums
2016-09-07 16:00:17 -07:00
Doug Bunting fae0e9a66e Handle `!ConvertEmptyStringToNull` cases correctly in `SimpleTypeModelBinder`
- #4988
- preserve whitespace as the setting demands
 - correct previous `string.IsNullOrEmpty()` call to match previous `ValueProviderResultExtensions.ConvertTo()` use
- short-circuit other `string`-to-`string` conversions (as `ValueProviderResultExtensions.ConvertTo()` does)
- correct documentation of `ConvertEmptyStringToNull` properties
- add more tests of these scenarios and remove duplicate `BindModel_ValidValueProviderResult_ConvertEmptyStringsToNull()` test
2016-09-02 16:15:18 -07:00
Doug Bunting 2659904061 Build on be73cd7 to include `<input type="image"/>`, reduce duplication, and add tests
- consolidate `ButtonTagHelper` and `SubmitTagHelper` into `FormActionTagHelper`
- consolidate `ButtonTagHelperTest` and `SubmitTagHelperTest` into `FormActionTagHelperTest`

nits:
- do not allocate dictionaries in the `<a>` or `<form>` tag helpers unless needed
- clean up some hard-to-maintain whitespace
2016-09-01 20:03:13 -07:00
Shahriar Gholami be73cd77bf Add buttonTagHelper and submitTagHelper for formaction
Addresses #1668
2016-08-31 22:02:47 -07:00
Crystal Qian df81f8be57 Added a view component tag helper descriptor factory (#5189) 2016-08-31 17:31:04 -07:00
Doug Bunting 34a4c8c191 Add more tests covering `asp-format` use
- also add comments requested in PR #5109 and #5205
2016-08-31 12:34:22 -07:00
Kiran Challa f7ee16170c [Fixes #5161] Support running middleware pipeline as part of a resource filter 2016-08-30 09:26:04 -07:00
Ajay Bhargav Baaskaran a6a4b5369a [Fixes #5166] Support passing instance directly when invoking ViewComponents with single parameter 2016-08-26 16:33:42 -07:00
Ajay Bhargav Baaskaran 9ed753288f [Fixes #5170] Fixed KeyNotFoundException in UrlHelperFactory.GetUrlHelper() 2016-08-26 11:27:02 -07:00
Nate McMaster 3aa6d739ce
Fix broken test caused by logging change aspnet/Logging#480 2016-08-26 10:59:30 -07:00
Kiran Challa ece8f33a65 [Fixes #5175] Async resource filters' short circuited result getting executed more than once. 2016-08-25 16:30:41 -07:00
N. Taylor Mullen 7036e2b0f5 Change `ViewComponent.View()` to flow the `ViewData.Model`.
- This is more consistent with how controllers work.

#4882
2016-08-25 10:22:23 -07:00
Pranav K c942eab6e2 Adding support for Razor precompilation
Fixes #3917
2016-08-19 07:27:51 -07:00
Ryan Brandenburg 889af50318 Localize DataAnnotations (#5129) 2016-08-16 11:52:15 -07:00
Kiran Challa a4ec3bb24a [Fixes #4991] Misleading MissingMethodException message for incorrect routes 2016-08-11 11:57:21 -07:00
Kiran Challa 936f5a4f6a Made HttpMethod match case-INsensitive
Related to https://github.com/aspnet/CORS/issues/77
2016-08-08 14:34:27 -07:00
Pranav K 67dce322df Updating to Moq \ Castle.Core that does not require imports 2016-08-08 12:20:14 -07:00
ivano 6e5187c1ae Using new StringRouteConstraint for area constraint 2016-08-08 08:47:04 -07:00
Kiran Challa ac98417398 ModelBinding: Remove IsReadOnly checks and add/update tests 2016-08-04 14:20:23 -07:00
ivano scifoni be5deef584 Created option for RequireHttpsAttribute.Permanent
Fixes #4650
2016-08-04 11:43:16 -07:00
jacalvar b56cab6414 Merge branch 'rel/1.0.1' into dev 2016-08-01 14:16:58 -07:00
jacalvar f0732e9e21 [Fixes #5038] HTTP Verbs mapping error GET and DELETE
When an action contained an attribute derived from HttpMethodAttribute,
doesn't specify an attribute route and there is also another attribute
extending HttpMethodAttribute that has a route defined on it; we ignored
the HttpMethodAttribute attribute without a defined route when building
the set of action selectors for the method.

This caused the resulting action to be unbounded and to accept requests
for other verbs not associated with it. The root cause of the problem was
that attributes override equality and do a field by field comparison but
ignore fields in the base classes of the type, so if an attribute is part
of a class hierarchy (like Http*Attributes) there might be two different
attributes that get considered equal.

The fix for the problem has been to change using Contains on a couple of
collections (that uses the equals method on the underlying object) and
check for the existence of the attribute on the collection directly by
using reference equality.
2016-08-01 12:49:23 -07:00
Ryan Nowak e77dc3af6a Implement manual state machine 2016-08-01 10:38:46 -07:00
N. Taylor Mullen d60ed06c19 Add link tag attributes to generated fallback tags.
- Updated functional tests and link tag script to include modified extra attributes content.

#4084
2016-07-29 16:30:56 -07:00
Ryan Brandenburg 27a641f4bf Only create filters for models that need them (#5044) 2016-07-27 16:36:26 -07:00
jacalvar 7a3f24d49d [Fixes #4960] Action results returned from controller actions rendered as json instead of executed 2016-07-27 14:42:46 -07:00
BrennanConroy 0a5f8e013e AppDomain safety 2016-07-27 09:26:06 -07:00
Pranav K 5092e75387 Pin repo version to 1.0.1 2016-07-26 12:09:57 -07:00
Ajay Bhargav Baaskaran 4600100695 Added a test to verify ReflectionTypeLoadException 2016-07-25 12:06:16 -07:00
Ryan Nowak fb514d7ef8 Update versions to 1.0.1-*
Also adding a version number to TestConfiguration. This is not a leaf node
so it should have a version.
2016-07-21 09:55:28 -07:00
Ryan Nowak b80f4d31f3 Add a test to verify our service lifetimes
This test uses the new features in the service provider to verify that we
don't reference any scoped services from singletons.

Note that this can't really cover the cases where we have optional
services or where we replace default services (like DI for controllers).
You'll just have to be careful.
2016-07-20 17:10:52 -07:00
Doug Bunting 8a6e99c7c0 Always render antiforgery tokens if `!CanRenderAtEndOfForm`
- #5005
- also add `FormContext` doc comments
2016-07-20 15:25:08 -07:00
ivano scifoni 581a5ea573 column attribute for <textarea> is incorrect (#5049)
- Modify tagBuilder.MergeAttribute key to cols
2016-07-20 09:22:39 -07:00
Pranav K 6bdcf35670 Pin the version of dotnet-test-xunit to 1.0.0-rc3-00000-01 2016-07-19 11:14:56 -07:00
Kiran Challa 52a7c112e8 [Fixes #4876] ContentResult forcing chunked encoding 2016-07-18 16:10:01 -07:00
Doug Bunting e5cb6f9595 Add `null` check for `ModelStateEntry.Children`
- #4989
2016-07-18 14:02:17 -07:00
Kiran Challa 26b3b5ea7b [Fixes #4766] Remove disable buffering feature from our action result classes 2016-07-18 13:07:54 -07:00
Doug Bunting 52e4ca7232 Put `ModelBindingHelper` on a diet
- remove extra argument checks
- remove two test-only `ConvertTo()` overloads
 - this relates to #4521
2016-07-15 11:53:32 -07:00
Pranav K b7a0393311 Register DependencyContextRazorViewEngineOptionsSetup after RazorViewEngineOptionsSetup
Fixes #4902
2016-07-15 10:33:59 -07:00
zhangmm ea73434979 Fix typo in test name 2016-07-15 10:01:39 -07:00
Doug Bunting 0ec2a3131f Restore `[Fact]` and `[Theory]` attributes
- removed in 310ab25
2016-07-14 15:25:45 -07:00
Ryan Brandenburg 310ab25347 Make tests resilient to Localization (#5011) 2016-07-14 09:28:01 -07:00
ivano scifoni b4677a44da #4847 Fix MapAreaRoute override existing area constraint (#4954)
*  #4847 Fix MapAreaRoute override existing area constraint
Modify Test project
Modify web test routing

* wrong field tested

* IntRouteConstraint expected

* Default for area route on Travel area

* Removed commented code
simplify constraintsDictionary area assign
renamed test method

* test name

* renamedd test to MapAreaRoute_DoesNotReplaceValuesForAreaIfAlreadyPresentInConstraintsOrDefaults
2016-07-11 10:53:33 -07:00
ivano scifoni 3d2bb673ee Add IMvcCoreBuilder.AddJsonOptions extension method
Fixes #4967
2016-07-08 09:00:59 -07:00
Doug Bunting 7430efa8cc One build to rule them all
- well, at least VS and command-line builds will share output
- part of aspnet/Coherence-Signed#277
2016-07-06 16:21:18 -07:00
Ajay Bhargav Baaskaran e7de647c10 [Fixes #453] Added unit tests for Display and Value Extensions
- Added more HtmlHelper tests
- Added some tests to cover complex expressions
2016-07-06 15:39:26 -07:00
Pranav K 7ce344270a Show message about preserveCompilationContext when a Roslyn diagnostic error says a reference
could not be found.

Fixes #4911
2016-07-06 15:09:54 -07:00
Pranav K ccff37126f Removing extra imports from projects 2016-07-06 08:59:58 -07:00
Pranav K 222165e145 Updating to RTM builds of xunit and Moq (#4946) 2016-07-05 20:58:16 -07:00
Medeni Baykal 4fe758240f Added `ViewResultTest`s. (#4939)
* Added `ViewResultTest`s.
* Fixed the namespace and folder of `PartialViewResultTest `; and some minor fixes.
2016-07-05 15:25:20 -07:00
Ryan Nowak 3ed0d01eae Fix #4929 - Move IActionInvokerFactory from .Internal
Also added a wealth of doc comments to an area that's not currently super
well documented.
2016-07-05 13:18:34 -07:00
Doug Bunting 42cea41737 Fail more gracefully when option collections cleared
- #4690
- move `ModelBindingMessageProvider` init from `DefaultBindingMetadataProvider` to `DefaultModelMetadata`
 - in addition to avoiding error cases, this removes some boilerplate
- add specific errors to `BodyModelBinderProvider`, `CompilerCache`, `CompositeViewEngine`, `ModelBinderFactory`,
  and `ObjectResultExecutor`
 - `DefaultRazorViewEngineFileProviderAccessor.FileProvider` now a `NullFileProvider` in empty case
2016-06-30 14:52:50 -07:00
Medeni Baykal a852352223 Fix for https://github.com/aspnet/Mvc/issues/4903. (#4907)
Fix for https://github.com/aspnet/Mvc/issues/4903.
- `HtmlHelperTextAreaTest` added
- fix up `HtmlHelperTextBoxTest`
2016-06-29 10:11:54 -07:00
Crystal Qian e51a118a9d Added consistent model property to view result variants (#4901)
* Added consistent model property/tests to ViewResult, PartialViewResult, ViewComponentResult. This resolves #4813.

* Removed unnecessary model asserts

* Removed redundant model checking
2016-06-28 09:38:37 -07:00
Pranav K a1f4786695 Updating json files to pin versions and build files to pin KoreBuild 2016-06-27 13:51:10 -07:00
Crystal Qian c319ae51a5 Changed min/max parameter order in StringLengthAttributeAdapter (#4899)
Changed min/max parameter order in StringLengthAttributeAdapter. This fixes #4864.
2016-06-27 10:21:50 -07:00
Crystal Qian dad6374258 Revert "Changed min/max parameter order in StringLengthAttributeAdapter"
This reverts commit d19765802b.
2016-06-22 15:34:53 -07:00
Crystal Qian d19765802b Changed min/max parameter order in StringLengthAttributeAdapter 2016-06-22 15:33:33 -07:00
Doug Bunting f8c7f1ab78 Add more tests using `[ViewComponent(Name = "...")]`
- #4851
2016-06-19 13:52:59 -07:00
Shahriar Gholami 94fa34ca41 TempData convenience property added to ViewComponent (#4873)
* TempData convenience property added to ViewComponent

 #4728

* PR feedback
2016-06-17 10:15:50 -07:00
Pranav K cd7954a164 Updating to dev versions 2016-06-16 10:40:11 -07:00
N. Taylor Mullen 8499e3d6bb Remove direct Microsoft.NETCore.Platforms dependency.
- Microsoft.NETCore.App now pulls this package in.

aspnet/Coherence-Signed#344
2016-06-13 15:30:27 -07:00
N. Taylor Mullen 0501531ec4 React to namespace changes in Razor.
aspnet/Razor#779
2016-06-13 11:22:56 -07:00
Doug Bunting 68974b2d1f Add tests covering more JSON serialization cases
- #4844
2016-06-10 15:25:53 -07:00
Ryan Brandenburg 5339a3e0ce Add ExceptionHandled to ExceptionContext (#4825) 2016-06-09 15:22:11 -07:00
Pranav K 8c8fd6446b Use regular PDBs on full desktop when possible
Add a test to verify exceptions thrown from views is pretty printed by diagnostics middleware

Fixes https://github.com/aspnet/Diagnostics/issues/293
Fixes #4737
2016-06-09 14:59:38 -07:00
Kiran Challa f1982bd987 Suppress default status code response type in api descriptions when explicit response types have been provided
[Fixes #4823] How to override the default (200) status code with ProducesResponseType
2016-06-09 12:07:52 -07:00
Doug Bunting 62803d5979 Serialize JSON using camel case by default
- #4283
- update `JsonSerializerSettingsProvider` to choose the `CamelCaseNamingStrategy`
2016-06-09 11:58:23 -07:00
Ryan Nowak 31ec88526a Fix #4801 Rename ValidationExcludeFilter
'ValidationExcludeFilter' -> 'SuppressChildValidationMetadataProvider'

Also moved to .ModelBinding for improved discoverability. There aren't
many reasons user code would have a using for .Validation.
2016-06-09 10:51:31 -07:00
Ryan Nowak baf0b6a5c7 Fix #4803 - Move some types internal
Moves IControllerArgumentBinder and IControllerPropertyActivator into
.Internal. Also renames ControllerArgumentBinder ->
DefaultControllerArgumentBinder for consistency with other controller
extensibility types.

We don't think these are 100% baked for our long term maintenance of the
product, and want to reserve the ability to make changes in the future.
2016-06-09 09:36:15 -07:00
Doug Bunting aecfe778ee Improve handling of custom `ValidationAttribute`s and their `ValidationResult`s
- #3595 sub-items 2 through 4
- handle an indexer name in `ValidationResult.MemberNames`
 - aligns `ModelNames.CreatePropertyModelName()` with `TemplateInfo.GetFullHtmlFieldName()`
- handle multiple elements in `ValidationResult.MemberNames`
 - later elements previously ignored
- set `ValidationContext.MemberName` to `null` when no property name is available
 - using type name for a member name was just wrong
2016-06-08 12:05:01 -07:00
Derek Gray 5a3875ea72 Alter content negotiation algorithm so that it can be configured (via
MvcOptions) to always respect an explicit Accept header. Fixes #4612.
2016-06-07 16:12:36 -05:00
Ryan Nowak 2e2784aa3d [Design] Split up MvcRouteHandler
This change splits up the conventional routing path from the attribute
routing path *inside* routing, instead of inside `MvcRouteHandler`. Each
attribute route group now gets its own instance of
`MvcAttributeRouteHandler` which just knows about the actions it can
reach.

This removes the concept of a route-group-token and removes the lookup
table entirely for attribute routing. This also means that the
`DefaultHandler` on `IRouteBuilder` will not be used for attribute routes,
which we are OK with for 1.0.0.

The action selector's functionality is now split into two methods. We
think this is OK for 1.0.0 because any customization of `IActionSelector`
up to now had to implement virtually the same policy as ours in order to
work with attribute routing. It should now be possible to customize the
selector in a meaningful way without interfering with attribute routing.
2016-06-07 08:12:47 -07:00
Ryan Nowak 78c130d226 Fix for #4666 - reduce modelbinders created
This change to ModelBinderFactory makes the caching much more aggressive,
by caching all non-root binders. There's some trickiness here around
making sure we have the right behavior when all providers return null. See
the tests and comments.

I also kept the change I made for a temporary workaround to use a
dictionary rather than a "stack" for cycle breaking.  This seems like an
overall improvement in clarity.
2016-06-06 09:01:51 -07:00
Hao Kung c15cf49a73 React to AuthZ API change 2016-06-03 13:30:53 -07:00
N. Taylor Mullen 51c285574b Add `AdditionalCompilationReferences` option to `RazorViewEngineOptions`.
- `AdditionalCompilationReferences` is a purely additive option to add `MetadataReference` instances to be used for Razor compilation.
- Added a test to validate the compilation references get combined with the `ApplicationPartManager`s metadata references.

#4497
2016-06-01 16:32:46 -07:00
jacalvar 4b5df98bc3 [Fixes #4224] Remove use of service locator on ViewExecutor 2016-05-31 23:39:22 -07:00
jacalvar 6a6d2e0d9f [Fixes #4506] Move and rename ActionDescriptor.Name to ControllerActionDescriptor.ActionName 2016-05-31 23:13:20 -07:00
jacalvar 5f4ca4fa66 [Fixes #4223] Added a facade for ViewComponentResult 2016-05-31 22:47:33 -07:00
jacalvar 8493064fe5 [Fixes #4207] Review IActionResult classes and add facades as necessary.
* Moved FileResults to use executor façades
* Changed redirect result types to use executor façades.
2016-05-31 22:46:18 -07:00
Hao Kung 13a3bbaeb6 Update AuthZ test 2016-05-31 17:16:47 -07:00
Ajay Bhargav Baaskaran 283573d6c9 [Fixes #4291] Simplified MvcRouteHandler code 2016-05-31 15:02:14 -07:00
Hao Kung c7a46e4caf AuthPolicy should use IPolicyProvider 2016-05-31 13:47:58 -07:00
Doug Bunting e63f094a5f Use type metadata for `ModelBinderProviderContext.BindingInfo`
- #4652
- previously ignored for top-level models
- `ModelBinderProviderContext.BindingInfo` is now never `null`
- similarly, use type metadata (as well as parameter info) for `ModelBindingContext.BinderModelName`
 - previously ignored when overridden in `ControllerArgumentBinder`
2016-05-27 23:00:29 -07:00
N. Taylor Mullen cfd58f1747 React to aspnet/Razor#705
- Updated `ScriptTagHelper` and `LinkTagHelper` to maintain their quotes on generated script tags.
- Removed `TagHelperOutputExtensions`. It's no longer needed.
- We no longer string replace quotes directly. We rely on encoding and the initial representation of an attribute to ensure quotes don't break generated attributes.
- Updated tests.
2016-05-27 12:00:01 -07:00
Michiel Post b6794ab1b7 Fixed null reference on ModelStateDictionary.ChildNodes when calling Clear 2016-05-26 16:12:49 -07:00
Pranav K abf9319e6c Modify test to look for assembly names rather than absolute paths
This workaround an issue \ bug with the results returned by DependencyContext where
the path uses a mix of forward and back slashes which causes comparison with Assembly.Location that only
uses forward slashes to fail.
2016-05-26 14:49:37 -07:00
Shahriar Gholami 42dd4499e0 Fixed a bug in TagBuilder when attribute value is null
#4710
2016-05-26 11:04:32 -07:00
Pranav K 5d72a7f747 Modify ICompilationLibrariesProvider to return a sequence of reference path
Fixes #4738
2016-05-25 16:20:23 -07:00
Pranav K 9acd0f578c Remove IDisposable contract from IMvcRazorHost
Fixes #4709
2016-05-25 14:43:12 -07:00
Ajay Bhargav Baaskaran 3d0f436a06 [Fixes #4294] TypeActivate MvcRouteHandler 2016-05-25 12:57:16 -07:00
mnltejaswini b96851ec20 [Perf] Avoid ViewBuffers for writing bound TagHelper attribute values. Fixes aspnet/Razor#717 2016-05-25 12:14:26 -07:00
Hao Kung f54a964815 AuthZFilter should call into Service more 2016-05-24 14:42:54 -07:00
Pranav K ab76f743f4 Use dependency context from all application parts when compiling views
Fixes #4498
2016-05-24 10:28:51 -07:00
Ryan Nowak 27565c4e8d Fix broken query string binding test
This test was relying on the parsing behavior of QueryString, that it
would omit the key and value when the value is empty. The expectations
weren't consistent with other tests for 'empty' values.
2016-05-24 10:17:30 -07:00
Pranav K 69e029fc79 Update the namespace for Razor generated code to AspNetCore
Fixes #4476
2016-05-23 16:25:59 -07:00
Pranav K 8ab66ab5ce Fix resource generation to work with dotnet test 2016-05-23 15:55:14 -07:00
John Luo ff534da70f React to adding IsAvailable to ISession 2016-05-23 15:17:30 -07:00
Ryan Nowak d92b3ba2c6 Make ModelBindingContext.Result non-nullable
This change simplifies a bunch of code and fits more in line with the
current design of model binding.

Now, a model binder only has to do anything if it was successful.
'return' is enough to indicate failure.
2016-05-23 14:18:34 -07:00
Ryan Nowak 88c9ae6588 Remove Key from ModelBindingResult 2016-05-23 13:17:19 -07:00
Ryan Nowak ef29749e72 Remove usage of `async void` in unit tests
Yes I know xUnit supports it, but it's non-standard and it shouldn't show
up anywhere in our codebase.
2016-05-20 15:07:48 -07:00
jacalvar 230a13d0e1 [Fixes #4633] Datetime? and DateTimeOffset? values on InputTagHelper are not rendered correctly. 2016-05-20 11:29:29 -07:00
jacalvar ee2a591d2c [Fixes #4655] Make comparisons in DefaultAssemblyPartDiscoveryProvider case insensitive 2016-05-20 11:22:55 -07:00
jacalvar a490cf13a6 [Fixes #4555] Assemblies with a transitive dependency to MVC are not included as part of the list of discovered assemblies 2016-05-20 11:18:34 -07:00
jacalvar b1054a28c7 [Fixes #4353] Cleanup application part discovery 2016-05-20 10:56:03 -07:00
Kiran Challa 93be3dee6e Fix FormTagHelper to set flag indicating generation of AntiforgeryToken
[Fixes #4595] Better error message with extraneous @Html.AntiforgeryToken
2016-05-20 04:29:01 -07:00
Kiran Challa 20a2e748ec Added ValueProviderFactories to ResourceFilterExecutingContext
This enables removing value provider factories from model binding(which is needed in some scenarios like large file uploads)
2016-05-20 04:15:07 -07:00
mnltejaswini d7ccea17ce [Perf] Refactoring ControllerActionInvoker to avoid coercing action method's return type to Task<object> for simple cases. Fixes #4539 2016-05-19 14:21:29 -07:00
Kiran Challa f7b2ee80fd [Fixes #4550] Add an Option to set the Razor view location formats 2016-05-19 14:04:33 -07:00
Pranav K 1de268d6a7 Remove DNX references from Microsoft.AspNetCore.Mvc.FunctionalTests
Fixes #4677
2016-05-19 12:09:19 -07:00
Pranav K 43c75c922e Allow functional tests with content to run from VS
Fixes #4543
2016-05-19 09:04:15 -07:00
Pranav K 61883b5101 Fix more schema warnings in Mvc 2016-05-18 18:25:45 -07:00
mnltejaswini 74357b3ed8 [Perf] Fast Generate Url for specific cases to avoid string allocations 2016-05-18 18:08:25 -07:00
Ryan Brandenburg 941da9264b Move ModelBindingHelper to Internal (#4664) 2016-05-18 16:52:43 -07:00