summaryrefslogtreecommitdiffhomepage
path: root/cmd/root_test.go
diff options
context:
space:
mode:
authoradamdottv <[email protected]>2025-05-28 15:36:31 -0500
committeradamdottv <[email protected]>2025-05-28 15:36:36 -0500
commit9d7c5efb9b0b60c62aef3777b65b458a31ebbc88 (patch)
tree0f5acb5b8093d872b30178ded53df719be40cf44 /cmd/root_test.go
parent8863a499a9e311a48d6ab8bc05d267fb2a01f060 (diff)
downloadopencode-9d7c5efb9b0b60c62aef3777b65b458a31ebbc88.tar.gz
opencode-9d7c5efb9b0b60c62aef3777b65b458a31ebbc88.zip
wip: refactoring tui
Diffstat (limited to 'cmd/root_test.go')
-rw-r--r--cmd/root_test.go143
1 files changed, 0 insertions, 143 deletions
diff --git a/cmd/root_test.go b/cmd/root_test.go
deleted file mode 100644
index 284ef5837..000000000
--- a/cmd/root_test.go
+++ /dev/null
@@ -1,143 +0,0 @@
-package cmd
-
-import (
- "bytes"
- "io"
- "os"
- "testing"
-)
-
-func TestCheckStdinPipe(t *testing.T) {
- // Save original stdin
- origStdin := os.Stdin
-
- // Restore original stdin when test completes
- defer func() {
- os.Stdin = origStdin
- }()
-
- // Test case 1: Data is piped in
- t.Run("WithPipedData", func(t *testing.T) {
- // Create a pipe
- r, w, err := os.Pipe()
- if err != nil {
- t.Fatalf("Failed to create pipe: %v", err)
- }
-
- // Replace stdin with our pipe
- os.Stdin = r
-
- // Write test data to the pipe
- testData := "test piped input"
- go func() {
- defer w.Close()
- w.Write([]byte(testData))
- }()
-
- // Call the function
- data, hasPiped := checkStdinPipe()
-
- // Check results
- if !hasPiped {
- t.Error("Expected hasPiped to be true, got false")
- }
- if data != testData {
- t.Errorf("Expected data to be %q, got %q", testData, data)
- }
- })
-
- // Test case 2: No data is piped in (simulated terminal)
- t.Run("WithoutPipedData", func(t *testing.T) {
- // Create a temporary file to simulate a terminal
- tmpFile, err := os.CreateTemp("", "terminal-sim")
- if err != nil {
- t.Fatalf("Failed to create temp file: %v", err)
- }
- defer os.Remove(tmpFile.Name())
- defer tmpFile.Close()
-
- // Open the file for reading
- f, err := os.Open(tmpFile.Name())
- if err != nil {
- t.Fatalf("Failed to open temp file: %v", err)
- }
- defer f.Close()
-
- // Replace stdin with our file
- os.Stdin = f
-
- // Call the function
- data, hasPiped := checkStdinPipe()
-
- // Check results
- if hasPiped {
- t.Error("Expected hasPiped to be false, got true")
- }
- if data != "" {
- t.Errorf("Expected data to be empty, got %q", data)
- }
- })
-}
-
-// This is a mock implementation for testing since we can't easily mock os.Stdin.Stat()
-// in a way that would return the correct Mode() for our test cases
-func mockCheckStdinPipe(reader io.Reader, isPipe bool) (string, bool) {
- if !isPipe {
- return "", false
- }
-
- data, err := io.ReadAll(reader)
- if err != nil {
- return "", false
- }
-
- if len(data) > 0 {
- return string(data), true
- }
- return "", false
-}
-
-func TestMockCheckStdinPipe(t *testing.T) {
- // Test with data
- t.Run("WithData", func(t *testing.T) {
- testData := "test data"
- reader := bytes.NewBufferString(testData)
-
- data, hasPiped := mockCheckStdinPipe(reader, true)
-
- if !hasPiped {
- t.Error("Expected hasPiped to be true, got false")
- }
- if data != testData {
- t.Errorf("Expected data to be %q, got %q", testData, data)
- }
- })
-
- // Test without data
- t.Run("WithoutData", func(t *testing.T) {
- reader := bytes.NewBufferString("")
-
- data, hasPiped := mockCheckStdinPipe(reader, true)
-
- if hasPiped {
- t.Error("Expected hasPiped to be false, got true")
- }
- if data != "" {
- t.Errorf("Expected data to be empty, got %q", data)
- }
- })
-
- // Test not a pipe
- t.Run("NotAPipe", func(t *testing.T) {
- reader := bytes.NewBufferString("data that should be ignored")
-
- data, hasPiped := mockCheckStdinPipe(reader, false)
-
- if hasPiped {
- t.Error("Expected hasPiped to be false, got true")
- }
- if data != "" {
- t.Errorf("Expected data to be empty, got %q", data)
- }
- })
-} \ No newline at end of file