github.com/aarzilli/tools@v0.0.0-20151123112009-0d27094f75e0/net/http/domclean2/t_breakout_imgs_from_a_trees_test.go (about) 1 // +build split 2 // go test -tags=split 3 4 package domclean2 5 6 import ( 7 "bytes" 8 "strings" 9 "testing" 10 11 "github.com/pbberlin/tools/net/http/loghttp" 12 "github.com/pbberlin/tools/os/osutilpb" 13 "golang.org/x/net/html" 14 ) 15 16 var testDocs = make([]string, 2) 17 18 func init() { 19 20 // inp 21 testDocs[0] = `<!DOCTYPE html><html><head> 22 </head><body> 23 24 <p> 25 <a href="/some/first/page.html">Links1: 26 no img 27 </a> 28 <a href="/some/first/page.html">Links2: 29 <span>text bef</span> 30 <img src="/img1src" title="img-title-01" /> 31 <span>text aft</span> 32 </a> 33 34 </p> 35 <div> 36 <div> 37 <a href="/some/first/page.html">Links3: 38 <span>text2 bef</span> 39 <span> 40 <span>text3 bef</span> 41 <img src="/img1src" title="img-title-02" /> 42 <span>text3 aft</span> 43 </span> 44 <span>text2 aft</span> 45 </a> 46 </div> 47 </div> 48 </body></html>` 49 50 // want 51 testDocs[1] = `<!DOCTYPE html><html><head></head><body> 52 <p> 53 <a href="/some/first/page.html">Links1: 54 no img 55 </a> 56 <a href="/some/first/page.html">Links2: 57 <span>text bef 58 </span> 59 </a> 60 <a href="/img1src" title="img-title-01" cfrom="img">[img] img-title-01 /img1src | 61 </a> 62 <a href="/some/first/page.html"> 63 <span>text aft 64 </span> 65 </a> 66 </p> 67 <div> 68 <div> 69 <a href="/some/first/page.html">Links3: 70 <span>text2 bef 71 </span> 72 <span> 73 <span>text3 bef 74 </span> 75 </span> 76 </a> 77 <a href="/img1src" title="img-title-02" cfrom="img">[img] img-title-02 /img1src | 78 </a> 79 <a href="/some/first/page.html"> 80 <span> 81 <span>text3 aft 82 </span> 83 </span> 84 <span>text2 aft 85 </span> 86 </a> 87 </div> 88 </div></body></html>` 89 90 } 91 92 func Test2(t *testing.T) { 93 94 lg, lge := loghttp.Logger(nil, nil) 95 96 doc, err := html.Parse(strings.NewReader(testDocs[0])) 97 if err != nil { 98 lge(err) 99 return 100 } 101 removeCommentsAndIntertagWhitespace(NdX{doc, 0}) 102 103 breakoutImagesFromAnchorTrees(doc) 104 105 removeCommentsAndIntertagWhitespace(NdX{doc, 0}) 106 reIndent(doc, 0) 107 var b bytes.Buffer 108 err = html.Render(&b, doc) 109 lge(err) 110 if b.String() != testDocs[1] { 111 t.Errorf("output unexpted") 112 } 113 114 osutilpb.Bytes2File("outp1_inp.html", []byte(testDocs[0])) 115 osutilpb.Dom2File("outp2_got.html", doc) 116 osutilpb.Bytes2File("outp3_want.html", []byte(testDocs[1])) 117 118 lg("end") 119 120 }