package spell import "testing" func loadT(t *testing.T) *Dict { t.Helper() d, err := Load() if err != nil { t.Fatalf("Load: %v", err) } return d } func TestKnownCommonWords(t *testing.T) { d := loadT(t) for _, w := range []string{"the", "receive", "separate", "believe", "government", "markdown", "editor"} { if !d.Known(w) { t.Errorf("Known(%q) = false, want true", w) } } } func TestUnknownTypos(t *testing.T) { d := loadT(t) for _, w := range []string{"recieve", "seperate", "definately", "teh", "qwertyx"} { if d.Known(w) { t.Errorf("Known(%q) = true, want false (typo)", w) } } } func TestKnownCaseInsensitive(t *testing.T) { d := loadT(t) for _, w := range []string{"The", "RECEIVE", "Government"} { if !d.Known(w) { t.Errorf("Known(%q) = false, want true (case-insensitive)", w) } } } func TestKnownPossessiveAndPlural(t *testing.T) { d := loadT(t) // Possessive of a known word is accepted leniently even if the exact // possessive form isn't a dictionary entry. for _, w := range []string{"government's", "editor's", "markdown's"} { if !d.Known(w) { t.Errorf("Known(%q) = false, want true (possessive of known word)", w) } } }