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,37 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"path/filepath"
|
||||
"reflect"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestTextPreferencesPersistAndInheritByApplication(t *testing.T) {
|
||||
store, err := NewStore(filepath.Join(t.TempDir(), "settings.toml"))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
global := DefaultSettings()
|
||||
global.Pronunciations = []PronunciationEntry{{Word: "SQL", Replacement: "sequel"}}
|
||||
global.TextAttributes.Choices[0].Speak = false
|
||||
global.TextAttributes.Choices[0].Braille = true
|
||||
global.TextAttributes.Indicator = 0x40
|
||||
if err := store.Save(global); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
loaded, err := store.Load()
|
||||
if err != nil || !reflect.DeepEqual(loaded.Pronunciations, global.Pronunciations) || !reflect.DeepEqual(loaded.TextAttributes, global.TextAttributes) {
|
||||
t.Fatalf("loaded preferences = %+v, %+v, %v", loaded.Pronunciations, loaded.TextAttributes, err)
|
||||
}
|
||||
app := cloneSettings(global)
|
||||
app.Pronunciations = []PronunciationEntry{{Word: "SQL", Replacement: "S Q L"}}
|
||||
app.TextAttributes.Choices[0], app.TextAttributes.Choices[1] = app.TextAttributes.Choices[1], app.TextAttributes.Choices[0]
|
||||
app.TextAttributes.Indicator = 0xc0
|
||||
if err := store.SaveForApplication("Editor", app); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
actual, found, err := store.LoadForApplication("Editor")
|
||||
if err != nil || !found || !reflect.DeepEqual(actual.Pronunciations, app.Pronunciations) || !reflect.DeepEqual(actual.TextAttributes, app.TextAttributes) {
|
||||
t.Fatalf("application preferences = %+v, %+v, %t, %v", actual.Pronunciations, actual.TextAttributes, found, err)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user