Cthulhu is no longer a fork. Now it is a screen reader written in Golang.
This commit is contained in:
1 parent
a998fe67de
commit
069fc674dc
708 files changed
+112482
-532
No files matched your search
@@ -0,0 +1,56 @@
|
||||
// Copyright (c) 2026 Storm Dragon
|
||||
// Authors: Storm Dragon, Angus Kola
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
package clipboard
|
||||
|
||||
import (
|
||||
"net/url"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestFormatClipboardContent(t *testing.T) {
|
||||
for _, test := range []struct {
|
||||
name string
|
||||
snapshot Snapshot
|
||||
want string
|
||||
}{
|
||||
{"empty", Snapshot{}, "The clipboard is empty"},
|
||||
{"text", Snapshot{HasText: true, Text: "hello"}, "Text in clipboard hello"},
|
||||
{"empty text", Snapshot{HasText: true}, "Text in clipboard "},
|
||||
{"image overrides text", Snapshot{HasText: true, Text: "hello", Image: true}, "The clipboard contains a image"},
|
||||
} {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
if got := Format(test.snapshot); got != test.want {
|
||||
t.Fatalf("got %q, want %q", got, test.want)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestFormatURIObjects(t *testing.T) {
|
||||
root := t.TempDir()
|
||||
folder := filepath.Join(root, "a folder")
|
||||
file := filepath.Join(root, "a file")
|
||||
link := filepath.Join(root, "link")
|
||||
if err := os.Mkdir(folder, 0700); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := os.WriteFile(file, []byte("x"), 0600); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := os.Symlink(file, link); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
uri := func(localPath string) string { return (&url.URL{Scheme: "file", Path: localPath}).String() }
|
||||
snapshot := Snapshot{URIs: []string{uri(folder), uri(file), uri(link)}}
|
||||
want := "3 Objects in clipboard a folder Folder a file File link File Link"
|
||||
if got := Format(snapshot); got != want {
|
||||
t.Fatalf("got %q, want %q", got, want)
|
||||
}
|
||||
if got := Format(Snapshot{URIs: []string{"", uri(file)}}); got != "1 Object in clipboard a file File" {
|
||||
t.Fatalf("single URI = %q", got)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user