public void VsSettingDoesNotCacheSolutionSettings() { // Arrange var solutionManager = new Mock <MockSolutionManager>(); solutionManager.Setup(s => s.IsSolutionOpen).Returns(true).Verifiable(); solutionManager.Setup(s => s.SolutionDirectory).Returns(@"x:\solution").Verifiable(); var defaultSettings = new Mock <ISettings>(MockBehavior.Strict); var fileSystem = new MockFileSystem(); fileSystem.AddFile("nuget.config", @"<?xml version=""1.0"" ?><configuration><solution><add key=""foo"" value=""bar"" /></solution></configuration>"); var fileSystemProvider = new Mock <IFileSystemProvider>(MockBehavior.Strict); fileSystemProvider.Setup(f => f.GetFileSystem(@"x:\solution\.nuget", It.IsAny <bool>())).Returns(fileSystem).Verifiable(); // Act var vsSettings = new VsSettings(solutionManager.Object, defaultSettings.Object, fileSystemProvider.Object); var valueA = vsSettings.GetValue("solution", "foo"); fileSystem.AddFile("nuget.config", @"<?xml version=""1.0"" ?><configuration><solution><add key=""foo"" value=""qux"" /></solution></configuration>"); var valueB = vsSettings.GetValue("solution", "foo"); // Assert Assert.Equal("bar", valueA); Assert.Equal("qux", valueB); }
public void VsSettingUsesSettingsFileFromSolutionRootIfExists() { // Arrange var solutionManager = new Mock <ISolutionManager>(MockBehavior.Strict); solutionManager.Setup(s => s.IsSolutionOpen).Returns(true).Verifiable(); solutionManager.Setup(s => s.SolutionDirectory).Returns(@"x:\solution").Verifiable(); var defaultSettings = new Mock <ISettings>(MockBehavior.Strict); var fileSystem = new MockFileSystem(); fileSystem.AddFile("nuget.config", @"<?xml version=""1.0"" ?><configuration><solution><add key=""foo"" value=""bar"" /></solution></configuration>"); var fileSystemProvider = new Mock <IFileSystemProvider>(MockBehavior.Strict); fileSystemProvider.Setup(f => f.GetFileSystem(@"x:\solution\.nuget")).Returns(fileSystem).Verifiable(); // Act var vsSettings = new VsSettings(solutionManager.Object, defaultSettings.Object, fileSystemProvider.Object); var value = vsSettings.GetValue("solution", "foo"); // Assert Assert.Equal("bar", value); solutionManager.VerifyAll(); fileSystemProvider.VerifyAll(); }
public void GetValueFromMachineWideSettings() { // Arrange var solutionManager = new Mock <MockSolutionManager>(); solutionManager.Setup(s => s.IsSolutionOpen).Returns(false); var fileSystem = new MockFileSystem(); fileSystem.AddFile(@"a.config", @" <configuration> <config> <add key=""key1"" value=""value1"" /> </config> </configuration>"); var settings = new Settings[] { new Settings(fileSystem, "a.config") }; var machineWideSettings = new Mock <IMachineWideSettings>(); machineWideSettings.SetupGet(m => m.Settings).Returns(settings); // Act var vsSettings = new VsSettings(solutionManager.Object, machineWideSettings.Object); // Assert var value = vsSettings.GetConfigValue("key1"); Assert.Equal("value1", value); }
private WpfTextViewResources WpfTextViewResources = null; //MEF public ITagger <T> CreateTagger <T>(ITextView textView, ITextBuffer buffer) where T : ITag { if (textView == null) { throw new ArgumentNullException(nameof(textView)); } if (buffer == null) { throw new ArgumentNullException(nameof(buffer)); } if (buffer != textView.TextBuffer) { return(null); } var wpfTextView = textView as IWpfTextView; if (wpfTextView == null) { return(null); } if (!VsSettings.IsInitialized) { lock (Sync) { if (!VsSettings.IsInitialized) { VsSettings.Initialize(EditorFormatMapService, VsFontsAndColorsInformationService); } } } return(WpfTextViewResources.GetTeXCommentAdornmentTagger(wpfTextView) as ITagger <T>); }
public void VsSettingUsesValuesFromDefaultSettingsForNonSolutionProperties() { // Arrange var solutionManager = new Mock <ISolutionManager>(MockBehavior.Strict); solutionManager.Setup(s => s.IsSolutionOpen).Returns(true).Verifiable(); solutionManager.Setup(s => s.SolutionDirectory).Returns(@"x:\solution").Verifiable(); var defaultSettings = new Mock <ISettings>(MockBehavior.Strict); defaultSettings.Setup(d => d.GetValue("PackageSources", "foo")).Returns("qux").Verifiable(); var fileSystem = new MockFileSystem(); fileSystem.AddFile("nuget.config", @"<?xml version=""1.0"" ?><configuration><solution><add key=""foo"" value=""bar"" /></solution></configuration>"); var fileSystemProvider = new Mock <IFileSystemProvider>(MockBehavior.Strict); fileSystemProvider.Setup(f => f.GetFileSystem(@"x:\solution\.nuget", It.IsAny <bool>())).Returns(fileSystem).Verifiable(); // Act var vsSettings = new VsSettings(solutionManager.Object, defaultSettings.Object, fileSystemProvider.Object); var value = vsSettings.GetValue("PackageSources", "foo"); // Assert Assert.Equal("qux", value); defaultSettings.Verify(); }
public void GetSolutionSettingsFileSystemReturnsNullIfSolutionManagerIsNull() { // Arrange ISolutionManager solutionManager = null; // Act var fileSystem = VsSettings.GetSolutionSettingsFileSystem(solutionManager); // Assert Assert.Null(fileSystem); }
public void GetSolutionSettingsFileSystemReturnsNullIfSolutionIsNotOpen() { // Arrange var solutionManager = new Mock <ISolutionManager>(MockBehavior.Strict); solutionManager.Setup(s => s.IsSolutionOpen).Returns(false); // Act var fileSystem = VsSettings.GetSolutionSettingsFileSystem(solutionManager.Object); // Assert Assert.Null(fileSystem); }
public TeXCommentAdornmentTagger( IWpfTextView textView, IRenderingManager renderingManager, ITagAggregator <TeXCommentTag> texCommentTagger) : base(textView, texCommentTagger, IntraTextAdornmentTaggerDisplayMode.DoNotHideOriginalText_BeforeLastLineBreak) { this.renderingManager = renderingManager; textView.TextBuffer.Changed += TextBuffer_Changed; vsSettings = VsSettings.GetOrCreate(textView); vsSettings.CommentsColorChanged += ColorsChanged; vsSettings.ZoomChanged += ZoomChanged; ExtensionSettings.Instance.CustomZoomChanged += CustomZoomChanged; }
public void VsSettingUsesNullSettingsIfSolutionIsUnavailable() { // Arrange var solutionManager = new Mock<ISolutionManager>(MockBehavior.Strict); solutionManager.Setup(s => s.IsSolutionOpen).Returns(false).Verifiable(); var defaultSettings = new Mock<ISettings>(MockBehavior.Strict); var fileSystemProvider = new Mock<IFileSystemProvider>(MockBehavior.Strict); fileSystemProvider.Setup(f => f.GetFileSystem(It.IsAny<string>(), It.IsAny<bool>())).Throws(new Exception("This method should not be called")); // Act var vsSettings = new VsSettings(solutionManager.Object, defaultSettings.Object, fileSystemProvider.Object); var value = vsSettings.GetValue("Solution", "Foo"); // Assert Assert.Equal("", value); solutionManager.VerifyAll(); }
public void VsSettingUsesNullSettingsIfConfigFileDoesNotExistInRootOfSolution() { // Arrange var solutionManager = new Mock<ISolutionManager>(MockBehavior.Strict); solutionManager.Setup(s => s.IsSolutionOpen).Returns(true).Verifiable(); solutionManager.Setup(s => s.SolutionDirectory).Returns(@"x:\").Verifiable(); var defaultSettings = new Mock<ISettings>(MockBehavior.Strict); var fileSystemProvider = new Mock<IFileSystemProvider>(MockBehavior.Strict); fileSystemProvider.Setup(f => f.GetFileSystem(@"x:\.nuget", It.IsAny<bool>())).Returns(new MockFileSystem()); // Act var vsSettings = new VsSettings(solutionManager.Object, defaultSettings.Object, fileSystemProvider.Object); var value = vsSettings.GetValue("Solution", "Foo"); // Assert Assert.Equal("", value); solutionManager.VerifyAll(); }
public void VsSettingUsesNullSettingsIfSolutionIsUnavailable() { // Arrange var solutionManager = new Mock <ISolutionManager>(MockBehavior.Strict); solutionManager.Setup(s => s.IsSolutionOpen).Returns(false).Verifiable(); var defaultSettings = new Mock <ISettings>(MockBehavior.Strict); var fileSystemProvider = new Mock <IFileSystemProvider>(MockBehavior.Strict); fileSystemProvider.Setup(f => f.GetFileSystem(It.IsAny <string>())).Throws(new Exception("This method should not be called")); // Act var vsSettings = new VsSettings(solutionManager.Object, defaultSettings.Object, fileSystemProvider.Object); var value = vsSettings.GetValue("Solution", "Foo"); // Assert Assert.Equal("", value); solutionManager.VerifyAll(); }
public void VsSettingUsesNullSettingsIfConfigFileDoesNotExistInRootOfSolution() { // Arrange var solutionManager = new Mock <ISolutionManager>(MockBehavior.Strict); solutionManager.Setup(s => s.IsSolutionOpen).Returns(true).Verifiable(); solutionManager.Setup(s => s.SolutionDirectory).Returns(@"x:\").Verifiable(); var defaultSettings = new Mock <ISettings>(MockBehavior.Strict); var fileSystemProvider = new Mock <IFileSystemProvider>(MockBehavior.Strict); fileSystemProvider.Setup(f => f.GetFileSystem(@"x:\.nuget")).Returns(new MockFileSystem()); // Act var vsSettings = new VsSettings(solutionManager.Object, defaultSettings.Object, fileSystemProvider.Object); var value = vsSettings.GetValue("Solution", "Foo"); // Assert Assert.Equal("", value); solutionManager.VerifyAll(); }
public void VsSettingSwitchesSettingsIfSolutionChanges() { // Arrange var solutionManager = new Mock <MockSolutionManager>(); solutionManager.Setup(s => s.IsSolutionOpen).Returns(true).Verifiable(); solutionManager.Setup(s => s.SolutionDirectory).Returns(@"x:\solution").Verifiable(); solutionManager.Setup(s => s.SolutionFileSystem).Returns(new MockFileSystem(@"x:\solution")); var defaultSettings = new Mock <ISettings>(MockBehavior.Strict); var fileSystemA = new MockFileSystem(); fileSystemA.AddFile("nuget.config", @"<?xml version=""1.0"" ?><configuration><solution><add key=""foo"" value=""barA"" /></solution></configuration>"); var fileSystemB = new MockFileSystem(); fileSystemB.AddFile("nuget.config", @"<?xml version=""1.0"" ?><configuration><solution><add key=""foo"" value=""barB"" /></solution></configuration>"); var fileSystemProvider = new Mock <IFileSystemProvider>(MockBehavior.Strict); fileSystemProvider.Setup(f => f.GetFileSystem(@"x:\solution\.nuget")).Returns(fileSystemA).Verifiable(); fileSystemProvider.Setup(f => f.GetFileSystem(@"y:\solution\.nuget")).Returns(fileSystemB).Verifiable(); // Act var vsSettings = new VsSettings(solutionManager.Object, defaultSettings.Object, fileSystemProvider.Object); var valueA = vsSettings.GetValue("solution", "foo"); solutionManager.Object.CloseSolution(); solutionManager.Setup(s => s.SolutionDirectory).Returns(@"y:\solution").Verifiable(); solutionManager.Object.CloseSolution(); var valueB = vsSettings.GetValue("solution", "foo"); // Assert Assert.Equal("barA", valueA); Assert.Equal("barB", valueB); }
public void GetValueFromMachineWideSettings() { // Arrange var solutionManager = new Mock<MockSolutionManager>(); solutionManager.Setup(s => s.IsSolutionOpen).Returns(false); var fileSystem = new MockFileSystem(); fileSystem.AddFile(@"a.config", @" <configuration> <config> <add key=""key1"" value=""value1"" /> </config> </configuration>"); var settings = new Settings[] { new Settings(fileSystem, "a.config") }; var machineWideSettings = new Mock<IMachineWideSettings>(); machineWideSettings.SetupGet(m => m.Settings).Returns(settings); // Act var vsSettings = new VsSettings(solutionManager.Object, machineWideSettings.Object); // Assert var value = vsSettings.GetConfigValue("key1"); Assert.Equal("value1", value); }
public void VsSettingUsesValuesFromDefaultSettingsForNonSolutionProperties() { // Arrange var solutionManager = new Mock<ISolutionManager>(MockBehavior.Strict); solutionManager.Setup(s => s.IsSolutionOpen).Returns(true).Verifiable(); solutionManager.Setup(s => s.SolutionDirectory).Returns(@"x:\solution").Verifiable(); var defaultSettings = new Mock<ISettings>(MockBehavior.Strict); defaultSettings.Setup(d => d.GetValue("PackageSources", "foo")).Returns("qux").Verifiable(); var fileSystem = new MockFileSystem(); fileSystem.AddFile("nuget.config", @"<?xml version=""1.0"" ?><configuration><solution><add key=""foo"" value=""bar"" /></solution></configuration>"); var fileSystemProvider = new Mock<IFileSystemProvider>(MockBehavior.Strict); fileSystemProvider.Setup(f => f.GetFileSystem(@"x:\solution\.nuget")).Returns(fileSystem).Verifiable(); // Act var vsSettings = new VsSettings(solutionManager.Object, defaultSettings.Object, fileSystemProvider.Object); var value = vsSettings.GetValue("PackageSources", "foo"); // Assert Assert.Equal("qux", value); defaultSettings.Verify(); }
public void VsSettingUsesSettingsFileFromSolutionRootIfExists() { // Arrange var solutionManager = new Mock<ISolutionManager>(MockBehavior.Strict); solutionManager.Setup(s => s.IsSolutionOpen).Returns(true).Verifiable(); solutionManager.Setup(s => s.SolutionDirectory).Returns(@"x:\solution").Verifiable(); var defaultSettings = new Mock<ISettings>(MockBehavior.Strict); var fileSystem = new MockFileSystem(); fileSystem.AddFile("nuget.config", @"<?xml version=""1.0"" ?><configuration><solution><add key=""foo"" value=""bar"" /></solution></configuration>"); var fileSystemProvider = new Mock<IFileSystemProvider>(MockBehavior.Strict); fileSystemProvider.Setup(f => f.GetFileSystem(@"x:\solution\.nuget", It.IsAny<bool>())).Returns(fileSystem).Verifiable(); // Act var vsSettings = new VsSettings(solutionManager.Object, defaultSettings.Object, fileSystemProvider.Object); var value = vsSettings.GetValue("solution", "foo"); // Assert Assert.Equal("bar", value); solutionManager.VerifyAll(); fileSystemProvider.VerifyAll(); }
public void VsSettingSwitchesSettingsIfSolutionChanges() { // Arrange var solutionManager = new Mock<MockSolutionManager>(); solutionManager.Setup(s => s.IsSolutionOpen).Returns(true).Verifiable(); solutionManager.Setup(s => s.SolutionDirectory).Returns(@"x:\solution").Verifiable(); var defaultSettings = new Mock<ISettings>(MockBehavior.Strict); var fileSystemA = new MockFileSystem(); fileSystemA.AddFile("nuget.config", @"<?xml version=""1.0"" ?><configuration><solution><add key=""foo"" value=""barA"" /></solution></configuration>"); var fileSystemB = new MockFileSystem(); fileSystemB.AddFile("nuget.config", @"<?xml version=""1.0"" ?><configuration><solution><add key=""foo"" value=""barB"" /></solution></configuration>"); var fileSystemProvider = new Mock<IFileSystemProvider>(MockBehavior.Strict); fileSystemProvider.Setup(f => f.GetFileSystem(@"x:\solution\.nuget", It.IsAny<bool>())).Returns(fileSystemA).Verifiable(); fileSystemProvider.Setup(f => f.GetFileSystem(@"y:\solution\.nuget", It.IsAny<bool>())).Returns(fileSystemB).Verifiable(); // Act var vsSettings = new VsSettings(solutionManager.Object, defaultSettings.Object, fileSystemProvider.Object); var valueA = vsSettings.GetValue("solution", "foo"); solutionManager.Object.CloseSolution(); solutionManager.Setup(s => s.SolutionDirectory).Returns(@"y:\solution").Verifiable(); solutionManager.Object.CloseSolution(); var valueB = vsSettings.GetValue("solution", "foo"); // Assert Assert.Equal("barA", valueA); Assert.Equal("barB", valueB); }
private ResourcesManager(IWpfTextView textView) { vsSettings = VsSettings.GetOrCreate(textView); OnEditorBackgroundColorChange(vsSettings.CommentsBackground.Color); vsSettings.CommentsColorChanged += CommentsColorChanged; }
public void VsSettingDoesNotCacheSolutionSettings() { // Arrange var solutionManager = new Mock<MockSolutionManager>(); solutionManager.Setup(s => s.IsSolutionOpen).Returns(true).Verifiable(); solutionManager.Setup(s => s.SolutionDirectory).Returns(@"x:\solution").Verifiable(); var defaultSettings = new Mock<ISettings>(MockBehavior.Strict); var fileSystem = new MockFileSystem(); fileSystem.AddFile("nuget.config", @"<?xml version=""1.0"" ?><configuration><solution><add key=""foo"" value=""bar"" /></solution></configuration>"); var fileSystemProvider = new Mock<IFileSystemProvider>(MockBehavior.Strict); fileSystemProvider.Setup(f => f.GetFileSystem(@"x:\solution\.nuget")).Returns(fileSystem).Verifiable(); // Act var vsSettings = new VsSettings(solutionManager.Object, defaultSettings.Object, fileSystemProvider.Object); var valueA = vsSettings.GetValue("solution", "foo"); fileSystem.AddFile("nuget.config", @"<?xml version=""1.0"" ?><configuration><solution><add key=""foo"" value=""qux"" /></solution></configuration>"); var valueB = vsSettings.GetValue("solution", "foo"); // Assert Assert.Equal("bar", valueA); Assert.Equal("qux", valueB); }