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-build.Tests",
 | 
			
		||||
            "dotnet-pack.Tests",
 | 
			
		||||
            "dotnet-resgen.Tests",
 | 
			
		||||
            "Microsoft.DotNet.Cli.Utils.Tests",
 | 
			
		||||
            "Microsoft.DotNet.Compiler.Common.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