public void NoFileOrDirectory() { WriteCodeFragment task = new WriteCodeFragment(); MockEngine engine = new MockEngine(true); task.BuildEngine = engine; task.Language = "c#"; bool result = task.Execute(); Assert.AreEqual(false, result); engine.AssertLogContains("MSB3711"); }
public void NoLanguage() { WriteCodeFragment task = new WriteCodeFragment(); MockEngine engine = new MockEngine(true); task.BuildEngine = engine; task.OutputFile = new TaskItem("foo"); bool result = task.Execute(); Assert.AreEqual(false, result); engine.AssertLogContains("MSB3098"); }
public void CombineFileDirectory() { WriteCodeFragment task = new WriteCodeFragment(); MockEngine engine = new MockEngine(true); task.BuildEngine = engine; task.Language = "c#"; task.AssemblyAttributes = new TaskItem[] { new TaskItem("aa") }; task.OutputFile = new TaskItem("CombineFileDirectory.tmp"); task.OutputDirectory = new TaskItem(Path.GetTempPath()); bool result = task.Execute(); Assert.AreEqual(true, result); string file = Path.Combine(Path.GetTempPath(), "CombineFileDirectory.tmp"); Assert.AreEqual(file, task.OutputFile.ItemSpec); Assert.AreEqual(true, File.Exists(file)); }
public void OneAttributePositionalAndNamedParams() { WriteCodeFragment task = new WriteCodeFragment(); MockEngine engine = new MockEngine(true); task.BuildEngine = engine; TaskItem attribute = new TaskItem("AssemblyTrademarkAttribute"); attribute.SetMetadata("_Parameter1", "Microsoft"); attribute.SetMetadata("Date", "2009"); attribute.SetMetadata("Copyright", "(C)"); task.AssemblyAttributes = new TaskItem[] { attribute }; task.Language = "c#"; task.OutputDirectory = new TaskItem(Path.GetTempPath()); bool result = task.Execute(); Assert.AreEqual(true, result); string content = File.ReadAllText(task.OutputFile.ItemSpec); Console.WriteLine(content); Assert.AreEqual(true, content.Contains(@"[assembly: AssemblyTrademarkAttribute(""Microsoft"", Date=""2009"", Copyright=""(C)"")]")); File.Delete(task.OutputFile.ItemSpec); }
public void NoNumber() { WriteCodeFragment task = new WriteCodeFragment(); MockEngine engine = new MockEngine(true); task.BuildEngine = engine; TaskItem attribute = new TaskItem("AssemblyTrademarkAttribute"); attribute.SetMetadata("_Parameter", "2009"); task.AssemblyAttributes = new TaskItem[] { attribute }; task.Language = "c#"; task.OutputDirectory = new TaskItem(Path.GetTempPath()); bool result = task.Execute(); Assert.AreEqual(false, result); engine.AssertLogContains("MSB3098"); }
public void OneAttributeTwoParamsSameName() { WriteCodeFragment task = new WriteCodeFragment(); MockEngine engine = new MockEngine(true); task.BuildEngine = engine; TaskItem attribute = new TaskItem("AssemblyTrademarkAttribute"); attribute.SetMetadata("Company", "Microsoft"); attribute.SetMetadata("Company", "2009"); task.AssemblyAttributes = new TaskItem[] { attribute }; task.Language = "c#"; task.OutputDirectory = new TaskItem(Path.GetTempPath()); bool result = task.Execute(); Assert.AreEqual(true, result); File.Delete(task.OutputFile.ItemSpec); }
public void ToDirectory() { WriteCodeFragment task = new WriteCodeFragment(); MockEngine engine = new MockEngine(true); task.BuildEngine = engine; TaskItem attribute = new TaskItem("System.AssemblyTrademarkAttribute"); task.AssemblyAttributes = new TaskItem[] { attribute }; task.Language = "c#"; task.OutputDirectory = new TaskItem(Path.GetTempPath()); bool result = task.Execute(); Assert.AreEqual(true, result); Assert.AreEqual(true, File.Exists(task.OutputFile.ItemSpec)); Assert.AreEqual(true, String.Equals(task.OutputFile.ItemSpec.Substring(0, Path.GetTempPath().Length), Path.GetTempPath(), StringComparison.OrdinalIgnoreCase)); Assert.AreEqual(".cs", task.OutputFile.ItemSpec.Substring(task.OutputFile.ItemSpec.Length - 3)); File.Delete(task.OutputFile.ItemSpec); }
public void OneAttributeTwoParams() { string file = Path.Combine(Path.GetTempPath(), "OneAttribute.tmp"); try { WriteCodeFragment task = new WriteCodeFragment(); MockEngine engine = new MockEngine(true); task.BuildEngine = engine; TaskItem attribute = new TaskItem("AssemblyTrademarkAttribute"); attribute.SetMetadata("Company", "Microsoft"); attribute.SetMetadata("Year", "2009"); task.AssemblyAttributes = new TaskItem[] { attribute }; task.Language = "c#"; task.OutputFile = new TaskItem(file); bool result = task.Execute(); Assert.AreEqual(true, result); Assert.AreEqual(true, File.Exists(file)); string content = File.ReadAllText(file); Console.WriteLine(content); Assert.AreEqual(true, content.Contains("using System;")); Assert.AreEqual(true, content.Contains("using System.Reflection;")); Assert.AreEqual(true, content.Contains(@"[assembly: AssemblyTrademarkAttribute(Company=""Microsoft"", Year=""2009"")]")); } finally { File.Delete(file); } }
public void OneAttributeNoParamsVb() { WriteCodeFragment task = new WriteCodeFragment(); MockEngine engine = new MockEngine(true); task.BuildEngine = engine; TaskItem attribute = new TaskItem("System.AssemblyTrademarkAttribute"); task.AssemblyAttributes = new TaskItem[] { attribute }; task.Language = "visualbasic"; task.OutputDirectory = new TaskItem(Path.GetTempPath()); bool result = task.Execute(); Assert.AreEqual(true, result); string content = File.ReadAllText(task.OutputFile.ItemSpec); Console.WriteLine(content); Assert.AreEqual(true, content.Contains("Imports System")); Assert.AreEqual(true, content.Contains("<Assembly: System.AssemblyTrademarkAttribute()>")); }
public void TwoAttributes() { WriteCodeFragment task = new WriteCodeFragment(); MockEngine engine = new MockEngine(true); task.BuildEngine = engine; TaskItem attribute1 = new TaskItem("AssemblyTrademarkAttribute"); attribute1.SetMetadata("Name", "Microsoft"); TaskItem attribute2 = new TaskItem("System.AssemblyCultureAttribute"); attribute2.SetMetadata("Culture", "en-US"); task.AssemblyAttributes = new TaskItem[] { attribute1, attribute2 }; task.Language = "c#"; task.OutputDirectory = new TaskItem(Path.GetTempPath()); bool result = task.Execute(); Assert.AreEqual(true, result); string content = File.ReadAllText(task.OutputFile.ItemSpec); Console.WriteLine(content); Assert.AreEqual(true, content.Contains(@"[assembly: AssemblyTrademarkAttribute(Name=""Microsoft"")]")); Assert.AreEqual(true, content.Contains(@"[assembly: System.AssemblyCultureAttribute(Culture=""en-US"")]")); }
public void OneAttributeNoParams() { string file = Path.Combine(Path.GetTempPath(), "OneAttribute.tmp"); try { WriteCodeFragment task = new WriteCodeFragment(); MockEngine engine = new MockEngine(true); task.BuildEngine = engine; TaskItem attribute = new TaskItem("System.AssemblyTrademarkAttribute"); task.AssemblyAttributes = new TaskItem[] { attribute }; task.Language = "c#"; task.OutputFile = new TaskItem(file); bool result = task.Execute(); Assert.AreEqual(true, result); Assert.AreEqual(true, File.Exists(file)); string content = File.ReadAllText(file); Console.WriteLine(content); Assert.AreEqual(true, content.Contains("using System;")); Assert.AreEqual(true, content.Contains("[assembly: System.AssemblyTrademarkAttribute()]")); } finally { File.Delete(file); } }
public void InvalidDirectoryPath() { WriteCodeFragment task = new WriteCodeFragment(); MockEngine engine = new MockEngine(true); task.BuildEngine = engine; task.Language = "c#"; task.AssemblyAttributes = new TaskItem[] { new TaskItem("aa") }; task.OutputDirectory = new TaskItem("||invalid||"); bool result = task.Execute(); Assert.AreEqual(false, result); engine.AssertLogContains("MSB3713"); }
public void NoAttributesShouldEmitNoFile2() { string file = Path.Combine(Path.GetTempPath(), "NoAttributesShouldEmitNoFile.tmp"); if (File.Exists(file)) { File.Delete(file); } WriteCodeFragment task = new WriteCodeFragment(); MockEngine engine = new MockEngine(true); task.BuildEngine = engine; task.Language = "c#"; task.AssemblyAttributes = null; // null this time task.OutputFile = new TaskItem(file); bool result = task.Execute(); Assert.AreEqual(true, result); Assert.AreEqual(false, File.Exists(file)); Assert.AreEqual(null, task.OutputFile); }
public void DirectoryAndRootedFile() { WriteCodeFragment task = new WriteCodeFragment(); MockEngine engine = new MockEngine(true); task.BuildEngine = engine; task.Language = "c#"; task.AssemblyAttributes = new TaskItem[] { new TaskItem("aa") }; string folder = Path.Combine(Path.GetTempPath(), "foo\\"); string file = Path.Combine(folder, "CombineFileDirectory.tmp"); Directory.CreateDirectory(folder); task.OutputFile = new TaskItem(file); task.OutputDirectory = new TaskItem("c:\\"); bool result = task.Execute(); Assert.Equal(true, result); Assert.Equal(file, task.OutputFile.ItemSpec); Assert.Equal(true, File.Exists(file)); Directory.Delete(folder, true); }
public void OneAttributePositionalParamInvalidSuffix() { WriteCodeFragment task = new WriteCodeFragment(); MockEngine engine = new MockEngine(true); task.BuildEngine = engine; TaskItem attribute = new TaskItem("AssemblyTrademarkAttribute"); attribute.SetMetadata("_ParameterXXXXXXXXXX", "Microsoft"); task.AssemblyAttributes = new TaskItem[] { attribute }; task.Language = "c#"; task.OutputDirectory = new TaskItem(Path.GetTempPath()); bool result = task.Execute(); Assert.Equal(false, result); engine.AssertLogContains("MSB3098"); }