Use arcade
\n\nCommit migrated from f0458995c6
This commit is contained in:
Ryan Brandenburg 2019-01-29 13:26:53 -08:00 committed by GitHub
parent 8291cd8297
commit 66773c57bc
37 changed files with 117 additions and 92 deletions

View File

@ -2,7 +2,7 @@
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" /> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />
<PropertyGroup> <PropertyGroup>
<GenerateDocumentationFile Condition=" '$(IsTestProject)' != 'true' AND '$(IsSampleProject)' != 'true' ">true</GenerateDocumentationFile> <GenerateDocumentationFile Condition=" '$(IsUnitTestProject)' != 'true' AND '$(IsSampleProject)' != 'true' ">true</GenerateDocumentationFile>
<PackageTags>configuration</PackageTags> <PackageTags>configuration</PackageTags>
</PropertyGroup> </PropertyGroup>
</Project> </Project>

View File

@ -4,6 +4,7 @@
<Description>Configuration provider that uses files in a directory for Microsoft.Extensions.Configuration.</Description> <Description>Configuration provider that uses files in a directory for Microsoft.Extensions.Configuration.</Description>
<TargetFramework>netstandard2.0</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<EnableApiCheck>false</EnableApiCheck> <EnableApiCheck>false</EnableApiCheck>
<IsPackable>true</IsPackable>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

View File

@ -2,7 +2,7 @@
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" /> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />
<PropertyGroup> <PropertyGroup>
<GenerateDocumentationFile Condition=" '$(IsTestProject)' != 'true' ">true</GenerateDocumentationFile> <GenerateDocumentationFile Condition=" '$(IsUnitTestProject)' != 'true' ">true</GenerateDocumentationFile>
<PackageTags>files;filesystem</PackageTags> <PackageTags>files;filesystem</PackageTags>
</PropertyGroup> </PropertyGroup>
</Project> </Project>

View File

@ -5,8 +5,13 @@
<Description>File provider for files in embedded resources for Microsoft.Extensions.FileProviders.</Description> <Description>File provider for files in embedded resources for Microsoft.Extensions.FileProviders.</Description>
<TargetFramework>netstandard2.0</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<NuspecFile>$(MSBuildProjectName).nuspec</NuspecFile> <NuspecFile>$(MSBuildProjectName).nuspec</NuspecFile>
<IsPackable>true</IsPackable>
</PropertyGroup> </PropertyGroup>
<ItemGroup>
<InternalsVisibleTo Include="Microsoft.Extensions.FileProviders.Embedded.Tests" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<Reference Include="Microsoft.Extensions.FileProviders.Abstractions" /> <Reference Include="Microsoft.Extensions.FileProviders.Abstractions" />
<ProjectReference Include="..\..\Manifest.MSBuildTask\src\Microsoft.Extensions.FileProviders.Embedded.Manifest.Task.csproj" PrivateAssets="All" ReferenceOutputAssembly="false" /> <ProjectReference Include="..\..\Manifest.MSBuildTask\src\Microsoft.Extensions.FileProviders.Embedded.Manifest.Task.csproj" PrivateAssets="All" ReferenceOutputAssembly="false" />
@ -18,7 +23,6 @@
</ItemGroup> </ItemGroup>
<Target Name="PopulateNuspec" BeforeTargets="GenerateNuspec" DependsOnTargets="BuiltProjectOutputGroup;DocumentationProjectOutputGroup;DebugSymbolsProjectOutputGroup;"> <Target Name="PopulateNuspec" BeforeTargets="GenerateNuspec" DependsOnTargets="BuiltProjectOutputGroup;DocumentationProjectOutputGroup;DebugSymbolsProjectOutputGroup;">
<PropertyGroup> <PropertyGroup>
<NuspecProperties> <NuspecProperties>
id=$(PackageId); id=$(PackageId);
@ -40,10 +44,9 @@
OutputDocumentation=@(DocumentationProjectOutputGroupOutput); OutputDocumentation=@(DocumentationProjectOutputGroupOutput);
<!-- Include the assembly and symbols from the tasks project --> <!-- Include the assembly and symbols from the tasks project -->
TaskAssemblyNetStandard=..\..\Manifest.MSBuildTask\src\bin\$(Configuration)\netstandard2.0\$(AssemblyName).Manifest.Task.dll; TaskAssemblyNetStandard=$(ArtifactsDir)bin\$(AssemblyName).Manifest.Task\$(Configuration)\netstandard2.0\$(AssemblyName).Manifest.Task.dll;
TaskSymbolNetStandard=..\..\Manifest.MSBuildTask\src\bin\$(Configuration)\netstandard2.0\$(AssemblyName).Manifest.Task.pdb; TaskSymbolNetStandard=$(ArtifactsDir)bin\$(AssemblyName).Manifest.Task\$(Configuration)\netstandard2.0\$(AssemblyName).Manifest.Task.pdb;
</NuspecProperties> </NuspecProperties>
</PropertyGroup> </PropertyGroup>
</Target> </Target>
</Project> </Project>

View File

@ -1,4 +0,0 @@

using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("Microsoft.Extensions.FileProviders.Embedded.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]

View File

@ -11,6 +11,7 @@ Microsoft.Extensions.Diagnostics.HealthChecks.IHealthCheck
<NoWarn>$(NoWarn);CS1591</NoWarn> <NoWarn>$(NoWarn);CS1591</NoWarn>
<GenerateDocumentationFile>true</GenerateDocumentationFile> <GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>diagnostics;healthchecks</PackageTags> <PackageTags>diagnostics;healthchecks</PackageTags>
<IsPackable>true</IsPackable>
</PropertyGroup> </PropertyGroup>
</Project> </Project>

View File

@ -10,8 +10,13 @@ Microsoft.Extensions.Diagnostics.HealthChecks.IHealthChecksBuilder
<NoWarn>$(NoWarn);CS1591</NoWarn> <NoWarn>$(NoWarn);CS1591</NoWarn>
<GenerateDocumentationFile>true</GenerateDocumentationFile> <GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>diagnostics;healthchecks</PackageTags> <PackageTags>diagnostics;healthchecks</PackageTags>
<IsPackable>true</IsPackable>
</PropertyGroup> </PropertyGroup>
<ItemGroup>
<InternalsVisibleTo Include="Microsoft.Extensions.Diagnostics.HealthChecks.Tests" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="$(SharedSourceRoot)NonCapturingTimer\**\*.cs" /> <Compile Include="$(SharedSourceRoot)NonCapturingTimer\**\*.cs" />
<Compile Include="$(SharedSourceRoot)ValueStopwatch\**\*.cs" /> <Compile Include="$(SharedSourceRoot)ValueStopwatch\**\*.cs" />

View File

@ -1,3 +0,0 @@
using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("Microsoft.Extensions.Diagnostics.HealthChecks.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]

View File

@ -7,4 +7,8 @@
<GenerateDocumentationFile>true</GenerateDocumentationFile> <GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup> </PropertyGroup>
<ItemGroup>
<InternalsVisibleTo Include="Microsoft.JSInterop.Tests" />
</ItemGroup>
</Project> </Project>

View File

@ -1,3 +0,0 @@
using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("Microsoft.JSInterop.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]

View File

@ -6,7 +6,7 @@ using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Xunit; using Xunit;
namespace Microsoft.JSInterop.Test namespace Microsoft.JSInterop.Tests
{ {
public class DotNetDispatcherTest public class DotNetDispatcherTest
{ {
@ -73,7 +73,7 @@ namespace Microsoft.JSInterop.Test
Assert.Equal($"The assembly '{thisAssemblyName}' does not contain a public method with [JSInvokableAttribute(\"{methodIdentifier}\")].", ex.Message); Assert.Equal($"The assembly '{thisAssemblyName}' does not contain a public method with [JSInvokableAttribute(\"{methodIdentifier}\")].", ex.Message);
} }
[Fact] [Fact(Skip = "https://github.com/aspnet/AspNetCore-Internal/issues/1733")]
public Task CanInvokeStaticVoidMethod() => WithJSRuntime(jsRuntime => public Task CanInvokeStaticVoidMethod() => WithJSRuntime(jsRuntime =>
{ {
// Arrange/Act // Arrange/Act
@ -109,7 +109,7 @@ namespace Microsoft.JSInterop.Test
Assert.Equal(456, result.IntVal); Assert.Equal(456, result.IntVal);
}); });
[Fact] [Fact(Skip = "https://github.com/aspnet/AspNetCore-Internal/issues/1733")]
public Task CanInvokeStaticWithParams() => WithJSRuntime(jsRuntime => public Task CanInvokeStaticWithParams() => WithJSRuntime(jsRuntime =>
{ {
// Arrange: Track a .NET object to use as an arg // Arrange: Track a .NET object to use as an arg
@ -140,7 +140,7 @@ namespace Microsoft.JSInterop.Test
Assert.Equal(1299, resultDto2.IntVal); Assert.Equal(1299, resultDto2.IntVal);
}); });
[Fact] [Fact(Skip = "https://github.com/aspnet/AspNetCore-Internal/issues/1733")]
public Task CanInvokeInstanceVoidMethod() => WithJSRuntime(jsRuntime => public Task CanInvokeInstanceVoidMethod() => WithJSRuntime(jsRuntime =>
{ {
// Arrange: Track some instance // Arrange: Track some instance
@ -155,7 +155,7 @@ namespace Microsoft.JSInterop.Test
Assert.True(targetInstance.DidInvokeMyInvocableInstanceVoid); Assert.True(targetInstance.DidInvokeMyInvocableInstanceVoid);
}); });
[Fact] [Fact(Skip = "https://github.com/aspnet/AspNetCore-Internal/issues/1733")]
public Task CanInvokeBaseInstanceVoidMethod() => WithJSRuntime(jsRuntime => public Task CanInvokeBaseInstanceVoidMethod() => WithJSRuntime(jsRuntime =>
{ {
// Arrange: Track some instance // Arrange: Track some instance
@ -206,7 +206,7 @@ namespace Microsoft.JSInterop.Test
Assert.StartsWith("There is no tracked object with id '1'.", ex.Message); Assert.StartsWith("There is no tracked object with id '1'.", ex.Message);
}); });
[Fact] [Fact(Skip = "https://github.com/aspnet/AspNetCore-Internal/issues/1733")]
public Task CanInvokeInstanceMethodWithParams() => WithJSRuntime(jsRuntime => public Task CanInvokeInstanceMethodWithParams() => WithJSRuntime(jsRuntime =>
{ {
// Arrange: Track some instance plus another object we'll pass as a param // Arrange: Track some instance plus another object we'll pass as a param
@ -242,7 +242,7 @@ namespace Microsoft.JSInterop.Test
Assert.Equal("In call to 'InvocableStaticWithParams', expected 3 parameters but received 4.", ex.Message); Assert.Equal("In call to 'InvocableStaticWithParams', expected 3 parameters but received 4.", ex.Message);
} }
[Fact] [Fact(Skip = "https://github.com/aspnet/AspNetCore-Internal/issues/1733")]
public Task CanInvokeAsyncMethod() => WithJSRuntime(async jsRuntime => public Task CanInvokeAsyncMethod() => WithJSRuntime(async jsRuntime =>
{ {
// Arrange: Track some instance plus another object we'll pass as a param // Arrange: Track some instance plus another object we'll pass as a param
@ -320,7 +320,8 @@ namespace Microsoft.JSInterop.Test
protected static void StaticMethodWithoutAttribute() { } protected static void StaticMethodWithoutAttribute() { }
protected static void InstanceMethodWithoutAttribute() { } protected static void InstanceMethodWithoutAttribute() { }
[JSInvokable("InvocableStaticVoid")] public static void MyInvocableVoid() [JSInvokable("InvocableStaticVoid")]
public static void MyInvocableVoid()
{ {
DidInvokeMyInvocableStaticVoid = true; DidInvokeMyInvocableStaticVoid = true;
} }

View File

@ -6,7 +6,7 @@ using System.Collections.Generic;
using System.Threading.Tasks; using System.Threading.Tasks;
using Xunit; using Xunit;
namespace Microsoft.JSInterop.Test namespace Microsoft.JSInterop.Tests
{ {
public class DotNetObjectRefTest public class DotNetObjectRefTest
{ {

View File

@ -6,7 +6,7 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using Xunit; using Xunit;
namespace Microsoft.JSInterop.Test namespace Microsoft.JSInterop.Tests
{ {
public class JSInProcessRuntimeBaseTest public class JSInProcessRuntimeBaseTest
{ {
@ -21,7 +21,7 @@ namespace Microsoft.JSInterop.Test
}; };
// Act // Act
var syncResult = runtime.Invoke<TestDTO>("test identifier 1", "arg1", 123, true ); var syncResult = runtime.Invoke<TestDTO>("test identifier 1", "arg1", 123, true);
var call = runtime.InvokeCalls.Single(); var call = runtime.InvokeCalls.Single();
// Assert // Assert

View File

@ -7,7 +7,7 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using Xunit; using Xunit;
namespace Microsoft.JSInterop.Test namespace Microsoft.JSInterop.Tests
{ {
public class JSRuntimeBaseTest public class JSRuntimeBaseTest
{ {
@ -18,7 +18,7 @@ namespace Microsoft.JSInterop.Test
var runtime = new TestJSRuntime(); var runtime = new TestJSRuntime();
// Act // Act
runtime.InvokeAsync<object>("test identifier 1", "arg1", 123, true ); runtime.InvokeAsync<object>("test identifier 1", "arg1", 123, true);
runtime.InvokeAsync<object>("test identifier 2", "some other arg"); runtime.InvokeAsync<object>("test identifier 2", "some other arg");
// Assert // Assert

View File

@ -6,7 +6,7 @@ using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Xunit; using Xunit;
namespace Microsoft.JSInterop.Test namespace Microsoft.JSInterop.Tests
{ {
public class JSRuntimeTest public class JSRuntimeTest
{ {

View File

@ -6,7 +6,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using Xunit; using Xunit;
namespace Microsoft.JSInterop.Test namespace Microsoft.JSInterop.Tests
{ {
public class JsonUtilTest public class JsonUtilTest
{ {
@ -124,10 +124,10 @@ namespace Microsoft.JSInterop.Test
BoolProperty = true, BoolProperty = true,
NullableIntProperty = 1 NullableIntProperty = 1
}; };
// Act // Act
var result = Json.Serialize(commandResult); var result = Json.Serialize(commandResult);
// Assert // Assert
Assert.Equal("{\"stringProperty\":\"Test\",\"boolProperty\":true,\"nullableIntProperty\":1}", result); Assert.Equal("{\"stringProperty\":\"Test\",\"boolProperty\":true,\"nullableIntProperty\":1}", result);
} }
@ -222,12 +222,12 @@ namespace Microsoft.JSInterop.Test
// Act // Act
var exception = Assert.Throws<InvalidOperationException>(() => var exception = Assert.Throws<InvalidOperationException>(() =>
{ {
Json.Deserialize<NonEmptyConstructorPoco>(json); Json.Deserialize<NonEmptyConstructorPoco>(json);
}); });
// Assert // Assert
Assert.Equal( Assert.Equal(
$"Cannot deserialize JSON into type '{type.FullName}' because it does not have a public parameterless constructor.", $"Cannot deserialize JSON into type '{type.FullName}' because it does not have a public parameterless constructor.",
exception.Message); exception.Message);
} }
@ -277,7 +277,7 @@ namespace Microsoft.JSInterop.Test
class NonEmptyConstructorPoco class NonEmptyConstructorPoco
{ {
public NonEmptyConstructorPoco(int parameter) {} public NonEmptyConstructorPoco(int parameter) { }
public int Property { get; set; } public int Property { get; set; }
} }

View File

@ -1,11 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.JSInterop" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="../src/Microsoft.JSInterop.csproj" />
</ItemGroup>
<ItemGroup>
<None Update="xunit.runner.json" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,3 @@
{
"shadowCopy": true
}

View File

@ -10,6 +10,7 @@ Microsoft.Extensions.Localization.IStringLocalizer&lt;T&gt;</Description>
<NoWarn>$(NoWarn);CS1591</NoWarn> <NoWarn>$(NoWarn);CS1591</NoWarn>
<GenerateDocumentationFile>true</GenerateDocumentationFile> <GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>localization</PackageTags> <PackageTags>localization</PackageTags>
<IsPackable>true</IsPackable>
</PropertyGroup> </PropertyGroup>
</Project> </Project>

View File

@ -7,6 +7,7 @@
<NoWarn>$(NoWarn);CS1591</NoWarn> <NoWarn>$(NoWarn);CS1591</NoWarn>
<GenerateDocumentationFile>true</GenerateDocumentationFile> <GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>localization</PackageTags> <PackageTags>localization</PackageTags>
<IsPackable>true</IsPackable>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
@ -16,4 +17,8 @@
<Reference Include="Microsoft.Extensions.Logging.Abstractions" /> <Reference Include="Microsoft.Extensions.Logging.Abstractions" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<InternalsVisibleTo Include="Microsoft.Extensions.Localization.Tests" />
</ItemGroup>
</Project> </Project>

View File

@ -1,6 +0,0 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("Microsoft.Extensions.Localization.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]

View File

@ -6,6 +6,7 @@
<NoWarn>$(NoWarn);CS1591</NoWarn> <NoWarn>$(NoWarn);CS1591</NoWarn>
<GenerateDocumentationFile>true</GenerateDocumentationFile> <GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>pooling</PackageTags> <PackageTags>pooling</PackageTags>
<IsPackable>true</IsPackable>
</PropertyGroup> </PropertyGroup>
</Project> </Project>

View File

@ -1,4 +1,8 @@
<Project> <Project>
<PropertyGroup>
<IsShipping>false</IsShipping>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<Compile Include="$(MSBuildThisFileDirectory)..\ParameterDefaultValue\ParameterDefaultValue.cs"> <Compile Include="$(MSBuildThisFileDirectory)..\ParameterDefaultValue\ParameterDefaultValue.cs">
<Pack>true</Pack> <Pack>true</Pack>

View File

@ -1,8 +0,0 @@
<Project>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />
<PropertyGroup>
<PackageId>Microsoft.AspNetCore.BenchmarkRunner.Sources</PackageId>
</PropertyGroup>
</Project>

View File

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>00947d4a-c20e-46e3-90c3-6cd6bc87ee72</ProjectGuid>
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
</PropertyGroup>
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.Default.props" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.props" />
<PropertyGroup />
<Import Project="Microsoft.Extensions.CommandLineUtils.Sources.projitems" Label="Shared" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.CSharp.targets" />
</Project>

View File

@ -8,10 +8,15 @@
<PackageTags>aspnetcore</PackageTags> <PackageTags>aspnetcore</PackageTags>
<EnableApiCheck>false</EnableApiCheck> <EnableApiCheck>false</EnableApiCheck>
<IsPackable>true</IsPackable> <IsPackable>true</IsPackable>
<IsShipping>false</IsShipping>
<!-- This package is internal, so we don't generate a package baseline. Always build against the latest dependencies. --> <!-- This package is internal, so we don't generate a package baseline. Always build against the latest dependencies. -->
<UseLatestPackageReferences>true</UseLatestPackageReferences> <UseLatestPackageReferences>true</UseLatestPackageReferences>
</PropertyGroup> </PropertyGroup>
<ItemGroup>
<InternalsVisibleTo Include="Microsoft.AspNetCore.Testing.Tests" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<Reference Include="Microsoft.Win32.Registry" /> <Reference Include="Microsoft.Win32.Registry" />
<Reference Include="System.ValueTuple" /> <Reference Include="System.ValueTuple" />

View File

@ -1,6 +0,0 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Testing.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]

View File

@ -1,4 +1,4 @@
// Copyright (c) .NET Foundation. All rights reserved. // Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System; using System;
@ -8,6 +8,11 @@ namespace Microsoft.AspNetCore.Testing
{ {
public class TestPathUtilities public class TestPathUtilities
{ {
public static string GetRepoRootDirectory()
{
return GetSolutionRootDirectory("Extensions");
}
public static string GetSolutionRootDirectory(string solution) public static string GetSolutionRootDirectory(string solution)
{ {
var applicationBasePath = AppContext.BaseDirectory; var applicationBasePath = AppContext.BaseDirectory;

View File

@ -20,8 +20,8 @@ namespace Microsoft.AspNetCore.Testing.xunit
{ {
var skipReason = testMethod.EvaluateSkipConditions(); var skipReason = testMethod.EvaluateSkipConditions();
return skipReason != null return skipReason != null
? new SkippedTestCase(skipReason, _diagnosticMessageSink, discoveryOptions.MethodDisplayOrDefault(), testMethod) ? new SkippedTestCase(skipReason, _diagnosticMessageSink, discoveryOptions.MethodDisplayOrDefault(), TestMethodDisplayOptions.None, testMethod)
: base.CreateTestCase(discoveryOptions, testMethod, factAttribute); : base.CreateTestCase(discoveryOptions, testMethod, factAttribute);
} }
} }
} }

View File

@ -12,4 +12,4 @@ namespace Microsoft.AspNetCore.Testing.xunit
public class ConditionalTheoryAttribute : TheoryAttribute public class ConditionalTheoryAttribute : TheoryAttribute
{ {
} }
} }

View File

@ -14,11 +14,30 @@ namespace Microsoft.AspNetCore.Testing.xunit
{ {
} }
private sealed class OptionsWithPreEnumerationEnabled : ITestFrameworkDiscoveryOptions
{
private const string PreEnumerateTheories = "xunit.discovery.PreEnumerateTheories";
private readonly ITestFrameworkDiscoveryOptions _original;
public OptionsWithPreEnumerationEnabled(ITestFrameworkDiscoveryOptions original)
=> _original = original;
public TValue GetValue<TValue>(string name)
=> (name == PreEnumerateTheories) ? (TValue)(object)true : _original.GetValue<TValue>(name);
public void SetValue<TValue>(string name, TValue value)
=> _original.SetValue(name, value);
}
public override IEnumerable<IXunitTestCase> Discover(ITestFrameworkDiscoveryOptions discoveryOptions, ITestMethod testMethod, IAttributeInfo theoryAttribute)
=> base.Discover(new OptionsWithPreEnumerationEnabled(discoveryOptions), testMethod, theoryAttribute);
protected override IEnumerable<IXunitTestCase> CreateTestCasesForTheory(ITestFrameworkDiscoveryOptions discoveryOptions, ITestMethod testMethod, IAttributeInfo theoryAttribute) protected override IEnumerable<IXunitTestCase> CreateTestCasesForTheory(ITestFrameworkDiscoveryOptions discoveryOptions, ITestMethod testMethod, IAttributeInfo theoryAttribute)
{ {
var skipReason = testMethod.EvaluateSkipConditions(); var skipReason = testMethod.EvaluateSkipConditions();
return skipReason != null return skipReason != null
? new[] { new SkippedTestCase(skipReason, DiagnosticMessageSink, discoveryOptions.MethodDisplayOrDefault(), testMethod) } ? new[] { new SkippedTestCase(skipReason, DiagnosticMessageSink, discoveryOptions.MethodDisplayOrDefault(), TestMethodDisplayOptions.None, testMethod) }
: base.CreateTestCasesForTheory(discoveryOptions, testMethod, theoryAttribute); : base.CreateTestCasesForTheory(discoveryOptions, testMethod, theoryAttribute);
} }
@ -44,4 +63,4 @@ namespace Microsoft.AspNetCore.Testing.xunit
: base.CreateTestCasesForDataRow(discoveryOptions, testMethod, theoryAttribute, dataRow); : base.CreateTestCasesForDataRow(discoveryOptions, testMethod, theoryAttribute, dataRow);
} }
} }
} }

View File

@ -1,4 +1,4 @@
// Copyright (c) .NET Foundation. All rights reserved. // Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System; using System;
@ -16,8 +16,14 @@ namespace Microsoft.AspNetCore.Testing.xunit
{ {
} }
public SkippedTestCase(string skipReason, IMessageSink diagnosticMessageSink, TestMethodDisplay defaultMethodDisplay, ITestMethod testMethod, object[] testMethodArguments = null) public SkippedTestCase(
: base(diagnosticMessageSink, defaultMethodDisplay, testMethod, testMethodArguments) string skipReason,
IMessageSink diagnosticMessageSink,
TestMethodDisplay defaultMethodDisplay,
TestMethodDisplayOptions defaultMethodDisplayOptions,
ITestMethod testMethod,
object[] testMethodArguments = null)
: base(diagnosticMessageSink, defaultMethodDisplay, defaultMethodDisplayOptions, testMethod, testMethodArguments)
{ {
_skipReason = skipReason; _skipReason = skipReason;
} }
@ -37,4 +43,4 @@ namespace Microsoft.AspNetCore.Testing.xunit
data.AddValue(nameof(_skipReason), _skipReason); data.AddValue(nameof(_skipReason), _skipReason);
} }
} }
} }

View File

@ -24,5 +24,4 @@
<ItemGroup Condition="'$(TargetFramework)' == 'net461'"> <ItemGroup Condition="'$(TargetFramework)' == 'net461'">
<Reference Include="System.Net.Http" /> <Reference Include="System.Net.Http" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -16,7 +16,7 @@ namespace Microsoft.AspNetCore.Testing
// Testing\test\Microsoft.AspNetCore.Testing.Tests\bin\Debug\netcoreapp2.0 // Testing\test\Microsoft.AspNetCore.Testing.Tests\bin\Debug\netcoreapp2.0
// Testing\test\Microsoft.AspNetCore.Testing.Tests\bin\Debug\net461 // Testing\test\Microsoft.AspNetCore.Testing.Tests\bin\Debug\net461
// Testing\test\Microsoft.AspNetCore.Testing.Tests\bin\Debug\net46 // Testing\test\Microsoft.AspNetCore.Testing.Tests\bin\Debug\net46
var expectedPath = Path.GetFullPath(Path.Combine(Directory.GetCurrentDirectory(), "..", "..", "..", "..", "..", "..", "..")); var expectedPath = Path.GetFullPath(Path.Combine(Directory.GetCurrentDirectory(), "..", "..", "..", "..", ".."));
Assert.Equal(expectedPath, TestPathUtilities.GetSolutionRootDirectory("Extensions")); Assert.Equal(expectedPath, TestPathUtilities.GetSolutionRootDirectory("Extensions"));
} }

View File

@ -7,6 +7,7 @@
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<GenerateDocumentationFile>true</GenerateDocumentationFile> <GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>aspnetcore</PackageTags> <PackageTags>aspnetcore</PackageTags>
<IsPackable>true</IsPackable>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>