Commit Graph

1704 Commits

Author SHA1 Message Date
Ryan Nowak 1126d47b3e React to breaking changes in RouteBuilder 2015-12-14 14:40:38 -08:00
Ryan Nowak a2393f21be Adds ControllerBase to Mvc.Core
This change adds a base class for controllers to Mvc.Core that can be used
without a dependency on views, json, etc.

Most of the functionality on Controller moves to ControllerBase. I kept
the IActionFilter and IDisposable functionality on Controller since it's
not really a fit with the 'minimal' philosophy.
2015-12-14 10:29:55 -08:00
Ryan Nowak ad3c460500 React to breaking in IRouteConstraint 2015-12-14 10:08:09 -08:00
Ryan Nowak ee6ef3f25f Last part of #3676
Uses the correct IEnumerable<> in validation strategies
2015-12-14 08:52:44 -08:00
Doug Bunting 8a310b35a4 Update to latest `UseRequestLocalization()` signature
- build break

nit: add more trailing commas in init syntax
2015-12-11 22:58:13 -08:00
Pranav K 56c6975a21 Tweak CacheTagHelper sample to use a token provider service for
cache expiration.

Fixes #3573
2015-12-11 15:23:34 -08:00
Doug Bunting 19e6fb5719 MVC functional test cleanup part 1
- #3612 (subpart 1 of 2)
- delete six sites and associated tests entirely
  - `ActionResultsWebSite`
  - `ActivatorWebSite`
  - `ControllerDiscoveryConventionsWebSite`
  - `LoggingWebSite`
  - `LowercaseUrlsWebSite`
  - `ModelBindingWebSite`, now covered in integration tests
  - remove now-unused `FilteredDefaultAssemblyProviderFixture`, `LoggingAssert` and `LoggingExtensions`
- move six test web sites into `./samples`
  - `CustomRouteWebSite` -> `CustomRouteSample.Web`
  - `FormatFilterWebSite` -> `FormatFilterSample.Web`
  - `InlineConstraintsWebSite` -> `InlineConstraintSample.Web` (now singular)
  - `JsonPatchWebSite` -> `JsonPatchSample.Web`
  - `LocalizationWebSite` -> `LocalizationSample.Web`
  - `RazorEmbeddedViewsWebSite` -> `EmbeddedViewSample.Web` (no longer "Razor" and now singular)
  - do some cleanup: remove test dependencies, shorten sample controller names, use more attribute routing
- correct "license" spelling in `ApplicationModelWebSite`
2015-12-11 13:13:41 -08:00
ryanbrandenburg 3393ba43c2 * Parameters into the messages 2015-12-11 12:05:44 -08:00
Kiran Challa a208c95a4f Deleted stale files from earlier deleted test website UrlHelperWebSite 2015-12-11 11:12:52 -08:00
Ryan Nowak ed93a6c812 React to routing breaking changes 2015-12-11 09:30:51 -08:00
Kiran Challa f2bb90fa55 Fix localization tests 2015-12-10 22:37:20 -08:00
Kiran Challa 57b88baad0 [Fixes #3624] MVC functional test cleanup (part 2) 2015-12-10 16:26:39 -08:00
Pranav K 3a7c9c73ed Enabling CoreCLR tests on Travis 2015-12-09 15:20:15 -08:00
Ryan Nowak 96de1dbe4b Remove IExcludeTypeFilter
- Removes IExcludeTypeFilter
- Replaced with a property 'ValidateChildren' on ModelMetadata
- Teach ValidationVisitor to respect 'ValidateChildren' for enumerable
  types.
2015-12-09 12:30:13 -08:00
Ryan Nowak cf6662d0c3 Partial fix for #3676 - fix race in ElementMetadata
The accessor for ElementMetadata can sometimes return null when
concurrently accessed.

This change solves this issue and simplified a bunch of lazy-computed
properties, by precomputing all type-related facets of ModelMetadata.

This also adds a ElementType property to ModelMetadata to maintain
the current separation of concerns as ModelMetadata is unaware of the
metadata provider.
2015-12-09 08:21:18 -08:00
Pranav K 218613bc0a Reacting to Diagnostics changes 2015-12-08 15:10:59 -08:00
Kiran Challa ceaa9a9251 Add test coverage for Flags enum binding 2015-12-07 17:18:06 -08:00
John Luo f9f59fe58b Reacting to verbose rename 2015-12-07 14:50:54 -08:00
Ryan Nowak 09a293afe9 React to routing cleanup 2015-12-07 13:08:13 -08:00
David Fowler 99f501152b Remove dependency on ICompilationOptionsProvider
- Removed Configuration from RazorViewEngineOptions
- Added ParseOptions and CompilationOptions to RazorViewEngineOptions
2015-12-07 12:29:52 -08:00
Kristian Hellang e1bfc6b48e React to changes to FormFile 2015-12-04 20:40:39 +01:00
Pranav K ff34c5404a Implement a backing-buffer for Razor using pooled memory
Fixes #3532
2015-12-03 17:42:20 -08:00
Doug Bunting 1f76b3c7b7 Clean up remaining `HtmlString` usage
- #3122 and #3123 (5 of 5)
- avoid concatenating values and wrapping them in an `HtmlString`
  - switch from `string.Format()` to `AppendHtml()` in `LinkTagHelper`
  - simplify `RazorPage` and `TagHelperContentExtensions` e.g. don't use a `TagHelperContentWrapperTextWriter`
  - add some special cases in `UrlResolutionTagHelper`
- add `TagBuilder` and `StringHtmlContent` special cases to avoid `StringWriter` use when value is an `HtmlString`
- move `HtmlTextWriter` optimizations a bit lower and add missing checks for that type

nits:
- correct comments that incorrectly mention `HtmlString`s
- update comments in `JavaScriptStringArrayEncoder`
2015-12-03 15:37:44 -08:00
Kiran Challa dd774366f6 Addressed feedback 2015-12-03 14:42:14 -08:00
Kiran Challa 6712f9d9ff Deleted ValueProvidersWebSite and tests 2015-12-03 14:42:13 -08:00
Kiran Challa 9539c373ba Deleted ViewComponentWebSite and tests 2015-12-03 14:42:12 -08:00
Kiran Challa 9288ab1a34 Removed TempDataWebsite and merged to BasicWebsite and fixed tests 2015-12-03 14:42:11 -08:00
Kiran Challa 3c694ce77c Movig RequestServicesWebsite to BasicWebsite 2015-12-03 14:42:10 -08:00
Pavel Krymets 362c81e9bb React to abstraction changes 2015-12-03 14:26:43 -08:00
Pavel Krymets 046dcefd14 Add extensibility point to Razor compilation 2015-12-03 12:04:07 -08:00
Doug Bunting 42f3e764b0 Move logic from `HtmlLocalizer` to `LocalizedHtmlString`
- part of #3123 (4 of 5)
- `LocalizedHtmlString` should not subclass `HtmlString`; now implements `IHtmlContent`

nits:
- clean up a few doc comments
- remove duplicate tests reported while testing these fixes in VS
2015-12-02 18:39:37 -08:00
Ryan Nowak 9fc3a80056 Remove IActionContextAccessor from UrlHelper
This change removes the IActionContextAccessor as a dependency of
UrlHelper, and shifts UrlHelper to use a factory pattern. Consumers of
IUrlHelper should create an instance using the factory when needed.

This is the last part of MVC that has a dependency on IActionContext
accessor. As part of this change we no longer register it by default, and
treat it as an optional component.
2015-12-02 17:09:43 -08:00
Brennan 3062eea7d0 Dispose FileWatcher, MvcRazorHost, and ChunkTree 2015-12-02 13:07:45 -08:00
Pranav K 6ab9acc3f6 React to Microsoft.AspNet.Html namespace rename part 2 2015-12-02 11:32:21 -08:00
Pranav K 7e2eb16960 React to Microsoft.AspNet.Html namespace rename 2015-12-02 11:15:54 -08:00
Ryan Nowak 07085ca69b Remove IHttpContextAccessor from TempData
This change removes the dependency of TempData on the IHttpContextAccessor
by creating an ITempDataDictionaryFactory abstraction. In general, no one
will replace the factory, it's just indirection.

This allows us to drop our dependency on IHttpContextAccessor, and move it
to the functional tests where we specifically depend on it.

The bulk of code churn here is to update tests that use TempData.
2015-12-02 08:18:57 -08:00
Pranav K 70bdb6eb3e Removing CopyTo from RazorTextWriter 2015-12-01 12:37:11 -08:00
apxoht 7e1a6222aa Removed unused private method in DefaultActionSelector 2015-11-30 17:14:28 -08:00
Ryan Nowak 6875ee55d3 Remove Magic Link Generation
This change resolves #3512 and #3636 by removing 'magic' link generation
and adding an extension method to add routes to areas correctly using the new
pattern. This is pretty much exactly the same as how MapWebApiRoute works.

For site authors, we recommend adding area-specific routes in a way that
includes a default AND constraint for the area. Put your most specific
(for link generation) routes FIRST.

Ex:

  routes.MapRoute(
      "Admin/{controller}/{action}/{id?}",
      defaults: new { area = "Admin" },
      constraints: new { area = "Admin" });

The bulk of the changes here are to tests that unwittingly relied on the
old behavior.
2015-11-30 11:24:23 -08:00
ryanbrandenburg 91e837d465 * Debug log exceptions in JsonInput deserializing 2015-11-30 11:19:22 -08:00
ryanbrandenburg d22d6793ba * Include DisplayName in errorMessage 2015-11-30 11:18:14 -08:00
Pranav K c5346f7bf9 Use string.IsNullOrEmpty instead of string.IsNullOrWhitespace
Fixes #3593
2015-11-30 10:00:44 -08:00
N. Taylor Mullen 490fcf1ab4 Remove the use of `Linq` and unneeded enumerators from Mvc `TagHelper`s.
- Prior to this change we were using `Linq` throughout our `TagHelper`s which resulted excess allocations.
- Also went through our data structures and changed some from `Enumerable<T>` to `IList<T>` where we were just not exposing the more accessible types (list).
- Changed several locations of `foreach` to `for` to remove the enumerator allocation.

#3599
2015-11-25 21:31:24 -08:00
Ryan Nowak a14fdd8637 Remove FormatFilter dependency on IActionContextAccessor
This change simplifies IFormatFilter's API and removes the dependency on
IActionContext accessor.

The old API for IFormatFilter required computing state based on the
current request as part of the constructor, which in turn implied the use
of a context accessor. This isn't really needed. I didn't preserve caching of
the 'format' as that seems like an early optimization.
2015-11-25 17:01:16 -08:00
Ryan Nowak d8cc2b85d5 Adds ActionContext to Validation contexts
This change makes it possible to access the ActionContext/ActionDescriptor
from inside of validators and client validators.
2015-11-25 16:38:26 -08:00
Pranav K 017bf1a20f Changes to use moq-netcore 2015-11-25 16:04:04 -08:00
Ryan Nowak 0832365ec2 Adds ActionContext to OperationBindingContext
This change makes it possible to access the ActionContext/ActionDescriptor
from inside of modelbinding.
2015-11-25 15:17:09 -08:00
Kiran Challa 31e42ee312 [Fixes #3433] Invalid media type 'text/plain; charset=utf-8' 2015-11-25 10:50:40 -08:00
Ryan Nowak 4bcf236450 MVC companion to aspnet/Routing#238
This is a companion change to make the RouteValueDictionary type more
promient. Using the concrete type here allows to avoid allocations in a
lot of common scenarios.
2015-11-25 10:36:50 -08:00
Doug Bunting 6e299d695f Update `DefaultHtmlGenerator.GenerateAntiforgery()` to match latest `IAntiforgery.GetHtml()`
- #3123 (3 of 5 or so)
- react to rest of aspnet/Antiforgery@6a9b38d
  - remove `HtmlEncoder` from localization requirements
  - literal `hidden` is no longer HTML encoded (was a no-op anyhow)
2015-11-25 09:49:15 -08:00
Pranav K 79d517483b Removing PageInstrumentation
Fixes #3497
2015-11-25 08:41:21 -08:00
Pavel Krymets 5ef14e95b7 React to dnx confguration change 2015-11-24 11:54:10 -08:00
apxoht 1c34d88f4c Removed unnecessary dependency of IActionSelector in UrlHelper 2015-11-23 15:44:55 -08:00
ryanbrandenburg b6f8c523a8 * Remove MvcSample and replace with MvcSandbox 2015-11-23 11:53:48 -08:00
ryanbrandenburg 4a61dfec6d * Make HttpMethodConstraint case insensitive 2015-11-23 11:50:44 -08:00
Doug Bunting eb70b1c28c Remove `WebUtility` use and handle `IHtmlContent` return values from view components
- #3571 and part of #3123
- split `ContentViewComponentResult` in two
- add `HtmlEncoder` to `ViewComponentContext`
- remove use of `WebUtility.HtmlEncode()` and `HtmlDecode()`

nits: remove unused `using`s in files I had open
2015-11-23 11:12:44 -08:00
Doug Bunting 45ff0a269c Make `ModelBinderAttribute.BindingSource` setter `protected`
- #3428
- the `public` setter was not useful when this class is used as an attribute
- make property `virtual` to support other override patterns
- update existing test to use both override patterns
2015-11-20 16:31:27 -08:00
Ryan Nowak 8682fe0cfd Replace ActionBindingContext with ControllerContext
This change introduces ControllerContext for inside of Controllers, and
controller-specific extensibility points. ControllerContext carries with
it the model binding infrastructure needed to do all of the things that
controllers need to do.
2015-11-20 15:32:37 -08:00
Doug Bunting 62978229c4 Ease unit testing of `Controller.TryValidateModel()`
- #3586
- reverse conditions to access `_options.Value` only when test has set up an `IStringLocalizerFactory`
2015-11-20 10:37:07 -08:00
N. Taylor Mullen 2dc13b523d React to aspnet/Razor#358.
- Removed `WriteTagHelperAsync` methods from `RazorPage`.
- Moved `WriteTagHelperAsync` tests into Razor since `TagHelperOutput` is now an `IHtmlContent`.
- Updated code generation test files.

aspnet/Razor#358
2015-11-20 10:05:48 -08:00
John Luo d78abf267e Missed update when reacting to removing ApplicationServices from HttpContext 2015-11-19 21:07:33 -08:00
John Luo 46cd4ac1f0 Reacting to ApplicationServices removal from HttpContext 2015-11-19 16:32:58 -08:00
Pavel Krymets f25aab8df7 React to hosting changes 2015-11-19 16:12:50 -08:00
Doug Bunting 79d74127b9 Add temporary workarounds for aspnet/External#50 and aspnet/Mvc#3587 2015-11-19 15:50:00 -08:00
Ryan Nowak d6bda0ec11 CompilerCache should not compile multiple assemblies for the same page.
Fixes #3469
2015-11-19 15:12:15 -08:00
Pranav K 155bde0fcf Pass in the area name instead of the view name to a parameter that
requires an area name.

Fixes #3556
2015-11-18 17:50:14 -08:00
Doug Bunting 95b3d2c1dd Address PR comments
- removed `isMainPage` parameter to `GetPage()` and `FindPage()`
2015-11-18 15:59:46 -08:00
Doug Bunting 3be6167aa0 Switch concepts from misnamed `isPartial` to `isMainPage`
- `true` has the opposite meaning now but most changes are due to new parameters names in `IViewEngine`
  - use name names in `Microsoft.AspNet.Mvc.ViewFound` and not found events
- remove `IRazorPage.IsPartial` and `RazorView.IsPartial`
  - remove `IsPartial` properties from `Microsoft.AspNet.Mvc.Razor.BeginInstrumentationContext` and end events
- add parameter checks to `RazorView` constructor; instances are not retrieved from DI

nits:
- remove unused `cacheKey` parameter from `RazorViewEngine.CreateCacheResult()`
- correct duplicate test names in `RazorPageTest`
  - also `...OnPageExecutionListenerContext` -> `...OnPageExecutionContext`
2015-11-18 15:59:37 -08:00
Doug Bunting cf30bb730f PR comments and some smallish cleanup
- `IRazorViewEngine.MakePathAbsolute()` -> `GetAbsolutePath()`
- set `IsPartial` on all `IRazorPage` instances
- improve consistency of methods in `HtmlHelperPartialExtensions`
  - a couple unnecessarily passed `htmlHelper.ViewData`
  - add missing tests of these extension methods
- restore parameter checks in `CompositeViewEngine`
- reduce `List<string>` and remove enumerator allocations in `CompositeViewEngine`

nits:
- correct a few comments
- use `<seealso/>`
2015-11-18 15:59:28 -08:00
Doug Bunting d1fe824b5d Improve `SearchLocations` handling
- do not blindly use `FindPage()` / `FindView()` result in `Exception.Message` or returned results
  - failure scenarios involve new `Any()` calls but rarely additional `List<string>()` allocations
- change `ViewEngine_ViewNotFound` resource to be consistent with similar errors
  - remove trailing period at end of searched locations list

nit: remove remaining `null` checks of `SearchedLocations` in not found cases; never `null` then
2015-11-18 15:59:20 -08:00
Doug Bunting 08dd77d8c7 Add relative view path support
- #3307
- relative paths are now supported in `View()` calls from components and view components,
  `Html.PartialAsync()` and similar calls, and `RazorPage.Layout` settings.
  - support absolute paths, relative paths, and view location lookups consistently / everywhere
  - support view paths in `TemplateRenderer` e.g. passing an absolute path to `Html.EditorFor()`
- take a big swing at the `IRazorViewEngine` and `IViewEngine` interfaces
  - split lookups (view names) from navigation (view paths)
  - remove `Partial` separation; use parameters to set `IsPartial` properties
- correct `ViewContext` copy constructor and add unit test
- extend unit tests to cover relative paths
  - fix existing tests to handle newly-required extension in an absolute path
- add functional test that chains relative paths

nits:
- remove some YOLO line wrapping
- `""` -> `string.Empty`
2015-11-18 15:59:11 -08:00
Kiran Challa 85080ae621 Make Cors filters run before any other authorization filters 2015-11-18 10:51:49 -08:00
Kiran Challa 982c7abea8 [Fixes #3503] Removing formatters on a given type only works on collections in MVC options 2015-11-18 09:56:44 -08:00
Ryan Nowak a65a6a7cab React to change in Razor 2015-11-18 09:53:24 -08:00
Pranav K b520b0cb22 Limit [FromServices] to apply only to parameters
Fixes #3507
2015-11-17 16:41:04 -08:00
herecydev db94a8ed19 Removed redundant null checks and tested logging 2015-11-17 15:32:54 -08:00
Ajay Bhargav Baaskaran 01102bba3f Moving Attribute Routing to Routing 2015-11-17 11:02:58 -08:00
Ryan Nowak e75eebbed0 Pool JsonSerializer for Output formatting 2015-11-16 10:43:02 -08:00
Pranav K f6270de387 Updating Microsoft.AspNet.Mvc.WebApiCompatShimTest to use Microsoft.Extensions.DependencyInjection 2015-11-13 13:40:31 -08:00
Pranav K e8427349a1 Missed one type in DI reaction 2015-11-13 11:12:50 -08:00
Pranav K 292207d17d Reacting to DependencyInjection changes 2015-11-13 10:47:34 -08:00
Ajay Bhargav Baaskaran b8b222b295 Replace InnerAttributeRoute with TreeRouter 2015-11-12 15:52:51 -08:00
ryanbrandenburg b8d58133c3 * Add NoContent Factory to Controller 2015-11-12 14:56:05 -08:00
N. Taylor Mullen a1af85beb7 Remove System beta tag in project.json for coreclr packages. 2015-11-12 12:24:39 -08:00
Cesar Blum Silveira 4a68550e50 Merge branch 'release' into dev 2015-11-11 10:59:32 -08:00
Kirthi Krishnamraju 454ff9f52a fix #3414 : RegularExpressionAttribute generates wrong data-val-regex message 2015-11-10 10:27:53 -08:00
Pranav K 380a93d370 Redesign RazorViewEngine caching
Fixes #3337
2015-11-10 10:18:25 -08:00
Doug Bunting 845b86963e Fix build break: React to aspnet/Hosting@660f1ca 2015-11-09 21:09:21 -08:00
Ryan Nowak ece6ecde45 Add buffer pooling to JsonResult 2015-11-09 15:43:33 -08:00
Kirthi Krishnamraju 3da2c35e3e fix #2819: Add more unit tests for ViewLocalizer and HtmlLocalizer 2015-11-09 10:54:56 -08:00
Pranav K d17db92e19 Log messages to DiagnosticListener in addition to page instrumentation
Fixes #3281
2015-11-09 10:24:49 -08:00
Pavel Krymets 737a8f3b1d Make Compilation Abstractions naming consistent with Platform Abstractions 2015-11-06 15:53:08 -08:00
N. Taylor Mullen d564a4a96b React to aspnet/Razor#561.
- `TagHelper` directives no longer have quotes.
- Regenerated test output.
2015-11-06 12:31:55 -08:00
Ajay Bhargav Baaskaran 1927730f40 [Fixes #3426] Removed defensive copy in CompositeModelBinder and CompositeModelValidatorProvider 2015-11-06 12:21:08 -08:00
N. Taylor Mullen decf882341 Update `LinkTagHelper`s `meta` tag to be w3c compliant.
- Prior to this change the `<meta ...>` generated had a name attribute. As an alternative we're using the `content` attribute in conjunction with the `name` attribute to ensure compliance.

#3449
2015-11-06 12:15:55 -08:00
Ajay Bhargav Baaskaran f7a211c095 Removed use of LINQ and added some optimizations in ValidationVisitor 2015-11-06 11:56:52 -08:00
N. Taylor Mullen bebd3dc9a0 Update test files to showcase block level Razor statements in attributes.
- Block level Razor statements in attributes used to not work. Added a few use cases to ensure that they're properly tested.

aspnet/Razor#594
2015-11-06 11:11:40 -08:00
Kiran Challa 5364468001 [Fixes #3177] Clean up logic for encoding in ViewResult and friends 2015-11-06 10:44:09 -08:00
ryanbrandenburg cd761a644d * Adding test 2015-11-04 13:55:02 -08:00
Pranav K 940fb7ba78 Adding Controller.Challenge and Controller.Forbid 2015-11-04 09:57:19 -08:00
Cesar Blum Silveira 9dba871108 Strong name everything. 2015-11-03 21:16:49 -08:00
Pavel Krymets b4b29e71d6 Rename Microsoft.Dnx.Compilation.Abstractions to Microsoft.Extensions.Compilation.Abstractions 2015-11-03 12:42:28 -08:00
Ryan Nowak 8bc0056c85 Fix breaking changes to functional tests 2015-11-02 18:46:54 -08:00
Ryan Nowak 32da2b8c46 Fix breaking changes from HttpAbstractions 2015-11-02 18:19:10 -08:00
Ryan Nowak e2c2676042 Add InputFormatter buffer pooling 2015-11-02 14:36:59 -08:00
Doug Bunting ff91e796c1 Revert "Fixing tests"
- wrong fix especially now that test encoders work as expected
- touch up `HtmlHelperTest` and `RazorViewTest` since test encoders are now consistent
- remove references to old `Microsoft.Extensions.WebEncoders.Testing` package

This reverts commit a9d5876cd9.
- but leave `FormTagHelperTest` and `ValidationMessageTagHelperTest` cleanup alone

nit: use `string.Empty` in `HtmlHelperLinkGenerationTest`
2015-11-02 09:45:56 -08:00
Pranav K c0b9dd1208 Reacting to RequestDelegate rename 2015-10-30 19:00:26 -07:00
Pranav K a9d5876cd9 Fixing tests 2015-10-30 18:58:33 -07:00
Chris R 52f4a83139 React to WebEncoders changes. 2015-10-30 17:59:19 -07:00
Doug Bunting 53060be2d7 Content negotiation fails in subsequent requests accepting same media type
- #3140
- clone `MediaTypeHeaderValue` instance before updating it when content negotiation succeeds
  - avoids changes to `MediaTypeConstants` properties and `OutputFormatter.SupportedMediaTypes` entries
  - `MediaTypeHeaderValue.Clone()` does not exist in our DNX Core fork of this class
  - in previous implementation, was called defensively rather than when required
- update `WebApiCompatShimBasicTest` functional tests to use `MvcTestFixture<TStartup>` everywhere
  - #3140 blocked that final migration
  - remove `TestHelper` since it's no longer referenced

nits:
- remove comments mentioning `TestHelper`
- correct spelling of "negotiation"
2015-10-30 14:10:31 -07:00
ryanbrandenburg 5763eb580a * Move logging to new style 2015-10-30 12:43:17 -07:00
Pranav K 08be63c3fc Add ForbiddenResult
Fixes #3242
2015-10-30 10:13:58 -07:00
Ryan Nowak 1312ed8b71 Remove Linq and boxed Enumerator allocations from conneg 2015-10-29 18:40:22 -07:00
N. Taylor Mullen 5ad1a27f6e React to aspnet/Razor#580.
- Updated `MvcRazorHost` to configure `Type` full names.
- Updated code generation tests.
2015-10-29 16:26:00 -07:00
N. Taylor Mullen 33b37d6554 React to aspnet/Razor#196.
- Razor `TagHelper`s now special case `enum` values so you don't need to provide the entire `enum` prefix.
2015-10-29 10:06:43 -07:00
Doug Bunting a69a7a6940 Simplify instrumentation confirmations in `RazorPageExecutionInstrumentationTest`
- test class can now use the `MvcTestFixture`
  - #3139 part 3 of 3
- dump instrumentation data at end of `_Layout.cshtml`
  - include `FilePath` in display
  - compare against new `.html` resource

nits:
- normalize line endings to CRLF for consistency with other tests
- add `InstrumentionData` to avoid `Tuple`
- make `TestPageExecutionContext` class `private`
- remove newly-unused actions and associated `.cshtml` files
2015-10-28 16:45:30 -07:00
Doug Bunting dc32f8ae33 PR comments: Restore most of `PrecompilationTest.PrecompiledView_RendersCorrectly()` 2015-10-28 16:40:28 -07:00
Doug Bunting c8c0c5303e Remove more `TestHelper` functional tests
- remove tests already thoroughly covered in unit tests
  - #3139 part 2 of 3
- make checks of `<form>` tag helper more consistent with others
  - use a tag helper initializer but testing every variant; covered in unit tests
- remove `MvcStartupTest` and associated web site
  - scenario covered elsewhere
- remove `PrecompilationTest.PrecompiledView_RendersCorrectly()`
  - scenario covered elsewhere and shouldn't do I/O on checked-in files
2015-10-28 16:40:13 -07:00
Doug Bunting ff19702db5 Remove `WaitService`
- use `MvcTestFixture` instead of `TestHelper`
  - part of #3139
- continue to test e2e interaction of `FlushAsync()` with sections, partials, et cetera
- remove `FlushPointTest.FlushBeforeCallingLayout()`
  - `RazorPageTest.FlushAsync_ThrowsIfTheLayoutHasBeenSet()` unit test covers the scenario
2015-10-28 15:47:16 -07:00
Pranav K 0fedda5855 Allow enums to be serialized by SessionStateTempDataProvider
Fixes #3141
2015-10-24 08:16:19 -07:00
あまみや ゆうこ 38818a1033 Remove Microsoft.AspNet.Server.IIS from test Websites 2015-10-24 08:04:00 -07:00
Ryan Nowak ec2abc8ae0 Add logging of elapsed time for the action. 2015-10-23 15:35:31 -07:00
Ajay Bhargav Baaskaran eb398c811d Added LocalRedirectresult
- Fixes #3346
- Added helper method in controller
- Added relevant tests
2015-10-23 12:58:41 -07:00
Ajay Bhargav Baaskaran 624c918de5 [Fixes #3274] Added DiagnosticsSource for ViewComponent 2015-10-23 12:51:12 -07:00
Ryan Nowak bcde82cf62 Use buffer pooling in IOutputFormatters 2015-10-23 08:10:30 -07:00
Kirthi Krishnamraju 9658060019 React to aspnet/Localization#111 2015-10-23 01:47:29 -07:00
Pavel Krymets 4e8c543489 Rename Microsoft.Runtime.Abstractions to Microsoft.Extensions.PlatformAbstractions 2015-10-22 19:48:55 -07:00
ryanbrandenburg 0b8fe87596 * Allow null ViewData and TempData 2015-10-22 17:28:26 -07:00
N. Taylor Mullen 911dfc57b0 Transition `SelectTagHelper` and `OptionTagHelper` to use `context.Items`.
- Added functional tests to validate data created from a `SelectTagHelper` does not impact following `<select>` tags.
- Also moved the new `SelectTagHelper` communication flow into `TagHelper.Init`.

#3347
2015-10-22 17:17:01 -07:00
Doug Bunting c267ef3904 Rename `AppendEncoded()` to `AppendHtml()` and `SetContentEncoded()` to `SetHtmlContent()`
- #3225, 3 of 3
2015-10-22 16:57:47 -07:00
N. Taylor Mullen 2b9dae572e Fixed test build break. 2015-10-22 16:45:33 -07:00
Doug Bunting 40b7636b72 Use `ModelMetadata.GetDisplayName()` in error message replacing `FormatException` and `OverflowException`
- #3227
- much of change is to tests, creating and passing `ModelMetadata`
- updated `InputFormatterContext` to make `ModelMetadata` available to `JsonInputFormatter`
  - walk `ModelMetadata` tree to get information about property with an issue
- add missing `null` checks in `ModelStateDictionaryExtensions`
2015-10-22 15:50:36 -07:00
N. Taylor Mullen 9b9d72f3f7 Remove unneeded namespaces.
aspnet/Razor#578
2015-10-22 15:34:40 -07:00
N. Taylor Mullen 0ae83a25e9 React to aspnet/Razor#571.
- Changed all `GetChildContentAsync` calls to come from `TagHelperOutput` instead of `TagHelperContext`.
- Updated `ReaderAtEndOfFormTagHelper` to properly detect changes inside of a `Form`s body by calling the `Init` method.
- Add test to `RenderAtEndOfFormTagHelperTest`.

aspnet/Razor#571
2015-10-22 14:51:14 -07:00
N. Taylor Mullen 0e25470660 React to aspnet/Razor#578. 2015-10-22 14:41:40 -07:00
Pavel Krymets 11043cfda2 Remove another usage of CallContextServiceLocator 2015-10-22 14:12:52 -07:00
Pavel Krymets 84bfb8da3b Remove CallContextServiceLocator usages in tests 2015-10-22 12:15:48 -07:00
Ryan Nowak f2af02b1cb Improve logging behavior for actions scope 2015-10-22 11:23:04 -07:00
Chris R 5fd7d58ccd React to IHostingEnvironment initialization changes. 2015-10-22 08:39:16 -07:00
Hao Kung 8a2694dd46 React to AuthZ namespace changes 2015-10-21 16:48:07 -07:00
ryanbrandenburg da731fc641 Add logging to ActionResults and ControllerActionInvoker 2015-10-21 13:16:14 -07:00
Pavel Krymets 5bb9759166 react to dnx di changes 2015-10-21 11:43:39 -07:00
Ryan Nowak 800e46eed4 Fix failures in StringOutputFormatter functional tests
The missing piece here is is that StringOutputFormatter needs to set the
ContentType so that it gets overridden. The problem is that the formatter
is likely called with something like application/json, but decides to
write a string anyway. So because we're saying 'yes we can write' we also
need to override what we're writing.
2015-10-20 22:12:21 -07:00
Eilon Lipton 55b72c04bf Add high-pri doc comments for views, controllers, HTML helpers, Startup 2015-10-20 18:24:56 -07:00
Ryan Nowak 38b65875db Refactor of OutputFormattterContext 2015-10-20 18:05:57 -07:00
Ryan Nowak d584bcabcf React to changes in Authz 2015-10-20 17:45:02 -07:00
Pranav K 8b0c157296 Rename ModelState (the type) -> ModelStateEntry
Fixes #3326
2015-10-20 16:43:00 -07:00
Ryan Nowak 173f00fda7 Update to use DiagnosticSource 2015-10-20 11:47:29 -07:00
Ryan Nowak 054b39013c Reduce allocations in MSD enumeration 2015-10-20 10:35:16 -07:00
Ryan Nowak 6985015e2d Fix test breaks in WebAPI shim
This hasn't hit universe yet, but these needed to change with the
ObjectResult refactor
2015-10-19 18:00:02 -07:00
Kirthi Krishnamraju 82cba7c0b2 react to aspnet/localization #90 2015-10-19 16:15:57 -07:00
Ryan Nowak 06cc58663e Move implementation of ObjectResult into a facade 2015-10-19 11:56:03 -07:00
Ajay Bhargav Baaskaran 6bd97c7c30 Moving AllowAnonymous attribute to Authorization 2015-10-19 11:01:15 -07:00
Pranav K f4a6d634b5 Modify ViewStartUtility to generate always view paths with forward slashes
Fixes #3294
2015-10-19 10:33:05 -07:00
N. Taylor Mullen e943cdb57a React to aspnet/Razor#569 2015-10-16 15:09:31 -07:00
unknown 6a4da5d795 PhysicalFileResult throws NotSupported on path not rooted 2015-10-16 13:31:52 -07:00
Ryan Nowak 32645e93c8 Add expression rewriting to Razor
This change rewrites simple and safe Expression<Func<T, U>> expressions
into accesses to readonly fields. This allows us to cache the actual
expression and avoid repeatedly allocating and compiling it.

The rewrite is limited to cases where we know that the expression doesn't
capture, and where we support that kind of expression for evaluating
viewdata. In practice this means 'indentity' and property accessors are
allowed.
2015-10-16 12:28:50 -07:00
Ajay Bhargav Baaskaran 6ef2fe44ca [Fixes #3250] Remove RouteGroup from RouteValues 2015-10-16 10:57:22 -07:00
Kiran Challa fbf66168fe React to Cors api review changes 2015-10-15 13:05:08 -07:00
Hao Kung fd17481a73 React to AuthZ changes 2015-10-14 17:04:31 -07:00
Pranav K 2dcec8fe51 React to Kestrel package rename
Fixes #3323
2015-10-14 16:39:13 -07:00
Ajay Bhargav Baaskaran d40e6612a4 Moving the order of generated hidden tags for checkbox to end of the form
- #2994
- Affects both HtmlHelper and TagHelper scenarios
- Checkboxes not enclosed in a form will generate inline hidden tags
- Added necessary properties to FormContext
- Added some functional and unit tests
2015-10-14 15:43:13 -07:00
Doug Bunting 03625c38af Correct polarity of MediaTypeHeaderValue.IsSubsetOf()` checks and remove one conneg fallback
- aspnet/Mvc#3138 part 2/2
- request's Content-Type header must be a subset of what an `IInputFormatter` can consume
  - `[Consumes]` is similar
- what an `IOutputFormatter` produces must be a subset of the request's Accept header
  - `FormatFilter` and `ObjectResult` are similar
- `ObjectResult` no longer falls back to `Content-Type` header if no `Accept` value is acceptable
- left `WebApiCompatShim` code alone for consistency with down-level `System.Net.Http.Formatting`
- correct tests to match new behaviour
  - do not test `Accept` values containing a `charset` parameter; that case is not valid

WIP:
- four test failures; something about comparing media types w/ charset included
- why do some localization tests fail in VS?

nits:
- add `InputFormatterTests`
- add / update comments and doc comments
- correct xUnit attributes in `ActionResultTest`; odd it doesn't show up in command-line runs
2015-10-14 11:59:20 -07:00
Doug Bunting 2e2043f427 Test `[FromServices]` with service that is not available
- test `[FromServices]` for a defined type without a `BinderModelName`
- test `[FromServices]` for a service not available in DI
- test `[FromServices]` for `IEnumerable<TService>` properties

nit: correct name of `ServicesModelBinderTest` to match the model binder class
2015-10-14 11:46:11 -07:00
Doug Bunting 9aed5efd51 Add `null` checks for MVC tag helpers 2015-10-14 11:27:25 -07:00
Pranav K 0309a5216c Add an option to RazorPrecompileModule to allow conditional compilation
based on Configuration.

Fixes #3276
2015-10-12 11:59:55 -07:00
Doug Bunting 35d176f5b2 Update DNX Core on Linux workarounds
- remove skip conditions for aspnet/External#33, aspnet/External#41, aspnet/External#42, aspnet/External#43
- add workaround for aspnet/External#47; avoid "g" custom datetime format specifier
- make tag helper execution order determinate in `TagHelpersWebSite`

Will test DNX Core in Travis builds (use `--test-dnxcore`) once aspnet/Universe#290 fix is in.

nits:
- remove useless `using`s for `Microsoft.AspNet.Razor.TagHelpers`
2015-10-10 23:09:51 -07:00
Ryan Nowak 9342cb0ab7 Suppress [Obsolete] warnings from DiagnosticSource 2015-10-08 12:47:08 -07:00
Pranav K 91cb6281e4 Using @inherits and @model together gives intellisense errors
Fixes #3243
2015-10-08 11:02:20 -07:00
Pranav K 18912b9530 Removing NotNullAttribute.Sources references that were left behind 2015-10-06 17:36:46 -07:00
Pranav K 30f5826380 Use Type.GetMethod in ViewComponentMethodSelector
Fixes #3211
2015-10-06 16:21:56 -07:00
Ryan Nowak 0dadf56fc8 Reducing allocations in value providers
- Don't go async in formdata providers unless we need to
- Remove unnecessary defensive copy in CompositeValueProvider
2015-10-06 14:25:19 -07:00
Pranav K 04d72d8894 Simplify FileResult
Fixes #3249
2015-10-06 11:26:56 -07:00
Pranav K a602d548e2 Allow ViewFeature tests to run in dnxcore50 2015-10-06 09:46:49 -07:00
Ryan Nowak ad3c257ef5 Fix for #3252 - Issues with pooled buffer + unicode
- Dispose buffers when Flush throws inside the Dispose method
- Compute size of buffers correctly
- Throw earlier when handed invalid-sized buffers
2015-10-05 09:45:23 -07:00
Pranav K f57e180971 Renaming Microsoft.Framework.* -> Microsoft.Extensions.* 2015-10-03 15:44:53 -07:00
Pranav K 8d7b95655d Removing Autofac dependency 2015-10-03 12:18:19 -07:00
Ryan Nowak 6185b16795 Custom dictionary type for attributes 2015-10-02 18:08:58 -07:00
Ryan Nowak 4e08eda58d Use pooled memory for the streamwriter 2015-10-02 14:35:15 -07:00
Ryan Nowak 306776ff63 Minor cleanup/refactor of ViewResult
- Make ViewExecutor a service
- Add facades for ViewResult/PartialViewResult
- Add eventing for ViewFound/NotFound in PartialViewResult
- Add eventing around view execution
- Cleanup of some various eventing & our tests code
2015-10-02 08:18:00 -07:00
Kiran Challa eef6c3883a Renamed PhysicalFileProviderResult and VirtualFileProviderResult to PhysicalFileResult and VirtualFileResult respectively 2015-10-01 19:57:35 -07:00
Kiran Challa 130d94eb7e [Fixes #3068] TempData fails silently without sessions middleware 2015-10-01 19:28:46 -07:00
Pranav K 2028351bb8 React to WriteAttribute \ AddHtmlAttribute API changes 2015-10-01 10:19:14 -07:00
Pranav K 5a705d820d Replacing NotNullAttribute with thrown exceptions 2015-10-01 08:23:21 -07:00
Pranav K 3a876e387f Replacing NotNullAttribute with thrown exceptions 2015-10-01 06:19:18 -07:00
Kirthi Krishnamraju fa5f9399e8 Remove mono check from localization test 2015-09-30 11:44:00 -07:00
Ajay Bhargav Baaskaran eefa58e617 [Fixes #3043] Overflow exceptions converted to invalid value messages 2015-09-29 16:24:19 -07:00
Gerardo Melendrez f162f70c1e Fixed typo (occured to occurred) in comments and resources. 2015-09-29 10:19:26 -07:00
Stefán Jökull Sigurðarson c713aa92ca Making the HtmlHelper.GetEnumSelectList take DisplayAttribute.GroupName into account to create select groups. 2015-09-29 09:53:48 -07:00
Doug Bunting 28aec3f5cc Support user overrides of system-provided `ModelError` messages
- #2969
- add `ModelBindingMessages` for configuration and `IBindingMetadataProvider` overrides
  - use `interface` to avoid `new` oddities when adding a setter to an `abstract` property
- add `IModelBindingMessages` to `ModelMetadata` for use in rest of the product code
- plumb the various bits through the system
- add integration tests using a custom `IBindingMetadataProvider`s to override messages

nits:
- remove unused resources
- use `AttemptedValue` and not `model` in `SimpleTypeModelBinder`
2015-09-28 15:50:21 -07:00
Ryan Nowak 0d6edf240a Move ModelExplorer to ViewFeatures 2015-09-28 14:14:40 -07:00
Søren Kruse ec18b35123 Add FormatterCollection<T>
#2945
2015-09-28 13:23:19 -07:00
Pranav K 18c80d156c Replace NotNullAttribute with thrown exceptions 2015-09-26 23:48:43 -07:00
Doug Bunting eff10cdd66 Move `ModelStateDictionaryExtensions` into `Microsoft.AspNet.Mvc.ModelBinding` namespace
- missed the inconsistency when reviewing
- kept class in ViewFeatures assembly because it depends on `ExpressionHelper`

nit: wrap some long lines
2015-09-26 18:15:04 -07:00
Muchiachio b28debf442 Generic ModelStateDictionary add and remove extensions
- Added generic add model error and remove extensions for
ModelStateDictionary, to avoid using hard coded strings then specifying
model state dictionary keys.
- Added generic removal all  extension for ModelStateDictionary, to
support removing all the model state keys for given expression.

aspnet/Mvc#3164
2015-09-26 18:14:58 -07:00
Pranav K 6a0a24481a Asynchronously flush the HttpResponseStreamWriter after a view has been rendered.
This solves a perf issue for views which produce content that is smaller
than the buffer size of HttpResponseStreamWriter. In this case, the writer
ends up synchronously writing to the Response as part of Dispose which
affects perf.
2015-09-25 21:07:15 -07:00
Ryan Nowak 8a502dbe5d Rewrite of validation 2015-09-25 16:56:42 -07:00
Kirthi Krishnamraju 0889b18f95 Add localizers to validation attributes 2015-09-25 16:13:21 -07:00
Nero Sule 49acfd562e Adds common interfaces around Models (Implements #3158) 2015-09-25 11:10:59 -07:00
Ajay Bhargav Baaskaran 9c81b95d1b Renamed Controller.Context to Controller.HttpContext
- #3165
2015-09-25 11:01:30 -07:00
Ryan Nowak 5a80435534 API Review - Move ModelBindingHelper 2015-09-25 09:59:56 -07:00
Kirthi Krishnamraju ed509f65a2 fix #2747: Fix Mvc localization test once dnx support reading resources 2015-09-24 12:53:20 -07:00
Pranav K 1833e06984 TModel substitution in Razor pages has broken intellisense
Fixes #3185
2015-09-23 17:47:52 -07:00
Pranav K ff4100e292 Generate an expression to create line mappings for ModelChunk directives 2015-09-23 16:14:29 -07:00
Pranav K 89f58aa49f Allow @model specified in a page work with @inherits directive in
_ViewImports

Fixes #3144
2015-09-23 12:10:10 -07:00
Ryan Nowak 80add92de8 React to removal of TagHelperContent.ToString()
Avoid calling ToString on a TagHelperContent.

Also react to new properties on TagHelperCodeGenerationContext
2015-09-23 11:09:27 -07:00
Doug Bunting d8d0a1ab89 Rename `ModelMetadata.IsCollectionType` and add "real" `ModelMetadata.IsCollectionType`
- #3022
- existing `IsCollectionType` -> `IsEnumerableType`
- use new `IsCollectionType` in a few places
2015-09-22 19:05:40 -07:00
Pranav K 1574637a6a Reacting to Microsoft.AspNet.Cors version change 2015-09-22 11:26:04 -07:00
Pranav K 9eb2c5b810 Reacting to IExpirationTrigger -> IChangeToken rename 2015-09-22 08:14:34 -07:00
Ryan Nowak b544aabfdb Fix #3111 - Don't trounce content-type in VCR
This change makes ViewComponentResult respect an existing Content-Type
setting on the HttpResponse. Code is very similar to the code in
ViewExector, and includes the same quirks.
2015-09-21 23:20:20 -07:00
Ryan Nowak a318c4599a API Review - Split up .Actions
Abstractions - Core MVC extensibility

Controllers - MVC implementations of .Abstractions and supporting
contracts

Infrastructure - General purpose support APIs. Metadata APIs that don't
fit clearly with a feature or with .Abstraction
2015-09-21 21:54:02 -07:00
Pranav K f045c6792b Allow _ViewImports to remove default inherited tag helpers.
Additionally simplifying the contract for
ChunkInheritaceUtility\IChunkMerger so we don't have to understand the
order in which CodeTrees appear.
2015-09-21 14:53:24 -07:00
Ryan Nowak f4c5e31ec1 Remove JsonPatch from MVC
JsonPatch is moving to https://github.com/aspnet/JsonPatch
2015-09-21 11:14:40 -07:00
Pranav K 66a04c2fd6 Replacing NotNullAttribute with thrown exceptions 2015-09-21 10:26:14 -07:00
Ryan Nowak 9badd9386e API-Review Strongly-typed collections for a few options types.
We don't want these extensions methods defined in a wierd namespace, it's
straightforward and future-proof to just make these strongly-typed
collections.
2015-09-20 22:11:22 -07:00
Doug Bunting 895258d550 Work around aspnet/External#33, aspnet/External#41, aspnet/External#42, and aspnet/External#43
- do not run tests that hit known issues with Core CLR on Linux
2015-09-20 21:42:12 -07:00
Doug Bunting c67ea208b2 [quick fix] Remove `version` property from `project.json` for LoggingWebSite
- avoid warning when building Microsoft.AspNet.Mvc.FunctionalTests project
- now consistent w/ other web sites in this repo
  - all but MvcMinimalSample.Web and that isn't used in functional tests
2015-09-20 21:38:08 -07:00
Ryan Nowak 4d55a6e62d API review - remove DefaultOrder
No change in behavior intended, removing this from our public API.
2015-09-20 21:11:57 -07:00
Doug Bunting 42017faa21 Add `InputFormatterResult` and `InputFormatterContext.ModelName`
- #2722
- make communication of errors from formatters to `BodyModelBinder` explicit
  - `JsonInputFormatter` now adds errors to `ModelStateDictionary` with correct key
- change `InputFormatter.SelectCharacterEncoding()` to add an error and return `null` when it fails
  - one less `Exception` case and removes some duplicate code

nits:
- improve some doc comments (more `<inheritdoc/>`, `<paramref/>` and `<see/>`)
- add another two `BodyValidationIntegrationTests` tests
2015-09-19 21:36:38 -07:00
Doug Bunting 0476d53f1d [quick fix] Allow `TestCommon` project to build successfully
- otherwise may fail in VS or when using `BuildV2` from the command line
2015-09-18 16:45:01 -07:00
Kiran Challa b7382dc6c3 Fix Razor test compilation failure 2015-09-17 16:47:07 -07:00
Pranav K 4874677807 Fixing CI build failure 2015-09-17 16:10:36 -07:00
Kiran Challa f3e537ddcb Reacting to TestHost changes 2015-09-17 16:08:23 -07:00
Pranav K 7b433820b1 Changes per PR comments
Reformatting parameter identation
2015-09-17 15:42:58 -07:00
Pranav K a68d9e4cb1 Replace NotNullAttribute with thrown exceptions 2015-09-17 11:56:44 -07:00
Ryan Nowak ef730790d4 Fix tests broken by renames 2015-09-17 07:40:15 -07:00
Ryan Nowak 538cd9c191 Move less-commonly used types out of .Rendering 2015-09-16 23:52:29 -07:00
Ryan Nowak 046cb976b3 Move ActionResult classes back to main namespace 2015-09-16 21:42:31 -07:00
Pranav K 1c4614c219 Avoid allocating strings in DefaultViewLocationCache
Fixes #3135
2015-09-16 17:28:40 -07:00
Pranav K 00075520b4 Razor CompilerCache allocates too much in NormalizePath
Fixes #3035
2015-09-16 16:55:51 -07:00
Ryan Nowak 9a15b54d30 Flow IHtmlContent through to the razor buffer 2015-09-16 16:17:40 -07:00
Ryan Nowak a707311d9e Fix #3087 - use IHtmlContentBuilder in TagBuilder
Improves authoring experience when using TagBuilder by taking advantage of
IHtmlContentBuilder an its extension methods.

TagBuilder.InnerHtml is no longer settable.
2015-09-16 10:03:03 -07:00
Doug Bunting d03a851ab3 Use `MvcTextFixture` as much as possible
- #3066
  - reduce `TestServer` -> `PhysicalFileProvider` -> `FileSystemWatcher` count enough to run with Core CLR on Linux
- remove use of `HttpClient.DefaultRequestHeaders`; any client change affects other tests
- remove use of `RequestBuilder` class; creates a per-test `HttpClient` and requires the `TestServer`
- updated a few expectations because `CommonTestEncoder` does JavaScript a bit differently
  - "JavaScriptEncode[[...]]" -> "JavaScriptStringEncode[[...]]"
- side benefit: xUnit reports functional tests execute for only ~12.4s; was >30s before this change

Infrastructure: Enhance `MvcTestFixture`
- handle `ConfigureServices()` methods that are not `void`
- handle `Configure(IApplicationBuilder, ILoggerFactory)`
- ensure server is initialized with consistent `CurrentCulture` and `CurrentUICulture`
- add `FilteredDefaultAssemblyProviderFixture<TStartup>` and `MvcEncodedTestFixture<TStartup>`
  - add `MvcTextFixture.AddAdditionalServices()` extension point supporting these

- do not expose the `TestServer`; an anti-pattern for tests to manipulate the server
- update class names to match containing files
- use existing `TestApplicationEnvironment`
  - apply some `MvcTestFixture` improvements to the shared `TestApplicationEnvironment` class
- remove unused methods from `TestHelper`

nits:
- touched-up some leftover `_app` &c declarations to be more explicit and minimize `using`s
- moved statements into correct sections of methods in `RoutingTests`
- removed `TestLoggerFactory` and related classes from `TagHelperSampleTest`
2015-09-15 10:18:27 -07:00
Doug Bunting 6459fb0e30 Do not execute no-op tests
- consistently use `TestPlatformHelper` only to skip test cases or change expectations
2015-09-14 15:30:45 -07:00
Pranav K 887ab64d75 Throw an exception if layouts have circular references.
Fixes #3100
2015-09-14 12:57:06 -07:00
Kiran Challa c79469c3b3 React to Cors api changes 2015-09-14 11:21:40 -07:00
N. Taylor Mullen 93735a5be6 React to Razor `TargetElementAttribute` rename.
aspnet/Razor#516
2015-09-13 19:14:30 -07:00
Ryan Nowak 94388a8804 React to BufferedHtmlContent changes 2015-09-13 13:51:53 -07:00
Ajay Bhargav Baaskaran 14bdaf2db6 React to aspnet/Razor#485 2015-09-10 17:24:35 -07:00
N. Taylor Mullen 7cbcbae5e7 Disable test due to mono bug on Mac. 2015-09-10 12:45:31 -07:00
Kiran Challa 62c0eb3f02 React to errorhandler and errorpage extension name changes 2015-09-10 12:30:16 -07:00
Doug Bunting 271e19e61a Remove use of `IsMono` to no-op a test
- use `[ConditionalFact]` or `[ConditionalTheory]` instead
  - in some cases test was already conditional
- move other `IsMono` checks into data sets where possible
  - not reported as skipped but at least not counted as successful

nit: switch from `[ConditionalTheory]` to `[ConditionalFact]` as appropriate
- slightly more efficient since xUnit won't check for data
2015-09-10 11:55:51 -07:00
Doug Bunting 902e42817d Remove duplicate test data 2015-09-10 11:55:44 -07:00
Pranav K d25d9704f7 Using test setup pattern from aspnet/Stress. 2015-09-10 11:42:30 -07:00
Pranav K 2e32ffc004 Use PrecompilationTagHelperTypeResolver to locate TagHelpers during
precompilation.

Fixes #2298
2015-09-09 18:25:11 -07:00
KevinDockx 894574d04e Implement Replace Move and Copy for dynamic objects 2015-09-08 22:09:44 -07:00
Doug Bunting ae57844c6a Make a few arrays explicitly `object[]`
- react to aspnet/aspnet.xunit#13
- latest xUnit bits maintains array types correctly, failing some `Type`-related assertions
  - previous xUnit versions mapped all arrays to `object[]`
  - fix likely part of xunit/xunit@bd6814c
2015-09-08 21:44:32 -07:00
Ryan Nowak a6aaef0d63 Optimize async code in model binders
Optimize the 'no-op' path for our model binders to return a cached task
where possible without going async.
2015-09-08 09:42:34 -07:00
Ryan Nowak 382c9ab86a Test Cleanup: Fix Assert.NotNulls with ModelBindingResult 2015-09-07 17:15:31 -07:00
Ryan Nowak 465b4ce0df Use TelemetrySource 2015-09-06 20:23:05 -07:00