package output_test import ( "bytes" "testing" "github.com/google/osv-scanner/v2/internal/output" "github.com/google/osv-scanner/v2/internal/testutility" "github.com/jedib0t/go-pretty/v6/text" ) func TestPrintTableResults_StandardTerminalWidth_WithVulnerabilities(t *testing.T) { t.Parallel() testOutputWithVulnerabilities(t, func(t *testing.T, args outputTestCaseArgs) { t.Helper() outputWriter := &bytes.Buffer{} output.PrintTableResults(args.vulnResult, outputWriter, 80, true) testutility.NewSnapshot().MatchText(t, text.StripEscape(outputWriter.String())) }) } func TestPrintTableResults_StandardTerminalWidth_WithLicenseViolations(t *testing.T) { t.Parallel() testOutputWithLicenseViolations(t, func(t *testing.T, args outputTestCaseArgs) { t.Helper() outputWriter := &bytes.Buffer{} output.PrintTableResults(args.vulnResult, outputWriter, 80, false) testutility.NewSnapshot().MatchText(t, text.StripEscape(outputWriter.String())) }) } func TestPrintTableResults_StandardTerminalWidth_WithMixedIssues(t *testing.T) { t.Parallel() testOutputWithMixedIssues(t, func(t *testing.T, args outputTestCaseArgs) { t.Helper() outputWriter := &bytes.Buffer{} output.PrintTableResults(args.vulnResult, outputWriter, 80, true) testutility.NewSnapshot().MatchText(t, text.StripEscape(outputWriter.String())) }) } func TestPrintTableResults_LongTerminalWidth_WithVulnerabilities(t *testing.T) { t.Parallel() testOutputWithVulnerabilities(t, func(t *testing.T, args outputTestCaseArgs) { t.Helper() outputWriter := &bytes.Buffer{} output.PrintTableResults(args.vulnResult, outputWriter, 800, true) testutility.NewSnapshot().MatchText(t, text.StripEscape(outputWriter.String())) }) } func TestPrintTableResults_LongTerminalWidth_WithLicenseViolations(t *testing.T) { t.Parallel() testOutputWithLicenseViolations(t, func(t *testing.T, args outputTestCaseArgs) { t.Helper() outputWriter := &bytes.Buffer{} output.PrintTableResults(args.vulnResult, outputWriter, 800, false) testutility.NewSnapshot().MatchText(t, text.StripEscape(outputWriter.String())) }) } func TestPrintTableResults_LongTerminalWidth_WithMixedIssues(t *testing.T) { t.Parallel() testOutputWithMixedIssues(t, func(t *testing.T, args outputTestCaseArgs) { t.Helper() outputWriter := &bytes.Buffer{} output.PrintTableResults(args.vulnResult, outputWriter, 800, true) testutility.NewSnapshot().MatchText(t, text.StripEscape(outputWriter.String())) }) } func TestPrintTableResults_NoTerminalWidth_WithVulnerabilities(t *testing.T) { t.Parallel() testOutputWithVulnerabilities(t, func(t *testing.T, args outputTestCaseArgs) { t.Helper() outputWriter := &bytes.Buffer{} output.PrintTableResults(args.vulnResult, outputWriter, -1, true) testutility.NewSnapshot().MatchText(t, outputWriter.String()) }) } func TestPrintTableResults_NoTerminalWidth_WithLicenseViolations(t *testing.T) { t.Parallel() testOutputWithLicenseViolations(t, func(t *testing.T, args outputTestCaseArgs) { t.Helper() outputWriter := &bytes.Buffer{} output.PrintTableResults(args.vulnResult, outputWriter, -1, false) testutility.NewSnapshot().MatchText(t, outputWriter.String()) }) } func TestPrintTableResults_NoTerminalWidth_WithMixedIssues(t *testing.T) { t.Parallel() testOutputWithMixedIssues(t, func(t *testing.T, args outputTestCaseArgs) { t.Helper() outputWriter := &bytes.Buffer{} output.PrintTableResults(args.vulnResult, outputWriter, -1, true) testutility.NewSnapshot().MatchText(t, outputWriter.String()) }) }