aboutsummaryrefslogtreecommitdiff
path: root/client_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'client_test.go')
-rw-r--r--client_test.go63
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)
+ }
+}