| package actions |
|
|
| import ( |
| "os" |
| "path/filepath" |
| "strings" |
| "testing" |
|
|
| "github.com/spf13/cobra" |
| ) |
|
|
| func TestScreenshot(t *testing.T) { |
| m := newMockServer() |
| m.response = "FAKEJPEGDATA" |
| defer m.close() |
| client := m.server.Client() |
|
|
| outFile := filepath.Join(t.TempDir(), "test.jpg") |
| cmd := &cobra.Command{} |
| cmd.Flags().String("output", outFile, "") |
| cmd.Flags().String("quality", "50", "") |
| cmd.Flags().String("tab", "", "") |
| Screenshot(client, m.base(), "", cmd) |
| if m.lastPath != "/screenshot" { |
| t.Errorf("expected /screenshot, got %s", m.lastPath) |
| } |
| if !strings.Contains(m.lastQuery, "quality=50") { |
| t.Errorf("expected quality=50, got %s", m.lastQuery) |
| } |
| data, err := os.ReadFile(outFile) |
| if err != nil { |
| t.Fatalf("file not written: %v", err) |
| } |
| if string(data) != "FAKEJPEGDATA" { |
| t.Errorf("unexpected content: %s", string(data)) |
| } |
| } |
|
|