shithub: hugo

Download patch

ref: b21d280c675242c42245c1a7a5e00fb1610904e5
parent: 08b582e18730d44111203e28e761c5c7c07062bf
author: Bjørn Erik Pedersen <[email protected]>
date: Sat Feb 6 15:50:26 EST 2016

transform: Complete test statement coverage

"coverage: 100.0% of statements"

--- a/transform/absurlreplacer.go
+++ b/transform/absurlreplacer.go
@@ -85,9 +85,9 @@
 			if r == p.r[l.idx] {
 				l.matches[j] = true
 				found = true
-				if l.checkMatchState(r, j) {
-					return
-				}
+				// checkMatchState will only return true when r=='=', so
+				// we can safely ignore the return value here.
+				l.checkMatchState(r, j)
 			}
 		}
 
@@ -248,9 +248,6 @@
 						p = prefixes[i]
 						l.matches[i] = false
 					}
-				}
-				if p == nil {
-					panic("illegal state: curr is nil when state is full")
 				}
 				l.ms = matchStateNone
 				p.f(l)
--- a/transform/chain_test.go
+++ b/transform/chain_test.go
@@ -36,6 +36,9 @@
 // additional sanity tests for replacements testing
 const REPLACE_1 = "No replacements."
 const REPLACE_2 = "ᚠᛇᚻ ᛒᛦᚦ ᚠᚱᚩᚠᚢᚱ\nᚠᛁᚱᚪ ᚷᛖᚻᚹᛦᛚᚳᚢᛗ"
+const REPLACE_3 = `End of file: src="/`
+const REPLACE_4 = `End of file: srcset="/`
+const REPLACE_5 = `Srcsett with no closing quote: srcset="/img/small.jpg do be do be do.`
 
 // Issue: 816, schemaless links combined with others
 const REPLACE_SCHEMALESS_HTML = `Pre. src='//schemaless' src='/normal'  <a href="//schemaless">Schemaless</a>. <a href="/normal">normal</a>. Post.`
@@ -94,7 +97,7 @@
 	{H5_XML_CONTENT_GUARDED, H5_XML_CONTENT_GUARDED},
 }
 
-var sanity_tests = []test{{REPLACE_1, REPLACE_1}, {REPLACE_2, REPLACE_2}}
+var sanity_tests = []test{{REPLACE_1, REPLACE_1}, {REPLACE_2, REPLACE_2}, {REPLACE_3, REPLACE_3}, {REPLACE_4, REPLACE_4}, {REPLACE_5, REPLACE_5}}
 var extra_tests_html = []test{{REPLACE_SCHEMALESS_HTML, REPLACE_SCHEMALESS_HTML_CORRECT}}
 var abs_url_tests = append(abs_url_bench_tests, append(sanity_tests, extra_tests_html...)...)
 var extra_tests_xml = []test{{REPLACE_SCHEMALESS_XML, REPLACE_SCHEMALESS_XML_CORRECT}}