Skip to content

Prototype Moving to Master #240

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 72 commits into from
May 10, 2025
Merged

Prototype Moving to Master #240

merged 72 commits into from
May 10, 2025

Conversation

olekukonko
Copy link
Owner

Based on the discussions and updates from the following links:

I am moving forward with the proposed changes and submitting this pull request.

Below is the test output after running the tests:

go test -count=1 -v ./... | tee tmp/test.txt

Test Results Summary:

  • TestMergeCellConfig: All sub-tests passed.
    • Includes tests for various override merge modes and config flattening.
  • TestCallbacks: All sub-tests passed.
    • Includes tests for configuring callbacks and using ConfigBuilder.
  • TestWrap and related tests: All passed.
    • Including wrap string allocation and word splitting.
  • TestDefaultConfigMerging: All passed.
    • Includes testing empty config and partial settings.
  • TestBasicTableDefault and related tests: All passed.
    • Includes table borders and ASCII/Unicode display tests.
  • TestSeparator: All passed.
    • Includes tests for enabling/disabling horizontal/vertical separators.
  • TestLongHeaders and TestLongValues: All passed.
  • TestWrapping: Passed successfully.
  • TestTableWithCustomPadding: Passed successfully.
  • TestFilterMasking: All sub-tests passed.
    • Includes masking for email, password, and card.
  • TestMerge (vertical and horizontal merge): All passed.
    • Includes tests for different merge strategies (vertical, horizontal, hierarchical).
  • TestStructTableWithDB: Passed successfully.

Everything seems to be working as expected. Let me know if you have any questions or feedback!

@olekukonko olekukonko changed the title Prototype Moving to Beta Prototype Moving to Master May 8, 2025
@olekukonko
Copy link
Owner Author

go test -count=1 ./... -v
=== RUN TestBuildPaddingLineContents
=== RUN TestBuildPaddingLineContents/Basic_Padding
=== RUN TestBuildPaddingLineContents/With_Merge
=== RUN TestBuildPaddingLineContents/Zero_Width
--- PASS: TestBuildPaddingLineContents (0.00s)
--- PASS: TestBuildPaddingLineContents/Basic_Padding (0.00s)
--- PASS: TestBuildPaddingLineContents/With_Merge (0.00s)
--- PASS: TestBuildPaddingLineContents/Zero_Width (0.00s)
=== RUN TestCalculateContentMaxWidth
=== RUN TestCalculateContentMaxWidth/Batch_Mode_with_MaxWidth
=== RUN TestCalculateContentMaxWidth/Streaming_Mode
=== RUN TestCalculateContentMaxWidth/No_Constraint_in_Batch
--- PASS: TestCalculateContentMaxWidth (0.00s)
--- PASS: TestCalculateContentMaxWidth/Batch_Mode_with_MaxWidth (0.00s)
--- PASS: TestCalculateContentMaxWidth/Streaming_Mode (0.00s)
--- PASS: TestCalculateContentMaxWidth/No_Constraint_in_Batch (0.00s)
=== RUN TestCallStringer
--- PASS: TestCallStringer (0.00s)
=== RUN TestCallStringerConcurrent
--- PASS: TestCallStringerConcurrent (0.00s)
=== RUN TestCallbacks
=== RUN TestCallbacks/WithConfig
=== RUN TestCallbacks/Configure
=== RUN TestCallbacks/ConfigBuilder
--- PASS: TestCallbacks (0.00s)
--- PASS: TestCallbacks/WithConfig (0.00s)
--- PASS: TestCallbacks/Configure (0.00s)
--- PASS: TestCallbacks/ConfigBuilder (0.00s)
=== RUN TestConvertToString
--- PASS: TestConvertToString (0.00s)
=== RUN TestEnsureStreamWidthsCalculated
=== RUN TestEnsureStreamWidthsCalculated/Already_Initialized
=== RUN TestEnsureStreamWidthsCalculated/Initialize_New
=== RUN TestEnsureStreamWidthsCalculated/Zero_Columns
--- PASS: TestEnsureStreamWidthsCalculated (0.00s)
--- PASS: TestEnsureStreamWidthsCalculated/Already_Initialized (0.00s)
--- PASS: TestEnsureStreamWidthsCalculated/Initialize_New (0.00s)
--- PASS: TestEnsureStreamWidthsCalculated/Zero_Columns (0.00s)
=== RUN TestMergeCellConfig
=== RUN TestMergeCellConfig/EmptyConfig
=== RUN TestMergeCellConfig/OverrideMergeModeNone
=== RUN TestMergeCellConfig/OverrideMergeModeVertical
=== RUN TestMergeCellConfig/OverrideMergeModeHorizontal
=== RUN TestMergeCellConfig/OverrideMergeModeBoth
=== RUN TestMergeCellConfig/OverrideMergeModeHierarchical
=== RUN TestMergeCellConfig/ConfigBuilderFlattened
--- PASS: TestMergeCellConfig (0.00s)
--- PASS: TestMergeCellConfig/EmptyConfig (0.00s)
--- PASS: TestMergeCellConfig/OverrideMergeModeNone (0.00s)
--- PASS: TestMergeCellConfig/OverrideMergeModeVertical (0.00s)
--- PASS: TestMergeCellConfig/OverrideMergeModeHorizontal (0.00s)
--- PASS: TestMergeCellConfig/OverrideMergeModeBoth (0.00s)
--- PASS: TestMergeCellConfig/OverrideMergeModeHierarchical (0.00s)
--- PASS: TestMergeCellConfig/ConfigBuilderFlattened (0.00s)
=== RUN TestMergeCellConfig2
=== RUN TestMergeCellConfig2/Row_EmptyInput
=== RUN TestMergeCellConfig2/Row_OverrideAlignment
=== RUN TestMergeCellConfig2/Row_OverrideColumnAligns
=== RUN TestMergeCellConfig2/Row_OverrideAutoWrap
=== RUN TestMergeCellConfig2/Row_OverrideAutoFormatTrue
=== RUN TestMergeCellConfig2/Header_FromBuilderFlattened
--- PASS: TestMergeCellConfig2 (0.00s)
--- PASS: TestMergeCellConfig2/Row_EmptyInput (0.00s)
--- PASS: TestMergeCellConfig2/Row_OverrideAlignment (0.00s)
--- PASS: TestMergeCellConfig2/Row_OverrideColumnAligns (0.00s)
--- PASS: TestMergeCellConfig2/Row_OverrideAutoWrap (0.00s)
--- PASS: TestMergeCellConfig2/Row_OverrideAutoFormatTrue (0.00s)
--- PASS: TestMergeCellConfig2/Header_FromBuilderFlattened (0.00s)
PASS
ok github.com/olekukonko/tablewriter 1.029s
? github.com/olekukonko/tablewriter/cmd/csv2table [no test files]
? github.com/olekukonko/tablewriter/lab [no test files]
=== RUN TestWrap
--- PASS: TestWrap (0.00s)
=== RUN TestWrapOneLine
--- PASS: TestWrapOneLine (0.00s)
=== RUN TestUnicode
--- PASS: TestUnicode (0.00s)
=== RUN TestDisplayWidth
--- PASS: TestDisplayWidth (0.00s)
=== RUN TestWrapStringAllocation
--- PASS: TestWrapStringAllocation (0.00s)
=== RUN TestSplitWords
=== RUN TestSplitWords/#00
=== RUN TestSplitWords/a
=== RUN TestSplitWords/a_b
=== RUN TestSplitWords/a___b
=== RUN TestSplitWords/a______b__
--- PASS: TestSplitWords (0.00s)
--- PASS: TestSplitWords/#00 (0.00s)
--- PASS: TestSplitWords/a (0.00s)
--- PASS: TestSplitWords/a_b (0.00s)
--- PASS: TestSplitWords/a___b (0.00s)
--- PASS: TestSplitWords/a______b__ (0.00s)
=== RUN TestWrapString
--- PASS: TestWrapString (0.00s)
PASS
ok github.com/olekukonko/tablewriter/pkg/twwarp 1.420s
? github.com/olekukonko/tablewriter/renderer [no test files]
=== RUN TestBasicTableDefault
--- PASS: TestBasicTableDefault (0.00s)
=== RUN TestBasicTableDefaultBorder
=== RUN TestBasicTableDefaultBorder/all-off
=== RUN TestBasicTableDefaultBorder/top-on
=== RUN TestBasicTableDefaultBorder/mix
--- PASS: TestBasicTableDefaultBorder (0.00s)
--- PASS: TestBasicTableDefaultBorder/all-off (0.00s)
--- PASS: TestBasicTableDefaultBorder/top-on (0.00s)
--- PASS: TestBasicTableDefaultBorder/mix (0.00s)
=== RUN TestUnicodeWithoutHeader
--- PASS: TestUnicodeWithoutHeader (0.00s)
=== RUN TestBasicTableASCII
--- PASS: TestBasicTableASCII (0.00s)
=== RUN TestBasicTableUnicodeRounded
--- PASS: TestBasicTableUnicodeRounded (0.00s)
=== RUN TestBasicTableUnicodeDouble
--- PASS: TestBasicTableUnicodeDouble (0.00s)
=== RUN TestSeparator
=== RUN TestSeparator/horizontal_-enabled
=== RUN TestSeparator/horizontal
-disabled
=== RUN TestSeparator/vertical
-enabled
=== RUN TestSeparator/vertical
-disabled
--- PASS: TestSeparator (0.00s)
--- PASS: TestSeparator/horizontal
-enabled (0.00s)
--- PASS: TestSeparator/horizontal
-disabled (0.00s)
--- PASS: TestSeparator/vertical
-enabled (0.00s)
--- PASS: TestSeparator/vertical
-_disabled (0.00s)
=== RUN TestLongHeaders
=== RUN TestLongHeaders/long-headers
=== RUN TestLongHeaders/long-headers-no-truncate
--- PASS: TestLongHeaders (0.00s)
--- PASS: TestLongHeaders/long-headers (0.00s)
--- PASS: TestLongHeaders/long-headers-no-truncate (0.00s)
=== RUN TestLongValues
--- PASS: TestLongValues (0.00s)
=== RUN TestWrapping
--- PASS: TestWrapping (0.00s)
=== RUN TestTableWithCustomPadding
--- PASS: TestTableWithCustomPadding (0.00s)
=== RUN TestStreamBorders
=== RUN TestStreamBorders/All_Off
=== RUN TestStreamBorders/No_Left/Right
=== RUN TestStreamBorders/No_Top/Bottom
=== RUN TestStreamBorders/Only_Left
=== RUN TestStreamBorders/Default
--- PASS: TestStreamBorders (0.00s)
--- PASS: TestStreamBorders/All_Off (0.00s)
--- PASS: TestStreamBorders/No_Left/Right (0.00s)
--- PASS: TestStreamBorders/No_Top/Bottom (0.00s)
--- PASS: TestStreamBorders/Only_Left (0.00s)
--- PASS: TestStreamBorders/Default (0.00s)
=== RUN TestDefaultConfigMerging
=== RUN TestDefaultConfigMerging/EmptyConfig
=== RUN TestDefaultConfigMerging/PartialBorders
=== RUN TestDefaultConfigMerging/PartialSettingsLines
--- PASS: TestDefaultConfigMerging (0.00s)
--- PASS: TestDefaultConfigMerging/EmptyConfig (0.00s)
--- PASS: TestDefaultConfigMerging/PartialBorders (0.00s)
--- PASS: TestDefaultConfigMerging/PartialSettingsLines (0.00s)
=== RUN TestColorizedBasicTable
--- PASS: TestColorizedBasicTable (0.00s)
=== RUN TestColorizedNoBorders
--- PASS: TestColorizedNoBorders (0.00s)
=== RUN TestColorizedCustomColors
--- PASS: TestColorizedCustomColors (0.00s)
=== RUN TestColorizedLongValues
--- PASS: TestColorizedLongValues (0.00s)
=== RUN TestColorizedHorizontalMerge
--- PASS: TestColorizedHorizontalMerge (0.00s)
=== RUN TestFilterMasking
=== RUN TestFilterMasking/MaskEmail
=== RUN TestFilterMasking/MaskPassword
=== RUN TestFilterMasking/MaskCard
--- PASS: TestFilterMasking (0.00s)
--- PASS: TestFilterMasking/MaskEmail (0.00s)
--- PASS: TestFilterMasking/MaskPassword (0.00s)
--- PASS: TestFilterMasking/MaskCard (0.00s)
=== RUN TestMasterClass
--- PASS: TestMasterClass (0.00s)
=== RUN TestConfigAutoHideDefault
--- PASS: TestConfigAutoHideDefault (0.00s)
=== RUN TestAutoHideFeature
=== RUN TestAutoHideFeature/HideWhenEmpty
=== RUN TestAutoHideFeature/ShowWhenNotEmpty
=== RUN TestAutoHideFeature/DisabledShowsEmpty
--- PASS: TestAutoHideFeature (0.00s)
--- PASS: TestAutoHideFeature/HideWhenEmpty (0.00s)
--- PASS: TestAutoHideFeature/ShowWhenNotEmpty (0.00s)
--- PASS: TestAutoHideFeature/DisabledShowsEmpty (0.00s)
=== RUN TestEmojiTable
--- PASS: TestEmojiTable (0.00s)
=== RUN TestUnicodeTableDefault
--- PASS: TestUnicodeTableDefault (0.00s)
=== RUN TestSpaces
=== RUN TestSpaces/Trim
=== RUN TestSpaces/NoTrim
--- PASS: TestSpaces (0.00s)
--- PASS: TestSpaces/Trim (0.00s)
--- PASS: TestSpaces/NoTrim (0.00s)
=== RUN TestHTMLBasicTable
--- PASS: TestHTMLBasicTable (0.00s)
=== RUN TestHTMLWithFooterAndAlignment
--- PASS: TestHTMLWithFooterAndAlignment (0.00s)
=== RUN TestHTMLEscaping
--- PASS: TestHTMLEscaping (0.00s)
=== RUN TestHTMLMultiLine
--- PASS: TestHTMLMultiLine (0.00s)
=== RUN TestHTMLHorizontalMerge
--- PASS: TestHTMLHorizontalMerge (0.00s)
=== RUN TestHTMLVerticalMerge
--- PASS: TestHTMLVerticalMerge (0.00s)
=== RUN TestHTMLCombinedMerge
--- PASS: TestHTMLCombinedMerge (0.00s)
=== RUN TestHTMLHierarchicalMerge
--- PASS: TestHTMLHierarchicalMerge (0.00s)
=== RUN TestHTMLEmptyTable
--- PASS: TestHTMLEmptyTable (0.00s)
=== RUN TestHTMLCSSClasses
--- PASS: TestHTMLCSSClasses (0.00s)
=== RUN TestHTMLStructureStrict
--- PASS: TestHTMLStructureStrict (0.00s)
=== RUN TestMarkdownBasicTable
--- PASS: TestMarkdownBasicTable (0.00s)
=== RUN TestMarkdownNoBorders
--- PASS: TestMarkdownNoBorders (0.00s)
=== RUN TestMarkdownUnicode
--- PASS: TestMarkdownUnicode (0.00s)
=== RUN TestMarkdownLongHeaders
--- PASS: TestMarkdownLongHeaders (0.00s)
=== RUN TestMarkdownLongValues
--- PASS: TestMarkdownLongValues (0.00s)
=== RUN TestMarkdownCustomPadding
--- PASS: TestMarkdownCustomPadding (0.00s)
=== RUN TestMarkdownHorizontalMerge
--- PASS: TestMarkdownHorizontalMerge (0.00s)
=== RUN TestMarkdownEmptyTable
--- PASS: TestMarkdownEmptyTable (0.00s)
=== RUN TestMarkdownWithFooter
--- PASS: TestMarkdownWithFooter (0.00s)
=== RUN TestVerticalMerge
--- PASS: TestVerticalMerge (0.00s)
=== RUN TestHorizontalMerge
--- PASS: TestHorizontalMerge (0.00s)
=== RUN TestHorizontalMergeEachLine
--- PASS: TestHorizontalMergeEachLine (0.00s)
=== RUN TestHorizontalMergeEachLineCenter
--- PASS: TestHorizontalMergeEachLineCenter (0.00s)
=== RUN TestHorizontalMergeAlignFooter
--- PASS: TestHorizontalMergeAlignFooter (0.00s)
=== RUN TestVerticalMergeLines
--- PASS: TestVerticalMergeLines (0.00s)
=== RUN TestMergeBoth
=== RUN TestMergeBoth/mixed-1
=== RUN TestMergeBoth/mixed-2
--- PASS: TestMergeBoth (0.00s)
--- PASS: TestMergeBoth/mixed-1 (0.00s)
--- PASS: TestMergeBoth/mixed-2 (0.00s)
=== RUN TestMergeHierarchical
--- PASS: TestMergeHierarchical (0.00s)
=== RUN TestMergeHierarchicalUnicode
--- PASS: TestMergeHierarchicalUnicode (0.00s)
=== RUN TestMergeWithPadding
--- PASS: TestMergeWithPadding (0.00s)
=== RUN TestOceanTableDefault
--- PASS: TestOceanTableDefault (0.00s)
=== RUN TestOceanTableStreaming_Simple
--- PASS: TestOceanTableStreaming_Simple (0.00s)
=== RUN TestOceanTableStreaming_NoHeader
--- PASS: TestOceanTableStreaming_NoHeader (0.00s)
=== RUN TestOceanTableStreaming_WithFooter
--- PASS: TestOceanTableStreaming_WithFooter (0.00s)
=== RUN TestOceanTableStreaming_VaryingWidthsFromConfig
--- PASS: TestOceanTableStreaming_VaryingWidthsFromConfig (0.00s)
=== RUN TestOceanTableStreaming_MultiLineCells
--- PASS: TestOceanTableStreaming_MultiLineCells (0.00s)
=== RUN TestOceanTableStreaming_OnlyHeader
--- PASS: TestOceanTableStreaming_OnlyHeader (0.00s)
=== RUN TestOceanTableStreaming_HorizontalMerge
--- PASS: TestOceanTableStreaming_HorizontalMerge (0.00s)
=== RUN TestStreamTableDefault
=== RUN TestStreamTableDefault/disabled
=== RUN TestStreamTableDefault/enabled
--- PASS: TestStreamTableDefault (0.00s)
--- PASS: TestStreamTableDefault/disabled (0.00s)
--- PASS: TestStreamTableDefault/enabled (0.00s)
=== RUN TestStreamBasic
=== RUN TestStreamBasic/TestStreamBasic
=== RUN TestStreamBasic/TestStreamBasicGlobal
--- PASS: TestStreamBasic (0.00s)
--- PASS: TestStreamBasic/TestStreamBasic (0.00s)
--- PASS: TestStreamBasic/TestStreamBasicGlobal (0.00s)
=== RUN TestStreamWithFooterAlign
--- PASS: TestStreamWithFooterAlign (0.00s)
=== RUN TestStreamNoHeaderASCII
--- PASS: TestStreamNoHeaderASCII (0.00s)
=== RUN TestBorders
=== RUN TestBorders/All_Off
=== RUN TestBorders/No_Left/Right
=== RUN TestBorders/No_Top/Bottom
=== RUN TestBorders/Only_Left
=== RUN TestBorders/Default
--- PASS: TestBorders (0.00s)
--- PASS: TestBorders/All_Off (0.00s)
--- PASS: TestBorders/No_Left/Right (0.00s)
--- PASS: TestBorders/No_Top/Bottom (0.00s)
--- PASS: TestBorders/Only_Left (0.00s)
--- PASS: TestBorders/Default (0.00s)
=== RUN TestStreamTruncation
--- PASS: TestStreamTruncation (0.00s)
=== RUN TestStreamCustomPadding
--- PASS: TestStreamCustomPadding (0.00s)
=== RUN TestStreamEmptyCells
--- PASS: TestStreamEmptyCells (0.00s)
=== RUN TestStreamOnlyHeader
--- PASS: TestStreamOnlyHeader (0.00s)
=== RUN TestStreamOnlyHeaderNoHeaderLine
--- PASS: TestStreamOnlyHeaderNoHeaderLine (0.00s)
=== RUN TestStreamSlowOutput
Output after Start():

Output after Header():
┌─────────┬─────────────┐
│ EVENT │ TIMESTAMP │

Output after Row 1:
├─────────┼─────────────┤
│ Data │ 17:54:31.20 │
│ Row 1 │ │

Output after Row 2:
│ Data │ 17:54:31.30 │
│ Row 2 │ │

Output after Row 3:
│ Data │ 17:54:31.40 │
│ Row 3 │ │

Output after End():
└─────────┴─────────────┘
streamer_test.go:594: Slow stream test completed. Observe terminal output.
--- PASS: TestStreamSlowOutput (0.51s)
=== RUN TestStreamFormating
--- PASS: TestStreamFormating (0.00s)
=== RUN TestStructTableWithDB
--- PASS: TestStructTableWithDB (0.00s)
=== RUN TestSVGBasicTable
--- PASS: TestSVGBasicTable (0.00s)
=== RUN TestSVGEmptyTable
--- PASS: TestSVGEmptyTable (0.00s)
=== RUN TestSVGHierarchicalMerge
--- PASS: TestSVGHierarchicalMerge (0.00s)
=== RUN TestSVGMultiLineContent
--- PASS: TestSVGMultiLineContent (0.00s)
=== RUN TestSVGPaddingAndFont
--- PASS: TestSVGPaddingAndFont (0.00s)
=== RUN TestSVGVerticalMerge
--- PASS: TestSVGVerticalMerge (0.00s)
=== RUN TestSVGWithFooterAndAlignment
--- PASS: TestSVGWithFooterAndAlignment (0.00s)
=== RUN TestSVGColumnAlignmentOverride
--- PASS: TestSVGColumnAlignmentOverride (0.00s)
=== RUN TestSVGHorizontalMerge
--- PASS: TestSVGHorizontalMerge (0.00s)
PASS
ok github.com/olekukonko/tablewriter/tests 2.289s
? github.com/olekukonko/tablewriter/tmp [no test files]
? github.com/olekukonko/tablewriter/tw [no test files]

@olekukonko olekukonko merged commit 5f09fa4 into master May 10, 2025
1 check passed
@olekukonko olekukonko deleted the prototype branch May 10, 2025 17:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant