From f3da73553c45f17e04b1e77cb13eb0fca714d1bd Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Fri, 30 May 2025 20:47:56 -0400 Subject: sync --- internal/diff/diff_test.go | 103 --------------------------------------------- 1 file changed, 103 deletions(-) delete mode 100644 internal/diff/diff_test.go (limited to 'internal/diff/diff_test.go') diff --git a/internal/diff/diff_test.go b/internal/diff/diff_test.go deleted file mode 100644 index 4c014e45c..000000000 --- a/internal/diff/diff_test.go +++ /dev/null @@ -1,103 +0,0 @@ -package diff - -import ( - "fmt" - "testing" - - "github.com/charmbracelet/lipgloss" - "github.com/stretchr/testify/assert" -) - -// TestApplyHighlighting tests the applyHighlighting function with various ANSI sequences -func TestApplyHighlighting(t *testing.T) { - t.Parallel() - - // Mock theme colors for testing - mockHighlightBg := lipgloss.AdaptiveColor{ - Dark: "#FF0000", // Red background for highlighting - Light: "#FF0000", - } - - // Test cases - tests := []struct { - name string - content string - segments []Segment - segmentType LineType - expectContains string - }{ - { - name: "Simple text with no ANSI", - content: "This is a test", - segments: []Segment{{Start: 0, End: 4, Type: LineAdded}}, - segmentType: LineAdded, - // Should contain full reset sequence after highlighting - expectContains: "\x1b[0m", - }, - { - name: "Text with existing ANSI foreground", - content: "This \x1b[32mis\x1b[0m a test", // "is" in green - segments: []Segment{{Start: 5, End: 7, Type: LineAdded}}, - segmentType: LineAdded, - // Should contain full reset sequence after highlighting - expectContains: "\x1b[0m", - }, - { - name: "Text with existing ANSI background", - content: "This \x1b[42mis\x1b[0m a test", // "is" with green background - segments: []Segment{{Start: 5, End: 7, Type: LineAdded}}, - segmentType: LineAdded, - // Should contain full reset sequence after highlighting - expectContains: "\x1b[0m", - }, - { - name: "Text with complex ANSI styling", - content: "This \x1b[1;32;45mis\x1b[0m a test", // "is" bold green on magenta - segments: []Segment{{Start: 5, End: 7, Type: LineAdded}}, - segmentType: LineAdded, - // Should contain full reset sequence after highlighting - expectContains: "\x1b[0m", - }, - } - - for _, tc := range tests { - tc := tc // Capture range variable for parallel testing - t.Run(tc.name, func(t *testing.T) { - t.Parallel() - result := applyHighlighting(tc.content, tc.segments, tc.segmentType, mockHighlightBg) - - // Verify the result contains the expected sequence - assert.Contains(t, result, tc.expectContains, - "Result should contain full reset sequence") - - // Print the result for manual inspection if needed - if t.Failed() { - fmt.Printf("Original: %q\nResult: %q\n", tc.content, result) - } - }) - } -} - -// TestApplyHighlightingWithMultipleSegments tests highlighting multiple segments -func TestApplyHighlightingWithMultipleSegments(t *testing.T) { - t.Parallel() - - // Mock theme colors for testing - mockHighlightBg := lipgloss.AdaptiveColor{ - Dark: "#FF0000", // Red background for highlighting - Light: "#FF0000", - } - - content := "This is a test with multiple segments to highlight" - segments := []Segment{ - {Start: 0, End: 4, Type: LineAdded}, // "This" - {Start: 8, End: 9, Type: LineAdded}, // "a" - {Start: 15, End: 23, Type: LineAdded}, // "multiple" - } - - result := applyHighlighting(content, segments, LineAdded, mockHighlightBg) - - // Verify the result contains the full reset sequence - assert.Contains(t, result, "\x1b[0m", - "Result should contain full reset sequence") -} \ No newline at end of file -- cgit v1.2.3