Add Resgen Test Project, Add test to build project with resource with a space in the path.
This commit is contained in:
		
					parent
					
						
							
								ec0b004d4c
							
						
					
				
			
			
				commit
				
					
						e486fb2020
					
				
			
		
					 4 changed files with 100 additions and 0 deletions
				
			
		| 
						 | 
					@ -27,6 +27,7 @@ namespace Microsoft.DotNet.Cli.Build
 | 
				
			||||||
            "dotnet-compile.UnitTests",
 | 
					            "dotnet-compile.UnitTests",
 | 
				
			||||||
            "dotnet-build.Tests",
 | 
					            "dotnet-build.Tests",
 | 
				
			||||||
            "dotnet-pack.Tests",
 | 
					            "dotnet-pack.Tests",
 | 
				
			||||||
 | 
					            "dotnet-resgen.Tests",
 | 
				
			||||||
            "Microsoft.DotNet.Cli.Utils.Tests",
 | 
					            "Microsoft.DotNet.Cli.Utils.Tests",
 | 
				
			||||||
            "Microsoft.DotNet.Compiler.Common.Tests",
 | 
					            "Microsoft.DotNet.Compiler.Common.Tests",
 | 
				
			||||||
            "Microsoft.Extensions.DependencyModel.Tests",
 | 
					            "Microsoft.Extensions.DependencyModel.Tests",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,52 @@
 | 
				
			||||||
 | 
					// Copyright (c) .NET Foundation and contributors. All rights reserved.
 | 
				
			||||||
 | 
					// Licensed under the MIT license. See LICENSE file in the project root for full license information.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.IO;
 | 
				
			||||||
 | 
					using System.Text.RegularExpressions;
 | 
				
			||||||
 | 
					using Microsoft.DotNet.Tools.Test.Utilities;
 | 
				
			||||||
 | 
					using Microsoft.Extensions.PlatformAbstractions;
 | 
				
			||||||
 | 
					using Xunit;
 | 
				
			||||||
 | 
					using System;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace Microsoft.DotNet.Tools.Resgen.Tests
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public class ResgenTests : TestBase
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        private readonly string _testProjectsRoot;
 | 
				
			||||||
 | 
					        private readonly TempDirectory _root;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public ResgenTests()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            _testProjectsRoot = Path.Combine(AppContext.BaseDirectory, "TestAssets", "TestProjects");
 | 
				
			||||||
 | 
					            _root = Temp.CreateDirectory();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        [Fact]
 | 
				
			||||||
 | 
					        public void Test_Build_Project_with_Resources_with_Space_in_Path()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            var spaceBufferDirectory = _root.CreateDirectory("space directory");
 | 
				
			||||||
 | 
					            var testAppDir = spaceBufferDirectory.CreateDirectory("TestProjectWithResource");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            CopyProjectToTempDir(Path.Combine(_testProjectsRoot, "TestProjectWithResource"), testAppDir);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            var testProject = GetProjectPath(testAppDir);
 | 
				
			||||||
 | 
					            var buildCommand = new BuildCommand(testProject);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            var result = buildCommand.Execute().Should().Pass();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        private void CopyProjectToTempDir(string projectDir, TempDirectory tempDir)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            foreach (var file in Directory.EnumerateFiles(projectDir))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                tempDir.CopyFile(file);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        private string GetProjectPath(TempDirectory projectDir)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            return Path.Combine(projectDir.Path, "project.json");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										19
									
								
								test/dotnet-resgen.Tests/dotnet-resgen.Tests.xproj
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								test/dotnet-resgen.Tests/dotnet-resgen.Tests.xproj
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,19 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
				
			||||||
 | 
					  <PropertyGroup>
 | 
				
			||||||
 | 
					    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
 | 
				
			||||||
 | 
					    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <Import Project="$(VSToolsPath)\DNX\Microsoft.DNX.Props" Condition="'$(VSToolsPath)' != ''" />
 | 
				
			||||||
 | 
					  <PropertyGroup Label="Globals">
 | 
				
			||||||
 | 
					    <ProjectGuid>386d412c-003c-47b1-8258-0e35865cb7c4</ProjectGuid>
 | 
				
			||||||
 | 
					    <RootNamespace>Microsoft.DotNet.Tools.Resgen.Tests</RootNamespace>
 | 
				
			||||||
 | 
					    <BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">..\..\artifacts\obj\$(MSBuildProjectName)</BaseIntermediateOutputPath>
 | 
				
			||||||
 | 
					    <OutputPath Condition="'$(OutputPath)'=='' ">..\..\artifacts\bin\$(MSBuildProjectName)\</OutputPath>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <PropertyGroup>
 | 
				
			||||||
 | 
					    <SchemaVersion>2.0</SchemaVersion>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'" />
 | 
				
			||||||
 | 
					  <Import Project="$(VSToolsPath)\DNX\Microsoft.DNX.targets" Condition="'$(VSToolsPath)' != ''" />
 | 
				
			||||||
 | 
					</Project>
 | 
				
			||||||
							
								
								
									
										28
									
								
								test/dotnet-resgen.Tests/project.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								test/dotnet-resgen.Tests/project.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,28 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  "version": "1.0.0-*",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  "dependencies": {
 | 
				
			||||||
 | 
					    "NETStandard.Library": "1.0.0-rc2-23811",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    "Microsoft.DotNet.Tools.Tests.Utilities": { "target": "project" },
 | 
				
			||||||
 | 
					    "Microsoft.DotNet.Cli.Utils": {
 | 
				
			||||||
 | 
					      "target": "project"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    "xunit": "2.1.0",
 | 
				
			||||||
 | 
					    "xunit.netcore.extensions": "1.0.0-prerelease-*",
 | 
				
			||||||
 | 
					    "dotnet-test-xunit": "1.0.0-dev-48273-16"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  "frameworks": {
 | 
				
			||||||
 | 
					    "dnxcore50": {
 | 
				
			||||||
 | 
					      "imports": "portable-net45+win8"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  "content": [
 | 
				
			||||||
 | 
					    "../../TestAssets/TestProjects/TestProjectWithResource/**/*"
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  "testRunner": "xunit"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in a new issue