diff options
Diffstat (limited to 'client_test.go')
| -rw-r--r-- | client_test.go | 63 |
1 files changed, 62 insertions, 1 deletions
diff --git a/client_test.go b/client_test.go index fa9e3c7..2f429e8 100644 --- a/client_test.go +++ b/client_test.go @@ -6,6 +6,8 @@ package kbbi import ( "os" "testing" + + "git.sr.ht/~shulhan/pakakeh.go/lib/test" ) func TestClient_parseHTMLKataDasar(t *testing.T) { @@ -14,7 +16,9 @@ func TestClient_parseHTMLKataDasar(t *testing.T) { t.Fatal(err) } - cl, err := NewClient() + var opts ClientOptions + + cl, err := NewClient(opts) if err != nil { t.Fatal(err) } @@ -26,3 +30,60 @@ func TestClient_parseHTMLKataDasar(t *testing.T) { t.Logf("Root words: %v", got) } + +func TestClient_parseHTMLEntri(t *testing.T) { + cases := []struct { + exp *Word + infile string + cari string + }{{ + infile: "testdata/entri.html", + cari: "informasi", + exp: &Word{ + Definition: []*WordDefinition{{ + Value: "penerangan", + Classes: []string{"Nomina: kata benda"}, + }, { + Value: "pemberitahuan; kabar atau berita tentang sesuatu", + Classes: []string{"Nomina: kata benda"}, + }, { + Value: "keseluruhan makna yang menunjang amanat yang " + + "terlihat dalam bagian-bagian " + + "amanat itu", + Classes: []string{ + "Nomina: kata benda", + "Linguistik: -", + }, + }}, + }, + }, { + infile: "testdata/entri_analisa.html", + cari: "analisa", + exp: &Word{ + Message: `"analisa" adalah bentuk tidak baku dari "analisis"`, + }, + }} + + cl, err := NewClient(ClientOptions{}) + if err != nil { + t.Fatal(err) + } + + for _, c := range cases { + htmlBody, err := os.ReadFile(c.infile) + if err != nil { + t.Fatal(err) + } + + got, err := cl.parseHTMLEntri(c.cari, htmlBody) + if err != nil { + t.Fatal(err) + } + + for x, def := range c.exp.Definition { + test.Assert(t, `Definition`, def, got.Definition[x]) + } + + test.Assert(t, c.infile, c.exp, got) + } +} |
