github.com/vugu/vugu@v0.3.5/gen/parser-compact_test.go (about) 1 package gen 2 3 import ( 4 "bytes" 5 "log" 6 "testing" 7 8 "github.com/stretchr/testify/assert" 9 // "github.com/vugu/vugu/internal/htmlx" 10 // "golang.org/x/net/html" 11 "github.com/vugu/html" 12 ) 13 14 func TestCompactNodeTree(t *testing.T) { 15 16 assert := assert.New(t) 17 18 var in = `<html> 19 <head></head> 20 <body> 21 <div> 22 <ul> 23 <li vg-for="abc123" vg-html="something"></li> 24 </ul> 25 <p> 26 This is some static text here, <strong>blah</strong> bleh <em>blee</em>. 27 </p> 28 </div> 29 </body> 30 </html>` 31 32 n, err := html.Parse(bytes.NewReader([]byte(in))) 33 if err != nil { 34 t.Fatal(err) 35 } 36 37 assert.NoError(compactNodeTree(n)) 38 39 var buf bytes.Buffer 40 assert.NoError(html.Render(&buf, n)) 41 42 log.Printf("OUT:\n%s", buf.String()) 43 44 assert.Contains(buf.String(), "<p vg-html=\"vugu.HTML("") 45 46 // log.Printf("HERE: %#v", n.FirstChild.FirstChild.NextSibling.FirstChild.FirstChild) 47 // log.Printf("HERE: %#v", n.FirstChild.FirstChild.NextSibling.NextSibling.FirstChild.FirstChild.NextSibling.NextSibling) 48 // log.Printf("HERE: %#v", n.FirstChild.FirstChild.NextSibling.NextSibling) // body 49 // log.Printf("HERE: %#v", n.FirstChild.FirstChild.NextSibling.NextSibling.FirstChild.NextSibling) // div 50 // log.Printf("HERE: %#v", n.FirstChild.FirstChild.NextSibling.NextSibling.FirstChild.NextSibling.FirstChild.NextSibling) // ul 51 // log.Printf("HERE: %#v", n.FirstChild.FirstChild.NextSibling.NextSibling.FirstChild.NextSibling.FirstChild.NextSibling.NextSibling.NextSibling) 52 53 // p := n.FirstChild.FirstChild.NextSibling.NextSibling.FirstChild.NextSibling.FirstChild.NextSibling.NextSibling.NextSibling 54 // log.Printf("p = %#v", p) 55 // assert.NoError(html.Render(&buf, p)) 56 // log.Printf("OUT:\n%s", buf.String()) 57 58 // log.Printf("p.FirstChild = %#v", p.FirstChild) 59 // log.Printf("p.FirstChild.NextSibling = %#v", p.FirstChild.NextSibling) 60 // log.Printf("p.FirstChild.NextSibling.NextSibling = %#v", p.FirstChild.NextSibling.NextSibling) 61 62 // assert.NoError(html.Render(&buf, p.FirstChild)) 63 // log.Printf("OUT:\n%s", buf.String()) 64 65 }