public async Task GetActiveDebuggingFrameworkPropertyAsync_ReturnsFrameworkValue(string framework) { var project = UnconfiguredProjectFactory.Create(); var data = new PropertyPageData(ProjectDebugger.SchemaName, ProjectDebugger.ActiveDebugFrameworkProperty, framework); var projectProperties = ProjectPropertiesFactory.Create(project, data); var commonServices = IUnconfiguredProjectCommonServicesFactory.Create(projectProperties: projectProperties); var debugFrameworkSvcs = new ActiveDebugFrameworkServices(null !, commonServices); var result = await debugFrameworkSvcs.GetActiveDebuggingFrameworkPropertyAsync(); Assert.Equal(framework, result); }
public async Task SetActiveDebuggingFrameworkPropertyAsync_SetsValue() { var project = UnconfiguredProjectFactory.Create(); var data = new PropertyPageData(ProjectDebugger.SchemaName, ProjectDebugger.ActiveDebugFrameworkProperty, "FrameworkOne"); var projectProperties = ProjectPropertiesFactory.Create(project, data); var commonServices = IUnconfiguredProjectCommonServicesFactory.Create(projectProperties: projectProperties); var debugFrameworkSvcs = new ActiveDebugFrameworkServices(null !, commonServices); await debugFrameworkSvcs.SetActiveDebuggingFrameworkPropertyAsync("netcoreapp1.0"); // Just verifies it doesn't throw. In other words, the function is trying to set the correct property. The way the property mocks // are set up there is no easy way to capture the value being set without rewriting how they work. }
internal static LaunchSettingsUnderTest GetLaunchSettingsProvider(IFileSystem?fileSystem, string?appDesignerFolder = @"c:\test\Project1\Properties", string activeProfile = "") { var activeProfileValue = new Mock <IEnumValue>(); activeProfileValue.Setup(s => s.Name).Returns(activeProfile); var debuggerData = new PropertyPageData(ProjectDebugger.SchemaName, ProjectDebugger.ActiveDebugProfileProperty, activeProfileValue.Object); var specialFilesManager = ActiveConfiguredProjectFactory.ImplementValue(() => IAppDesignerFolderSpecialFileProviderFactory.ImplementGetFile(appDesignerFolder)); var project = UnconfiguredProjectFactory.Create(filePath: @"c:\test\Project1\Project1.csproj"); var properties = ProjectPropertiesFactory.Create(project, new[] { debuggerData }); var commonServices = IUnconfiguredProjectCommonServicesFactory.Create(project, IProjectThreadingServiceFactory.Create(), null, properties); var projectServices = IUnconfiguredProjectServicesFactory.Create(IProjectAsynchronousTasksServiceFactory.Create()); var provider = new LaunchSettingsUnderTest(project, projectServices, fileSystem ?? new IFileSystemMock(), commonServices, null, specialFilesManager); return(provider); }
public async void SetValue(string propertyValue) { var properties = ProjectPropertiesFactory.Create( UnconfiguredProjectFactory.Create(), new PropertyPageData() { Category = ConfigurationGeneral.SchemaName, PropertyName = ConfigurationGeneral.OutputTypeProperty, Value = "InitialValue" }); var provider = new OutputTypeExValueProvider(properties); var actualPropertyValue = await provider.OnSetPropertyValueAsync(propertyValue, null); Assert.Equal(propertyValue, actualPropertyValue); }
public void OutputType() { var setValues = new List <object>(); var project = UnconfiguredProjectFactory.Create(); var data = new PropertyPageData(ConfigurationGeneralBrowseObject.SchemaName, ConfigurationGeneralBrowseObject.OutputTypeProperty, 1, setValues); var projectProperties = ProjectPropertiesFactory.Create(project, data); var activeConfiguredProject = IActiveConfiguredValueFactory.ImplementValue(() => projectProperties); var vsLangProjectProperties = CreateInstance(Mock.Of <VSLangProj.VSProject>(), IProjectThreadingServiceFactory.Create(), activeConfiguredProject); Assert.Equal(prjOutputType.prjOutputTypeExe, vsLangProjectProperties.OutputType); vsLangProjectProperties.OutputType = prjOutputType.prjOutputTypeLibrary; Assert.Equal(prjOutputType.prjOutputTypeLibrary, setValues.Single()); }
public async void GetEvaluatedValue(object outputTypePropertyValue, string expectedMappedValue) { var properties = ProjectPropertiesFactory.Create( UnconfiguredProjectFactory.Create(), new PropertyPageData() { Category = ConfigurationGeneral.SchemaName, PropertyName = ConfigurationGeneral.OutputTypeProperty, Value = outputTypePropertyValue }); var provider = new OutputTypeValueProvider(properties); var actualPropertyValue = await provider.OnGetEvaluatedPropertyValueAsync(string.Empty, null); Assert.Equal(expectedMappedValue, actualPropertyValue); }
private static IUnconfiguredProjectVsServices CreateProjectServices(string version) { var setValues = new List <object>(); var project = UnconfiguredProjectFactory.Create(); var data = new PropertyPageData() { Category = ConfigurationGeneral.SchemaName, PropertyName = ConfigurationGeneral.NETCoreSdkVersionProperty, Value = version ?? string.Empty, }; var projectProperties = ProjectPropertiesFactory.Create(project, data); var activeConfiguredProject = ActiveConfiguredProjectFactory.ImplementValue(() => projectProperties); return(IUnconfiguredProjectVsServicesFactory.Implement(projectProperties: () => projectProperties)); }
public void OutputTypeEx() { var setValues = new List <object>(); var project = UnconfiguredProjectFactory.Create(); var data = new PropertyPageData(ConfigurationGeneralBrowseObject.SchemaName, ConfigurationGeneralBrowseObject.OutputTypeProperty, 4, setValues); var projectProperties = ProjectPropertiesFactory.Create(project, data); var activeConfiguredProject = ActiveConfiguredProjectFactory.ImplementValue(() => projectProperties); var vsLangProjectProperties = CreateInstance(Mock.Of <VSLangProj.VSProject>(), IProjectThreadingServiceFactory.Create(), activeConfiguredProject); Assert.Equal(prjOutputTypeEx.prjOutputTypeEx_AppContainerExe, vsLangProjectProperties.OutputTypeEx); vsLangProjectProperties.OutputTypeEx = prjOutputTypeEx.prjOutputTypeEx_WinExe; Assert.Equal(setValues.Single().ToString(), prjOutputTypeEx.prjOutputTypeEx_WinExe.ToString()); }
private StartupProjectRegistrar CreateInstance( Guid guid, SVsServiceProvider serviceProvider, ActiveConfiguredProject <StartupProjectRegistrar.DebuggerLaunchProviders> launchProviders) { var projectProperties = ProjectPropertiesFactory.Create(IUnconfiguredProjectFactory.Create(), new[] { new PropertyPageData { Category = "ConfigurationGeneral", PropertyName = "ProjectGuid", Value = guid.ToString() } }); return(CreateInstance( IUnconfiguredProjectVsServicesFactory.Implement(projectProperties: () => projectProperties), serviceProvider, launchProviders)); }
public void GetContainedLanguageFactoryForFile_WhenReturnsResult_ReturnsS_OK() { var hierarchy = IVsHierarchyFactory.Create(); var project = IVsProject_Factory.ImplementIsDocumentInProject(found: true, itemid: 1); var properties = ProjectPropertiesFactory.Create(ConfigurationGeneral.SchemaName, ConfigurationGeneral.LanguageServiceIdProperty, LanguageServiceId); var containedLanguageFactory = IVsContainedLanguageFactoryFactory.Create(); var factory = CreateInstance(containedLanguageFactory, hierarchy: hierarchy, project: project, properties: properties); var result = factory.GetContainedLanguageFactoryForFile("FilePath", out var hierarchyResult, out var itemIdResult, out var containedLanguageFactoryResult); Assert.Equal(VSConstants.S_OK, result); Assert.Same(hierarchy, hierarchyResult); Assert.Same(containedLanguageFactory, containedLanguageFactoryResult); Assert.Equal(1u, itemIdResult); }
private ConsoleDebugTargetsProvider GetDebugTargetsProvider(string outputType = "exe", Dictionary <string, string> properties = null, IVsDebugger10 debugger = null) { _mockFS.WriteAllText(@"c:\test\Project\someapp.exe", ""); _mockFS.CreateDirectory(@"c:\test\Project"); _mockFS.CreateDirectory(@"c:\test\Project\bin\"); _mockFS.WriteAllText(@"c:\program files\dotnet\dotnet.exe", ""); var project = UnconfiguredProjectFactory.Create(filePath: _ProjectFile); var outputTypeEnum = new PageEnumValue(new EnumValue() { Name = outputType }); var data = new PropertyPageData() { Category = ConfigurationGeneral.SchemaName, PropertyName = ConfigurationGeneral.OutputTypeProperty, Value = outputTypeEnum }; var projectProperties = ProjectPropertiesFactory.Create(project, data); if (properties == null) { properties = new Dictionary <string, string>() { { "RunCommand", @"dotnet" }, { "RunArguments", "exec " + "\"" + @"c:\test\project\bin\project.dll" + "\"" }, { "RunWorkingDirectory", @"bin\" }, { "TargetFrameworkIdentifier", @".NetCoreApp" }, { "OutDir", @"c:\test\project\bin\" } }; } var delegatePropertiesMock = IProjectPropertiesFactory .MockWithPropertiesAndValues(properties); var delegateProvider = IProjectPropertiesProviderFactory.Create(null, delegatePropertiesMock.Object); var configuredProjectServices = Mock.Of <ConfiguredProjectServices>(o => o.ProjectPropertiesProvider == delegateProvider); var configuredProject = Mock.Of <ConfiguredProject>(o => o.UnconfiguredProject == project && o.Services == configuredProjectServices); var environment = IEnvironmentHelperFactory.ImplementGetEnvironmentVariable(_Path); return(CreateInstance(project: project, configuredProject: configuredProject, fileSystem: _mockFS, properties: projectProperties, environment: environment, debugger: debugger)); }
public async Task SetValue(string incomingValue, string expectedOutputTypeValue) { var setValues = new List <object>(); var properties = ProjectPropertiesFactory.Create( UnconfiguredProjectFactory.Create(), new PropertyPageData() { Category = ConfigurationGeneral.SchemaName, PropertyName = ConfigurationGeneral.OutputTypeProperty, Value = "InitialValue", SetValues = setValues }); var provider = new OutputTypeExValueProvider(properties); await provider.OnSetPropertyValueAsync(incomingValue, null); Assert.Equal(setValues.Single(), expectedOutputTypeValue); }
public void VisualBasicProjectConfigurationProperties_OutputPath() { var setValues = new List <object>(); var project = UnconfiguredProjectFactory.Create(); var data = new PropertyPageData(ConfiguredBrowseObject.SchemaName, ConfiguredBrowseObject.OutputPathProperty, "OldPath", setValues); var projectProperties = ProjectPropertiesFactory.Create(project, data); var vsLangProjectProperties = CreateInstance(projectProperties, IProjectThreadingServiceFactory.Create()); Assert.Equal("OldPath", vsLangProjectProperties.OutputPath); var testValue = "NewPath"; vsLangProjectProperties.OutputPath = testValue; Assert.Equal(setValues.Single(), testValue); }
public void VisualBasicProjectConfigurationProperties_LangVersion() { var setValues = new List <object>(); var project = UnconfiguredProjectFactory.Create(); var data = new PropertyPageData(ConfiguredBrowseObject.SchemaName, ConfiguredBrowseObject.LangVersionProperty, "9", setValues); var projectProperties = ProjectPropertiesFactory.Create(project, data); var vsLangProjectProperties = CreateInstance(projectProperties, IProjectThreadingServiceFactory.Create()); Assert.Equal("9", vsLangProjectProperties.LanguageVersion); var testValue = "10"; vsLangProjectProperties.LanguageVersion = testValue; Assert.Equal(setValues.Single(), testValue); }
public void VisualBasicProjectConfigurationProperties_CodeAnalysisRuleSet() { var setValues = new List <object>(); var project = UnconfiguredProjectFactory.Create(); var data = new PropertyPageData(ConfiguredBrowseObject.SchemaName, ConfiguredBrowseObject.CodeAnalysisRuleSetProperty, "Blah", setValues); var projectProperties = ProjectPropertiesFactory.Create(project, data); var vsLangProjectProperties = CreateInstance(projectProperties, IProjectThreadingServiceFactory.Create()); Assert.Equal("Blah", vsLangProjectProperties.CodeAnalysisRuleSet); var testValue = "Testing"; vsLangProjectProperties.CodeAnalysisRuleSet = testValue; Assert.Equal(setValues.Single(), testValue); }
public void AbsoluteProjectDirectory() { var project = UnconfiguredProjectFactory.Create(); var data = new PropertyPageData() { Category = ConfigurationGeneralBrowseObject.SchemaName, PropertyName = ConfigurationGeneralBrowseObject.FullPathProperty, Value = "testvalue", }; var projectProperties = ProjectPropertiesFactory.Create(project, data); var activeConfiguredProject = ActiveConfiguredProjectFactory.ImplementValue(() => projectProperties); var vsLangProjectProperties = CreateInstance(Mock.Of <VSLangProj.VSProject>(), IProjectThreadingServiceFactory.Create(), activeConfiguredProject); Assert.Equal("testvalue", vsLangProjectProperties.AbsoluteProjectDirectory); }
public void VsLangProjectProperties_FullPath() { var project = UnconfiguredProjectFactory.Create(); var data = new PropertyPageData() { Category = ConfigurationGeneral.SchemaName, PropertyName = ConfigurationGeneral.TargetPathProperty, Value = "somepath", }; var projectProperties = ProjectPropertiesFactory.Create(project, data); var activeConfiguredProject = ActiveConfiguredProjectFactory.ImplementValue(() => projectProperties); var vsLangProjectProperties = CreateInstance(Mock.Of <VSLangProj.VSProject>(), IProjectThreadingServiceFactory.Create(), activeConfiguredProject); Assert.Equal(vsLangProjectProperties.FullPath, "somepath"); }
public void AssemblyName() { var setValues = new List <object>(); var project = UnconfiguredProjectFactory.Create(); var data = new PropertyPageData(ConfigurationGeneral.SchemaName, ConfigurationGeneral.AssemblyNameProperty, "Blah", setValues); var projectProperties = ProjectPropertiesFactory.Create(project, data); var activeConfiguredProject = ActiveConfiguredProjectFactory.ImplementValue(() => projectProperties); var vsLangProjectProperties = CreateInstance(Mock.Of <VSLangProj.VSProject>(), IProjectThreadingServiceFactory.Create(), activeConfiguredProject); Assert.Equal("Blah", vsLangProjectProperties.AssemblyName); var testValue = "Testing"; vsLangProjectProperties.AssemblyName = testValue; Assert.Equal(setValues.Single(), testValue); }
public async Task GetProjectFrameworksAsync_ReturnsFrameworksInCorrectOrder(string frameworks, string[] expectedOrder) { var project = UnconfiguredProjectFactory.Create(); var data = new PropertyPageData(ConfigurationGeneral.SchemaName, ConfigurationGeneral.TargetFrameworksProperty, frameworks); var projectProperties = ProjectPropertiesFactory.Create(project, data); var commonServices = IUnconfiguredProjectCommonServicesFactory.Create(projectProperties: projectProperties); var debugFrameworkSvcs = new ActiveDebugFrameworkServices(null !, commonServices); var result = await debugFrameworkSvcs.GetProjectFrameworksAsync(); Assert.NotNull(result); Assert.Equal(expectedOrder.Length, result.Count); for (int i = 0; i < result.Count; i++) { Assert.Equal(expectedOrder[i], result[i]); } }
public async void SetValue_ThrowsKeyNotFoundException(string invalidValue) { var setValues = new List <object>(); var properties = ProjectPropertiesFactory.Create( UnconfiguredProjectFactory.Create(), new PropertyPageData() { Category = ConfigurationGeneral.SchemaName, PropertyName = ConfigurationGeneral.OutputTypeProperty, Value = "InitialValue", SetValues = setValues }); var provider = new OutputTypeValueProvider(properties); await Assert.ThrowsAsync <KeyNotFoundException>(async() => { await provider.OnSetPropertyValueAsync(invalidValue, null); }); }
private ManagedDebuggerImageTypeService CreateInstance(string outputType) { var outputTypeEnum = new PageEnumValue(new EnumValue() { Name = outputType }); var data = new PropertyPageData() { Category = ConfigurationGeneral.SchemaName, PropertyName = ConfigurationGeneral.OutputTypeProperty, Value = outputTypeEnum }; var project = IUnconfiguredProjectFactory.Create(); var properties = ProjectPropertiesFactory.Create(project, data); return(new ManagedDebuggerImageTypeService(properties)); }
public async Task GetConfiguredProjectForActiveFrameworkAsync_ReturnsCorrectProject(string framework, string selectedConfigFramework) { var project = UnconfiguredProjectFactory.Create(); var data = new PropertyPageData() { Category = ProjectDebugger.SchemaName, PropertyName = ProjectDebugger.ActiveDebugFrameworkProperty, Value = framework }; var data2 = new PropertyPageData() { Category = ConfigurationGeneral.SchemaName, PropertyName = ConfigurationGeneral.TargetFrameworksProperty, Value = "net462;net461;netcoreapp1.0" }; var projects = ImmutableDictionary <string, ConfiguredProject> .Empty .Add("net461", ConfiguredProjectFactory.Create(null, new StandardProjectConfiguration("Debug|AnyCPU|net461", Empty.PropertiesMap .Add("Configuration", "Debug") .Add("Platform", "AnyCPU") .Add("TargetFramework", "net461")))) .Add("netcoreapp1.0", ConfiguredProjectFactory.Create(null, new StandardProjectConfiguration("Debug|AnyCPU|netcoreapp1.0", Empty.PropertiesMap .Add("Configuration", "Debug") .Add("Platform", "AnyCPU") .Add("TargetFramework", "netcoreapp1.0")))) .Add("net462", ConfiguredProjectFactory.Create(null, new StandardProjectConfiguration("Debug|AnyCPU|net462", Empty.PropertiesMap .Add("Configuration", "Debug") .Add("Platform", "AnyCPU") .Add("TargetFramework", "net462")))); var projectProperties = ProjectPropertiesFactory.Create(project, data, data2); var projectConfgProvider = new IActiveConfiguredProjectsProviderFactory(MockBehavior.Strict) .ImplementGetActiveConfiguredProjectsMapAsync(projects); var commonServices = IUnconfiguredProjectCommonServicesFactory.Create(projectProperties: projectProperties); var debugFrameworkSvcs = new ActiveDebugFrameworkServices(projectConfgProvider.Object, commonServices); var activeConfiguredProject = await debugFrameworkSvcs.GetConfiguredProjectForActiveFrameworkAsync(); Assert.Equal(selectedConfigFramework, activeConfiguredProject.ProjectConfiguration.Dimensions.GetValueOrDefault("TargetFramework")); }
private static InterceptedProjectPropertiesProviderBase CreateInstance(FrameworkName configuredTargetFramework) { var data = new PropertyPageData(ConfigurationGeneral.SchemaName, ConfigurationGeneral.TargetFrameworkMonikerProperty, configuredTargetFramework.FullName); var project = UnconfiguredProjectFactory.Create(); var properties = ProjectPropertiesFactory.Create(project, data); var delegateProvider = IProjectPropertiesProviderFactory.Create(); var instancePropertiesMock = IProjectPropertiesFactory .MockWithProperty(TargetFrameworkPropertyName); var instanceProperties = instancePropertiesMock.Object; var instanceProvider = IProjectInstancePropertiesProviderFactory.ImplementsGetCommonProperties(instanceProperties); var targetFrameworkProvider = new TargetFrameworkValueProvider(properties); var providerMetadata = IInterceptingPropertyValueProviderMetadataFactory.Create(TargetFrameworkPropertyName); var lazyArray = new[] { new Lazy <IInterceptingPropertyValueProvider, IInterceptingPropertyValueProviderMetadata>( () => targetFrameworkProvider, providerMetadata) }; return(new ProjectFileInterceptedViaSnapshotProjectPropertiesProvider(delegateProvider, instanceProvider, project, lazyArray)); }
internal LaunchSettingsUnderTest GetLaunchSettingsProvider(IFileSystem fileSystem, string appDesignerFolder = @"c:\test\Project1\Properties", string activeProfile = "") { Mock <IEnumValue> activeProfileValue = new Mock <IEnumValue>(); activeProfileValue.Setup(s => s.Name).Returns(activeProfile); var debuggerData = new PropertyPageData() { Category = ProjectDebugger.SchemaName, PropertyName = ProjectDebugger.ActiveDebugProfileProperty, Value = activeProfileValue.Object }; var specialFilesManager = ISpecialFilesManagerFactory.ImplementGetFile(appDesignerFolder); var unconfiguredProject = UnconfiguredProjectFactory.Create(null, null, @"c:\test\Project1\Project1.csproj"); var properties = ProjectPropertiesFactory.Create(unconfiguredProject, new[] { debuggerData }); var commonServices = IUnconfiguredProjectCommonServicesFactory.Create(unconfiguredProject, null, new IProjectThreadingServiceMock(), null, properties); var projectServices = IUnconfiguredProjectServicesFactory.Create(IProjectAsynchronousTasksServiceFactory.Create(CancellationToken.None)); var provider = new LaunchSettingsUnderTest(unconfiguredProject, projectServices, fileSystem ?? new IFileSystemMock(), commonServices, null, specialFilesManager); return(provider); }
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); }
public async Task TryHandleCommand_FolderAsNodes_ReturnsTrueWhenUserClicksCancel() { var projectProperties = ProjectPropertiesFactory.Create(UnconfiguredProjectFactory.Create(), new[] { new PropertyPageData { Category = ConfigurationGeneral.SchemaName, PropertyName = ConfigurationGeneral.ProjectGuidProperty, Value = Guid.NewGuid().ToString() } }); var command = CreateInstance(provider: IProjectTreeProviderFactory.Create(""), dlg: IVsAddProjectItemDlgFactory.Create(VSConstants.OLE_E_PROMPTSAVECANCELLED)); var tree = ProjectTreeParser.Parse(@" Root (flags: {ProjectRoot}) Code (flags: {Folder}) "); var nodes = ImmutableHashSet.Create(tree.Children[0]); var result = await command.TryHandleCommandAsync(nodes, GetCommandId(), true, 0, IntPtr.Zero, IntPtr.Zero); Assert.True(result); }
public async Task TryHandleCommandAsync_FolderAsNodes_ReturnsTrue() { var projectProperties = ProjectPropertiesFactory.Create(IUnconfiguredProjectFactory.Create(), new[] { new PropertyPageData { Category = "Project", PropertyName = "ProjectGuid", Value = Guid.NewGuid().ToString() } }); var command = CreateInstance(provider: IProjectTreeProviderFactory.Create(""), dlg: IVsAddProjectItemDlgFactory.Create(0), properties: () => projectProperties); var tree = ProjectTreeParser.Parse(@" Root (flags: {ProjectRoot}) Code (flags: {Folder}) "); var nodes = ImmutableHashSet.Create(tree.Children[0]); var result = await command.TryHandleCommandAsync(nodes, GetCommandId(), true, 0, IntPtr.Zero, IntPtr.Zero); Assert.True(result); }
public void CSharpProjectConfigurationProperties_OutputPath() { var setValues = new List <object>(); var project = UnconfiguredProjectFactory.Create(); var data = new PropertyPageData() { Category = ConfiguredBrowseObject.SchemaName, PropertyName = ConfiguredBrowseObject.OutputPathProperty, Value = "OldPath", SetValues = setValues }; var projectProperties = ProjectPropertiesFactory.Create(project, data); var vsLangProjectProperties = CreateInstance(projectProperties, IProjectThreadingServiceFactory.Create()); Assert.Equal(vsLangProjectProperties.OutputPath, "OldPath"); var testValue = "newPath"; vsLangProjectProperties.OutputPath = testValue; Assert.Equal(setValues.Single(), testValue); }
public void CSharpProjectConfigurationProperties_LangVersion() { var setValues = new List <object>(); var project = UnconfiguredProjectFactory.Create(); var data = new PropertyPageData() { Category = ConfiguredBrowseObject.SchemaName, PropertyName = ConfiguredBrowseObject.LangVersionProperty, Value = "6", SetValues = setValues }; var projectProperties = ProjectPropertiesFactory.Create(project, data); var vsLangProjectProperties = CreateInstance(projectProperties, IProjectThreadingServiceFactory.Create()); Assert.Equal("6", vsLangProjectProperties.LanguageVersion); var testValue = "7.1"; vsLangProjectProperties.LanguageVersion = testValue; Assert.Equal(setValues.Single(), testValue); }
public async Task GetCommandStatusAsync_FolderAsNodes_ReturnsHandled() { var projectProperties = ProjectPropertiesFactory.Create(IUnconfiguredProjectFactory.Create(), new[] { new PropertyPageData { Category = ConfigurationGeneral.SchemaName, PropertyName = ConfigurationGeneral.ProjectGuidProperty, Value = Guid.NewGuid().ToString() } }); var command = CreateInstance(provider: IProjectTreeProviderFactory.Create(""), dlg: IVsAddProjectItemDlgFactory.Create(0), properties: () => projectProperties); var tree = ProjectTreeParser.Parse(@" Root (flags: {ProjectRoot}) Code (flags: {Folder}) "); var nodes = ImmutableHashSet.Create(tree.Children[0]); var result = await command.GetCommandStatusAsync(nodes, GetCommandId(), true, "commandText", (CommandStatus)0); Assert.True(result.Handled); Assert.Equal("commandText", result.CommandText); Assert.Equal(CommandStatus.Enabled | CommandStatus.Supported, result.Status); }