public async Task TryHandleCommandAsync_FolderAsNodes_CallsShowAddProjectItemDlgAsyncWithFilter() { int callCount = 0; string dirFilter = ""; string templateFilter = ""; string browseLocations = ""; var g = new Guid(); string folder = "folderName"; var dlg = IVsAddProjectItemDlgFactory.ImplementWithParams((id, guid, project, flags, dFilter, tFilter, browseLocs, filter, showAgain) => { callCount++; dirFilter = dFilter; templateFilter = tFilter; browseLocations = browseLocs; return(0); }, g, folder, string.Empty, 0); var command = CreateInstance(provider: IProjectTreeProviderFactory.Create(folder), addItemDialog: dlg); var tree = ProjectTreeParser.Parse(@" Root (flags: {ProjectRoot}) Properties (flags: {Folder AppDesignerFolder}) "); var nodes = ImmutableHashSet.Create(tree.Children[0]); await command.TryHandleCommandAsync(nodes, TestAddItemCommand.CommandId, true, 0, IntPtr.Zero, IntPtr.Zero); Assert.Equal(1, callCount); Assert.Equal(TestAddItemCommand.ResourceIds.DirName.ToString(), dirFilter); Assert.Equal(TestAddItemCommand.ResourceIds.TemplateName.ToString(), templateFilter); Assert.Equal("folderName", browseLocations); }
public async Task TryHandleCommandAsync_FolderAsNodes_CallsShowAddProjectItemDlgAsyncWithFilter() { int callCount = 0; string dirFilter = ""; string templateFilter = ""; string browseLocations = ""; Guid g = new Guid(); string folder = "folderName"; var dlg = IVsAddProjectItemDlgFactory.ImplementWithParams((id, guid, project, flags, dFilter, tFilter, browseLocs, filter, showAgain) => { callCount++; dirFilter = dFilter; templateFilter = tFilter; browseLocations = browseLocs; return(0); }, g, folder, string.Empty, 0); var projectProperties = ProjectPropertiesFactory.Create(UnconfiguredProjectFactory.Create(), new[] { new PropertyPageData { Category = ConfigurationGeneral.SchemaName, PropertyName = ConfigurationGeneral.ProjectGuidProperty, Value = g.ToString() } }); var command = CreateInstance(provider: IProjectTreeProviderFactory.Create(folder), dlg: dlg); var tree = ProjectTreeParser.Parse(@" Root (flags: {ProjectRoot}) Properties (flags: {Folder AppDesignerFolder}) "); var nodes = ImmutableHashSet.Create(tree.Children[0]); await command.TryHandleCommandAsync(nodes, GetCommandId(), true, 0, IntPtr.Zero, IntPtr.Zero); Assert.Equal(1, callCount); Assert.Equal(DirName, dirFilter); Assert.Equal(VSResources.ClassTemplateName, templateFilter); Assert.Equal("folderName", browseLocations); }