r2740 - trunk/varnish-cache/bin/varnishtest/tests

phk at projects.linpro.no phk at projects.linpro.no
Fri Jun 20 12:20:31 CEST 2008


Author: phk
Date: 2008-06-20 12:20:30 +0200 (Fri, 20 Jun 2008)
New Revision: 2740

Added:
   trunk/varnish-cache/bin/varnishtest/tests/c00001.vtc
Log:
Add regsub test case so I don't break it again.



Added: trunk/varnish-cache/bin/varnishtest/tests/c00001.vtc
===================================================================
--- trunk/varnish-cache/bin/varnishtest/tests/c00001.vtc	                        (rev 0)
+++ trunk/varnish-cache/bin/varnishtest/tests/c00001.vtc	2008-06-20 10:20:30 UTC (rev 2740)
@@ -0,0 +1,42 @@
+# $Id$
+
+test "Test VCL regsub()"
+
+server s1 {
+	rxreq 
+	txresp \
+		-hdr "Foobar: barf" \
+		-hdr "Connection: close" \
+		-body "012345\n"
+}
+
+varnish v1 -vcl+backend { 
+	sub vcl_fetch {
+		set obj.http.Snafu1 = regsub(obj.http.Foobar, "ar", "&&");
+		set obj.http.Snafu2 =
+		    regsub(obj.http.Foobar, "(b)(a)(r)(f)", "$4$3$2p");
+		set obj.http.Snafu3 =
+		    regsub(obj.http.Foobar, "(b)(a)(r)(f)", "$4\$$3$2p");
+		set obj.http.Snafu4 =
+		    regsub(obj.http.Foobar, "(b)(a)(r)(f)", "$4\&$3$2p");
+		set obj.http.Snafu5 =
+		    regsub(obj.http.Foobar, "(b)(a)(r)(f)", "$$$4$3$2\$p");
+	}
+} -start 
+
+server s1 -start 
+
+client c1 {
+	txreq -url "/"
+	rxresp
+	expect resp.status == 200
+	expect resp.http.X-Varnish == "1001"
+	expect resp.http.foobar == "barf"
+	expect resp.http.snafu1 == "bararf"
+	expect resp.http.snafu2 == "frap"
+	expect resp.http.snafu3 == "f$rap"
+	expect resp.http.snafu4 == "f&rap"
+	expect resp.http.snafu5 == "barffra$p"
+}
+
+client c1 -run




More information about the varnish-commit mailing list