package main import ( "io/ioutil" "os" "regexp" "testing" "time" "github.com/lestrrat-go/libxml2" ) func TestCase0(t *testing.T) { f, err := os.Open("./test.html") if err != nil { panic(err) } data, err := ioutil.ReadAll(f) if err != nil { panic(err) } matheslist := regexp.MustCompile(`TagButton__Button[^>]+>(.{1,100})</a`).FindAllStringSubmatch(string(data), -1) t.Error(matheslist) } func TestCase1(t *testing.T) { date := "2020-07-13T18:58:24+09:00" tm, err := time.Parse("2006-01-02T15:04:05Z07:00", date) t.Error(err) t.Error(time.Now()) t.Error(tm.Local().UTC(), tm.Local()) } func TestCase2(t *testing.T) { duration1 := "0:00:00" duration2 := "4:56:04" tm2, err := time.Parse("15:04:05", duration2) tm1, err := time.Parse("15:04:05", duration1) tm2.Sub(tm1) t.Error(err) t.Error(tm2.Sub(tm1)) } func TestCase(t *testing.T) { f, _ := os.Open("./test.html") data, _ := ioutil.ReadAll(f) doc, err := libxml2.ParseHTML(data) if err != nil { panic(err) } // doc.CreateElement("meta") // "<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">" xresult, err := doc.Find("/html/head") ele, err := doc.CreateElement(`META`) if err != nil { panic(err) } ele.SetAttribute("charset", "utf-8") if err != nil { panic(err) } iter := xresult.NodeIter() if iter.Next() { n := iter.Node() err = n.AddChild(ele) // childs, err := n.ChildNodes() if err != nil { t.Error(err) } t.Error(n) } xr, err := doc.Find("//h1[ contains(@class, 'MovieTitle__Title')]") if err != nil { panic(nil) } t.Error(xr) } func TestExtractor(t *testing.T) { Execute() }