public void ConstructionParamsTest() { var searchPaths = new List <string> { CsTestHelpers.ProjectFilePath, CsTestHelpers.GetTestFileSubFolder() }; var basePath = AppContext.BaseDirectory; var idr = new InterceptDirectiveResolver(searchPaths.ToImmutableArray(), basePath); Assert.IsNotNull(idr); }
public void Setup() { _scriptWithoutAsmOrScriptOrClassRef = CsxTestHelpers.GetTestFilePath("WithoutAsmOrScriptOrClassRef.csx"); _scriptWithAsm_ButNoScriptOrClassRef = CsxTestHelpers.GetTestFilePath("WithAsm_ButNoScriptOrClassRef.csx"); _scriptWithAsmAndScriptRef_ButNoClassRef = CsxTestHelpers.GetTestFilePath("WithAsmAndScriptRef_ButNoClassRef.csx"); _scriptWithScriptAndClassRef_ButNoAsmRef = CsxTestHelpers.GetTestFilePath("WithScriptAndClassRef_ButNoAsmRef.csx"); _scriptWithScriptRef_ButNoAsmOrClassRef = CsxTestHelpers.GetTestFilePath("WithScriptRef_ButNoAsmOrClassRef.csx"); _scriptWithClassRef_ButNoAsmmOrScriptRef = CsxTestHelpers.GetTestFilePath("WithClassRef_ButNoAsmOrScriptRef.csx"); _scriptWithAsmAndClassAndScriptRef = CsxTestHelpers.GetTestFilePath("WithAsmAndClassAndScriptRef.csx"); _referencedClassFilePath = CsTestHelpers.GetTestFilePath("ReferencedClass.csx"); CsTestHelpers.RemoveFiles($"*.{CsRewriter.DEFAULT_REWRITE_TEMP_EXTENSION}"); CsTestHelpers.RemoveFiles($"*.{CsRewriter.DEFAULT_REWRITE_EXTENSION}"); }
//[Test] public void RewriteReferencedClassFileAsAssembly() { var result = CsRewriter.CreateRewriteFileAsAssembly(_referencedClassFilePath); Assert.IsTrue(result.IsCompiled, "assembly was not compiled"); Assert.IsTrue(FileUtilities.WriteAssembly(result.AssemblyFilePath, result.AssemblyBytes), "Failed to write assembly to disk"); Assert.IsTrue(FileUtilities.WriteAssembly(result.PdbFilePath, result.PdbBytes), "Failed to write assembly pdb to disk"); var asm = Assembly.LoadFile(result.AssemblyFilePath); var asmList = new List <Assembly>(result.FoundAssemblies) { asm }; //dirty rewrite. Would be nice if had result.OriginalDirectivePath var callingScript = CsxTestHelpers.GetFileContent(_scriptFileToExecute); var rewrittenCallingScript = callingScript.Replace("#load \"..\\TestCs\\ReferencedClass.cs\"", $"#r \"{result.AssemblyFilePath}\""); var rewrittenScriptFileName = $"{_scriptFileToExecute}.rewrite.csx"; CsxTestHelpers.WriteFileContent(rewrittenScriptFileName, rewrittenCallingScript); var runResult = CsTestHelpers.EvaluateScript(rewrittenScriptFileName, asmList, result.FoundNamespaces); Assert.IsNotNull(runResult); var expectedResult = new List <string> { "namespace TestNamespace{class TestClass{public void TestMethod(){}}}", "// Emitting prop with backing field 69", "// using the referenced class to output - Value_" }; var actualResult = CsxTestHelpers.GetFileLines(runResult.OutputFiles.Single().FilePath); StringAssert.AreEqualIgnoringCase(expectedResult[0], actualResult[0]); StringAssert.AreEqualIgnoringCase(expectedResult[1], actualResult[1]); StringAssert.StartsWith(expectedResult[2], actualResult[2]); StringAssert.AreNotEqualIgnoringCase(expectedResult[2], actualResult[2]); }
public void TearDown() { CsTestHelpers.RemoveFiles("*.rewrite.*"); }
public void Setup() { _scriptFileToExecute = CsxTestHelpers.GetTestFilePath("ScriptToExecute.csx"); _referencedClassFilePath = CsTestHelpers.GetTestFilePath("ReferencedClass.cs"); CsTestHelpers.RemoveFiles("*.rewrite.*"); }