Exemplo n.º 1
0
        public void WriteLine2_WhenNotEnabled_DoesNotLog()
        {
            bool wasCalled = false;
            var  pane      = IVsOutputWindowPaneFactory.ImplementOutputStringThreadSafe((text) => { wasCalled = true; });
            var  logger    = CreateDisabledLogger(pane);

            logger.WriteLine("Text", new object());

            Assert.False(wasCalled);
        }
Exemplo n.º 2
0
        public void WriteLine2_WhenEnabledWithNullFormat_ThrowsArgumentNull()
        {
            string?result = null;
            var    pane   = IVsOutputWindowPaneFactory.ImplementOutputStringThreadSafe((text) => { result = text; });
            var    logger = CreateEnabledLogger(pane);

            Assert.Throws <ArgumentNullException>("format", () =>
            {
                logger.WriteLine(format: null !, (object?)null !);
            });
Exemplo n.º 3
0
        public void WriteLine5_WhenEnabled_LogsToOutputPane(string format, object?[] arguments, string expected)
        {   // Not looking for exhaustive tests, just enough to indicate we're calling string.Format
            string?result = null;
            var    pane   = IVsOutputWindowPaneFactory.ImplementOutputStringThreadSafe((text) => { result = text; });
            var    logger = CreateEnabledLogger(pane);

            logger.WriteLine(format, arguments);

            Assert.Equal(expected + Environment.NewLine, result);
        }
        [InlineData("Text with a placeholder {0}")] // Make we don't call String.Format
        public void WriteLine1_WhenEnabled_LogsToOutputPane(string text)
        {
            string result = null;
            var    pane   = IVsOutputWindowPaneFactory.ImplementOutputStringThreadSafe((t) => { result = t; });
            var    logger = CreateEnabledLogger(pane);

            logger.WriteLine(text);

            Assert.Equal(text + Environment.NewLine, result);
        }
        public void WriteLine5_WhenEnabledWithInvalidFormat_ThrowsFormat()
        {
            string result = null;
            var    pane   = IVsOutputWindowPaneFactory.ImplementOutputStringThreadSafe((text) => { result = text; });
            var    logger = CreateEnabledLogger(pane);

            Assert.Throws <FormatException>(() => {
                logger.WriteLine("{0}{1}{2}{4}{5}", new object(), new object(), new object(), new object());
            });
        }
Exemplo n.º 6
0
        public async Task GetOutputWindowPaneAsync_ReactivatesPreviouslyActiveWindow()
        {
            int callCount = 0;
            var pane      = IVsOutputWindowPaneFactory.ImplementActivate(() => { callCount++; return(0); });

            var outputWindow = IVsOutputWindow2Factory.CreateWithActivePane(pane);
            var provider     = CreateInstance(outputWindow: outputWindow);

            await provider.GetOutputWindowPaneAsync();

            Assert.Equal(1, callCount);
        }