mirror of
				https://github.com/nsnail/spectre.console.git
				synced 2025-10-31 17:15:28 +08:00 
			
		
		
		
	 Patrik Svensson
					Patrik Svensson
				
			
				
					committed by
					
						 Patrik Svensson
						Patrik Svensson
					
				
			
			
				
	
			
			
			 Patrik Svensson
						Patrik Svensson
					
				
			
						parent
						
							22d4af4482
						
					
				
				
					commit
					9aa36c4cf0
				
			| @@ -99,13 +99,12 @@ namespace Spectre.Console.Tests.Unit.Composition | ||||
|         } | ||||
|  | ||||
|         [Fact] | ||||
|         public void Should_Render_Grid_Column_Padding_Correctly() | ||||
|         public void Should_Use_Default_Padding() | ||||
|         { | ||||
|             // Given | ||||
|             var console = new PlainConsole(width: 80); | ||||
|             var grid = new Grid(); | ||||
|             grid.AddColumn(new GridColumn { Padding = new Padding(3, 0) }); | ||||
|             grid.AddColumns(2); | ||||
|             grid.AddColumns(3); | ||||
|             grid.AddRow("Foo", "Bar", "Baz"); | ||||
|             grid.AddRow("Qux", "Corgi", "Waldo"); | ||||
|             grid.AddRow("Grault", "Garply", "Fred"); | ||||
| @@ -115,9 +114,32 @@ namespace Spectre.Console.Tests.Unit.Composition | ||||
|  | ||||
|             // Then | ||||
|             console.Lines.Count.ShouldBe(3); | ||||
|             console.Lines[0].ShouldBe("   Foo    Bar     Baz  "); | ||||
|             console.Lines[1].ShouldBe("   Qux    Corgi   Waldo"); | ||||
|             console.Lines[2].ShouldBe("   Grault Garply  Fred "); | ||||
|             console.Lines[0].ShouldBe("Foo     Bar     Baz  "); | ||||
|             console.Lines[1].ShouldBe("Qux     Corgi   Waldo"); | ||||
|             console.Lines[2].ShouldBe("Grault  Garply  Fred "); | ||||
|         } | ||||
|  | ||||
|         [Fact] | ||||
|         public void Should_Render_Explicit_Grid_Column_Padding_Correctly() | ||||
|         { | ||||
|             // Given | ||||
|             var console = new PlainConsole(width: 80); | ||||
|             var grid = new Grid(); | ||||
|             grid.AddColumn(new GridColumn { Padding = new Padding(3, 0) }); | ||||
|             grid.AddColumn(new GridColumn { Padding = new Padding(0, 0) }); | ||||
|             grid.AddColumn(new GridColumn { Padding = new Padding(0, 3) }); | ||||
|             grid.AddRow("Foo", "Bar", "Baz"); | ||||
|             grid.AddRow("Qux", "Corgi", "Waldo"); | ||||
|             grid.AddRow("Grault", "Garply", "Fred"); | ||||
|  | ||||
|             // When | ||||
|             console.Render(grid); | ||||
|  | ||||
|             // Then | ||||
|             console.Lines.Count.ShouldBe(3); | ||||
|             console.Lines[0].ShouldBe("   Foo   Bar   Baz     "); | ||||
|             console.Lines[1].ShouldBe("   Qux   Corgi Waldo   "); | ||||
|             console.Lines[2].ShouldBe("   GraultGarplyFred    "); | ||||
|         } | ||||
|  | ||||
|         [Fact] | ||||
|   | ||||
| @@ -254,9 +254,9 @@ namespace Spectre.Console.Tests.Unit.Composition | ||||
|  | ||||
|             // Then | ||||
|             console.Lines.Count.ShouldBe(3); | ||||
|             console.Lines[0].ShouldBe("Foo     Bar     Baz  "); | ||||
|             console.Lines[1].ShouldBe("Qux     Corgi   Waldo"); | ||||
|             console.Lines[2].ShouldBe("Grault  Garply  Fred "); | ||||
|             console.Lines[0].ShouldBe("Foo    Bar    Baz  "); | ||||
|             console.Lines[1].ShouldBe("Qux    Corgi  Waldo"); | ||||
|             console.Lines[2].ShouldBe("Grault Garply Fred "); | ||||
|         } | ||||
|  | ||||
|         [Fact] | ||||
|   | ||||
| @@ -21,6 +21,7 @@ namespace Spectre.Console | ||||
|                 Border = BorderKind.None, | ||||
|                 ShowHeaders = false, | ||||
|                 IsGrid = true, | ||||
|                 PadRightCell = false, | ||||
|             }; | ||||
|         } | ||||
|  | ||||
| @@ -55,11 +56,14 @@ namespace Spectre.Console | ||||
|                 throw new ArgumentNullException(nameof(column)); | ||||
|             } | ||||
|  | ||||
|             // Only pad the most right cell if we've explicitly set a padding. | ||||
|             _table.PadRightCell = column.Padding != null; | ||||
|  | ||||
|             _table.AddColumn(new TableColumn(string.Empty) | ||||
|             { | ||||
|                 Width = column.Width, | ||||
|                 NoWrap = column.NoWrap, | ||||
|                 Padding = column.Padding, | ||||
|                 Padding = column.Padding ?? new Padding(0, 2), | ||||
|                 Alignment = column.Alignment, | ||||
|             }); | ||||
|         } | ||||
|   | ||||
| @@ -20,7 +20,7 @@ namespace Spectre.Console | ||||
|         /// <summary> | ||||
|         /// Gets or sets the padding of the column. | ||||
|         /// </summary> | ||||
|         public Padding Padding { get; set; } = new Padding(0, 1); | ||||
|         public Padding? Padding { get; set; } = null; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Gets or sets the alignment of the column. | ||||
|   | ||||
| @@ -53,8 +53,14 @@ namespace Spectre.Console | ||||
|         /// </summary> | ||||
|         public bool SafeBorder { get; set; } = true; | ||||
|  | ||||
|         // Whether this is a grid or not. | ||||
|         internal bool IsGrid { get; set; } = false; | ||||
|  | ||||
|         // Whether or not the most right cell should be padded. | ||||
|         // This is almost always the case, unless we're rendering | ||||
|         // a grid without explicit padding in the last cell. | ||||
|         internal bool PadRightCell { get; set; } = true; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Initializes a new instance of the <see cref="Table"/> class. | ||||
|         /// </summary> | ||||
| @@ -279,7 +285,7 @@ namespace Spectre.Console | ||||
|                         } | ||||
|  | ||||
|                         // Pad column on the right side | ||||
|                         if (showBorder || (hideBorder && !lastCell) || (IsGrid && !lastCell)) | ||||
|                         if (showBorder || (hideBorder && !lastCell) || (hideBorder && lastCell && IsGrid && PadRightCell)) | ||||
|                         { | ||||
|                             var rightPadding = _columns[cellIndex].Padding.Right; | ||||
|                             if (rightPadding > 0) | ||||
| @@ -293,7 +299,7 @@ namespace Spectre.Console | ||||
|                             // Add right column edge | ||||
|                             result.Add(new Segment(border.GetPart(BorderPart.CellRight))); | ||||
|                         } | ||||
|                         else if (showBorder || (hideBorder && !lastCell)) | ||||
|                         else if (showBorder) | ||||
|                         { | ||||
|                             // Add column separator | ||||
|                             result.Add(new Segment(border.GetPart(BorderPart.CellSeparator))); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user