Esempio n. 1
0
        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>);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 8
0
        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;
        }
Esempio n. 9
0
        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();
        }
Esempio n. 10
0
        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);
        }
Esempio n. 14
0
        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);
        }
Esempio n. 15
0
        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();
        }
Esempio n. 16
0
        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();
        }
Esempio n. 17
0
        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);
        }
Esempio n. 18
0
 private ResourcesManager(IWpfTextView textView)
 {
     vsSettings = VsSettings.GetOrCreate(textView);
     OnEditorBackgroundColorChange(vsSettings.CommentsBackground.Color);
     vsSettings.CommentsColorChanged += CommentsColorChanged;
 }
Esempio n. 19
0
        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);
        }