public FakeAnsiConsole(
            ColorSystem colors,
            AnsiSupport ansi = AnsiSupport.Yes,
            int width        = 80)
        {
            _exclusivityLock = new FakeExclusivityMode();
            _writer          = new StringWriter();

            var factory = new AnsiConsoleFactory();

            _console = factory.Create(new AnsiConsoleSettings
            {
                Ansi        = ansi,
                ColorSystem = (ColorSystemSupport)colors,
                Out         = _writer,
                Enrichment  = new ProfileEnrichment
                {
                    UseDefaultEnrichers = false,
                },
            });

            _console.Profile.Width = width;
            _console.Profile.Capabilities.Unicode = true;

            Input = new FakeConsoleInput();
        }
示例#2
0
 public static SpectreAnsiSupport GetAnsiSupport(this AnsiSupport support)
 {
     return(support switch
     {
         AnsiSupport.Detect => SpectreAnsiSupport.Detect,
         AnsiSupport.Yes => SpectreAnsiSupport.Yes,
         AnsiSupport.No => SpectreAnsiSupport.No,
         _ => throw new InvalidOperationException("Unknown ANSI support setting."),
     });
示例#3
0
            public void Should_Write_UInt32_With_Format_Provider(AnsiSupport ansi)
            {
                // Given
                var fixture = new AnsiConsoleFixture(ColorSystem.Standard, ansi);

                // When
                fixture.Console.Write(CultureInfo.InvariantCulture, 32U);

                // Then
                fixture.Output.ShouldBe("32");
            }
示例#4
0
            public void Should_Write_Char_With_Format_Provider(AnsiSupport ansi)
            {
                // Given
                var fixture = new AnsiConsoleFixture(ColorSystem.Standard, ansi);

                // When
                fixture.Console.WriteLine(CultureInfo.InvariantCulture, 'P');

                // Then
                fixture.Output.ShouldBe("P" + Environment.NewLine);
            }
        public AnsiConsoleFixture(ColorSystem system, AnsiSupport ansi = AnsiSupport.Yes, int width = 80)
        {
            _writer = new StringWriter();

            Console = new ConsoleWithWidth(
                AnsiConsole.Create(new AnsiConsoleSettings
            {
                Ansi        = ansi,
                ColorSystem = (ColorSystemSupport)system,
                Out         = _writer,
            }), width);
        }
示例#6
0
        public MarkupConsoleFixture(ColorSystem system, AnsiSupport ansi = AnsiSupport.Yes, int width = 80)
        {
            _writer  = new StringWriter();
            _console = AnsiConsole.Create(new AnsiConsoleSettings
            {
                Ansi                  = ansi,
                ColorSystem           = (ColorSystemSupport)system,
                Out                   = _writer,
                LinkIdentityGenerator = new TestLinkIdentityGenerator(),
            });

            Width = width;
        }
示例#7
0
            public void Should_Write_Char_Array_With_Format_Provider(AnsiSupport ansi)
            {
                // Given
                var fixture = new AnsiConsoleFixture(ColorSystem.Standard, ansi);

                // When
                fixture.Console.Write(
                    CultureInfo.InvariantCulture,
                    new[] { 'P', 'a', 't', 'r', 'i', 'k' });

                // Then
                fixture.Output.ShouldBe("Patrik");
            }
示例#8
0
            public void Should_Write_Formatted_String_With_Format_Provider(AnsiSupport ansi)
            {
                // Given
                var fixture = new AnsiConsoleFixture(ColorSystem.Standard, ansi);

                // When
                fixture.Console.WriteLine(
                    CultureInfo.InvariantCulture,
                    "Hello {0}! {1}",
                    "World", 32);

                // Then
                fixture.Output.ShouldBe("Hello World! 32" + Environment.NewLine);
            }
示例#9
0
        public FakeAnsiConsole(
            ColorSystem system, AnsiSupport ansi = AnsiSupport.Yes,
            InteractionSupport interaction       = InteractionSupport.Yes,
            int width = 80)
        {
            _writer  = new StringWriter();
            _console = AnsiConsole.Create(new AnsiConsoleSettings
            {
                Ansi                  = ansi,
                ColorSystem           = (ColorSystemSupport)system,
                Interactive           = interaction,
                Out                   = _writer,
                LinkIdentityGenerator = new FakeLinkIdentityGenerator(1024),
            });

            Width = width;
            Input = new FakeConsoleInput();
        }
示例#10
0
        public FakeAnsiConsole(
            ColorSystem system,
            AnsiSupport ansi = AnsiSupport.Yes,
            int width        = 80)
        {
            _writer = new StringWriter();

            var factory = new AnsiConsoleFactory();

            _console = factory.Create(new AnsiConsoleSettings
            {
                Ansi        = ansi,
                ColorSystem = (ColorSystemSupport)system,
                Out         = _writer,
                Enrichment  = new ProfileEnrichment
                {
                    UseDefaultEnrichers = false,
                },
            });

            _console.Profile.Width = width;

            Input = new FakeConsoleInput();
        }