Inheritance: MonoDevelop.Projects.Extensions.SolutionItemExtensionNode
Example #1
0
		public async Task LoadSaveConsoleProjectWithEmptyGroup ()
		{
			var fn = new CustomFlavorNode ();
			WorkspaceObject.RegisterCustomExtension (fn);

			try {
				string solFile = Util.GetSampleProject ("console-project-empty-group", "ConsoleProject.sln");

				Solution item = (Solution)await Services.ProjectService.ReadWorkspaceItem (Util.GetMonitor (), solFile);
				Assert.IsTrue (item is Solution);

				Solution sol = (Solution)item;
				TestProjectsChecks.CheckBasicVsConsoleProject (sol);

				var p = sol.GetAllProjects ().FirstOrDefault ();
				Assert.NotNull (p);
				Assert.NotNull (p.GetFlavor<CustomFlavor> ());

				string projectFile = ((Project)sol.Items [0]).FileName;

				string solXml = File.ReadAllText (solFile);
				string projectXml = File.ReadAllText (projectFile);

				await sol.SaveAsync (Util.GetMonitor ());

				Assert.AreEqual (solXml, File.ReadAllText (solFile));
				Assert.AreEqual (projectXml, File.ReadAllText (projectFile));
			} finally {
				WorkspaceObject.UnregisterCustomExtension (fn);
			}
		}