From 117183a36ebbd3be3d1613d46170cfe9f2881fde Mon Sep 17 00:00:00 2001 From: Shulhan Date: Sun, 29 Mar 2020 04:41:12 +0700 Subject: definisi_kata: bersihkan spasi menjadi satu spasi --- definisi_kata.go | 3 ++- go.mod | 6 ++++-- go.sum | 13 ++++++------- kata_test.go | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 70 insertions(+), 10 deletions(-) create mode 100644 kata_test.go diff --git a/definisi_kata.go b/definisi_kata.go index faeda2e..26b78f7 100644 --- a/definisi_kata.go +++ b/definisi_kata.go @@ -7,6 +7,7 @@ package kbbi import ( "strings" + libstrings "github.com/shuLhan/share/lib/strings" "golang.org/x/net/html" ) @@ -44,7 +45,7 @@ func parseDefinisiKata(li *html.Node) (defKata *DefinisiKata) { } el := getNextSibling(elFont) - defKata.Isi = strings.TrimSpace(el.Data) + defKata.Isi = strings.TrimSpace(libstrings.SingleSpace(el.Data)) if defKata.Isi[len(defKata.Isi)-1] != ':' { return defKata diff --git a/go.mod b/go.mod index 8ad1b8e..c33e32d 100644 --- a/go.mod +++ b/go.mod @@ -3,6 +3,8 @@ module github.com/shuLhan/kbbi go 1.13 require ( - github.com/shuLhan/share v0.12.1-0.20200302163505-1bcd4ec98bb7 - golang.org/x/net v0.0.0-20200219183655-46282727080f + github.com/shuLhan/share v0.13.1-0.20200328211544-f4912dbb53e0 + golang.org/x/net v0.0.0-20200320220750-118fecf932d8 ) + +//replace github.com/shuLhan/share => ../share diff --git a/go.sum b/go.sum index 3df22e3..a038423 100644 --- a/go.sum +++ b/go.sum @@ -1,12 +1,11 @@ -github.com/shuLhan/share v0.12.1-0.20200302163505-1bcd4ec98bb7 h1:/fytEgp7AmQVhYbCHjXaFjqKnBlC+yfKyPmbwJO5Yow= -github.com/shuLhan/share v0.12.1-0.20200302163505-1bcd4ec98bb7/go.mod h1:Emg87N4W7IEW+CvvXLblyK20liLrCkue43s2dg6tEok= +github.com/shuLhan/share v0.13.1-0.20200328211544-f4912dbb53e0 h1:/yJph5LPHE21i+A5B8PBthxbAjRx50V+28af/I64vN4= +github.com/shuLhan/share v0.13.1-0.20200328211544-f4912dbb53e0/go.mod h1:uG1C5VfU81bI4iQ48VbWRm5c7mkvpr4huuUO54PKK1o= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20200210222208-86ce3cb69678/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200320181102-891825fb96df/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200219183655-46282727080f h1:dB42wwhNuwPvh8f+5zZWNcU+F2Xs/B9wXXwvUCOH7r8= -golang.org/x/net v0.0.0-20200219183655-46282727080f/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200320220750-118fecf932d8 h1:1+zQlQqEEhUeStBTi653GZAnAuivZq/2hz+Iz+OP7rg= +golang.org/x/net v0.0.0-20200320220750-118fecf932d8/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200321134203-328b4cd54aae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/kata_test.go b/kata_test.go new file mode 100644 index 0000000..83e9177 --- /dev/null +++ b/kata_test.go @@ -0,0 +1,58 @@ +// Copyright 2020, Shulhan . All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package kbbi + +import ( + "io/ioutil" + "testing" + + "github.com/shuLhan/share/lib/test" +) + +func TestKata_parseHTMLEntri(t *testing.T) { + cases := []struct { + infile string + exp *Kata + }{{ + infile: "testdata/entri.html", + exp: &Kata{ + Definisi: []*DefinisiKata{{ + Isi: "penerangan", + Kelas: []string{"Nomina: kata benda"}, + }, { + Isi: "pemberitahuan; kabar atau berita tentang sesuatu", + Kelas: []string{"Nomina: kata benda"}, + }, { + Isi: "keseluruhan makna yang menunjang amanat yang " + + "terlihat dalam bagian-bagian " + + "amanat itu", + Kelas: []string{ + "Nomina: kata benda", + "Linguistik: -", + }, + }}, + }, + }} + + for _, c := range cases { + htmlBody, err := ioutil.ReadFile("testdata/entri.html") + if err != nil { + t.Fatal(err) + } + + got := new(Kata) + + err = got.parseHTMLEntri(htmlBody) + if err != nil { + t.Fatal(err) + } + + for x, def := range c.exp.Definisi { + test.Assert(t, "Definisi", def, got.Definisi[x], true) + } + + test.Assert(t, c.infile, c.exp, got, true) + } +} -- cgit v1.3