diff --git a/testing/tests/binding/1106-BIND.result b/testing/tests/binding/1106-BIND.result
new file mode 100644
index 00000000..b0d4279e
--- /dev/null
+++ b/testing/tests/binding/1106-BIND.result
@@ -0,0 +1,51 @@
+HTTP/1.1 201 Created
+Date: Dow, 01 Jan 2000 00:00:00 GMT
+DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
+DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy
+Location: /caldav.php/user4/boundbase2/
+Content-Length: 0
+Content-Type: text/plain; charset="utf-8"
+
+
+ bind_id: >1602<
+ bound_source_id: >161<
+ dav_displayname: >Updated Displayname with PROPPATCH<
+ dav_name: >/user4/user2/<
+ length: >8<
+ parent_container: >/user4/<
+
+ bind_id: >1603<
+ bound_source_id: >160<
+ dav_displayname: >User 1's Calendaranza<
+ dav_name: >/user4/user1/<
+ length: >8<
+ parent_container: >/user4/<
+
+ bind_id: >1607<
+ bound_source_id: >160<
+ dav_displayname: >User 1's Calendaranza<
+ dav_name: >/user4/base/user1/<
+ length: >8<
+ parent_container: >/user4/base/<
+
+ bind_id: >1608<
+ bound_source_id: >161<
+ dav_displayname: >User 2's Calendar, as uploaded by Admin<
+ dav_name: >/user4/base/user2/<
+ length: >8<
+ parent_container: >/user4/base/<
+
+ bind_id: >1630<
+ bound_source_id: >1605<
+ dav_displayname: >A normal collection<
+ dav_name: >/user4/boundbase/<
+ length: >NULL<
+ parent_container: >/user4/<
+
+ bind_id: >1631<
+ bound_source_id: >1605<
+ dav_displayname: >A normal collection<
+ dav_name: >/user4/boundbase2/<
+ length: >NULL<
+ parent_container: >/user4/<
+
diff --git a/testing/tests/binding/1106-BIND.test b/testing/tests/binding/1106-BIND.test
new file mode 100644
index 00000000..2803d759
--- /dev/null
+++ b/testing/tests/binding/1106-BIND.test
@@ -0,0 +1,39 @@
+#
+# Here we are binding against a collection containing further
+# bindings, at the same level in the same collection.
+#
+# Before:
+# /user4/base a collection containing two bindings and a collection
+#
+# After:
+# /user4/boundbase is bound to /user4/base, so it should also appear
+# to contain two bindings and a collection
+#
+TYPE=BIND
+URL=http://regression.host/caldav.php/user4/
+AUTH=user4:user4
+
+HEADER=User-Agent: Ticket Spec Tests
+HEADER=Content-Type: text/xml; charset="UTF-8"
+HEAD
+
+
+BEGINDATA
+
+
+ boundbase2
+ /caldav.php/user4/base/
+
+ENDDATA
+
+QUERY
+SELECT bind_id,
+ bound_source_id,
+ length(access_ticket_id),
+ parent_container,
+ dav_name,
+ dav_displayname
+ FROM dav_binding
+ ORDER BY bind_id
+ENDQUERY
+
diff --git a/testing/tests/binding/1200-BIND-to-BIND.result b/testing/tests/binding/1200-BIND-to-BIND.result
new file mode 100644
index 00000000..4b33e50d
--- /dev/null
+++ b/testing/tests/binding/1200-BIND-to-BIND.result
@@ -0,0 +1,58 @@
+HTTP/1.1 201 Created
+Date: Dow, 01 Jan 2000 00:00:00 GMT
+DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
+DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy
+Location: /caldav.php/user4/bind2bind/
+Content-Length: 0
+Content-Type: text/plain; charset="utf-8"
+
+
+ bind_id: >1602<
+ bound_source_id: >161<
+ dav_displayname: >Updated Displayname with PROPPATCH<
+ dav_name: >/user4/user2/<
+ length: >8<
+ parent_container: >/user4/<
+
+ bind_id: >1603<
+ bound_source_id: >160<
+ dav_displayname: >User 1's Calendaranza<
+ dav_name: >/user4/user1/<
+ length: >8<
+ parent_container: >/user4/<
+
+ bind_id: >1607<
+ bound_source_id: >160<
+ dav_displayname: >User 1's Calendaranza<
+ dav_name: >/user4/base/user1/<
+ length: >8<
+ parent_container: >/user4/base/<
+
+ bind_id: >1608<
+ bound_source_id: >161<
+ dav_displayname: >User 2's Calendar, as uploaded by Admin<
+ dav_name: >/user4/base/user2/<
+ length: >8<
+ parent_container: >/user4/base/<
+
+ bind_id: >1630<
+ bound_source_id: >1605<
+ dav_displayname: >A normal collection<
+ dav_name: >/user4/boundbase/<
+ length: >NULL<
+ parent_container: >/user4/<
+
+ bind_id: >1631<
+ bound_source_id: >1605<
+ dav_displayname: >A normal collection<
+ dav_name: >/user4/boundbase2/<
+ length: >NULL<
+ parent_container: >/user4/<
+
+ bind_id: >1632<
+ bound_source_id: >1605<
+ dav_displayname: >A normal collection<
+ dav_name: >/user4/bind2bind/<
+ length: >NULL<
+ parent_container: >/user4/<
+
diff --git a/testing/tests/binding/1200-BIND-to-BIND.test b/testing/tests/binding/1200-BIND-to-BIND.test
new file mode 100644
index 00000000..18b70c2d
--- /dev/null
+++ b/testing/tests/binding/1200-BIND-to-BIND.test
@@ -0,0 +1,40 @@
+#
+# Here we are binding against a collection which is itself a binding
+# bindings, at the same level in the same collection.
+#
+# Before:
+# /user4/boundbase a binding to a collection containing two bindings
+# and a real collection
+#
+# After:
+# /user4/bind2bind is bound to /user4/boundbase, so it should also
+# appear to contain two bindings and a collection
+#
+TYPE=BIND
+URL=http://regression.host/caldav.php/user4/
+AUTH=user4:user4
+
+HEADER=User-Agent: Ticket Spec Tests
+HEADER=Content-Type: text/xml; charset="UTF-8"
+HEAD
+
+
+BEGINDATA
+
+
+ bind2bind
+ /caldav.php/user4/boundbase/
+
+ENDDATA
+
+QUERY
+SELECT bind_id,
+ bound_source_id,
+ length(access_ticket_id),
+ parent_container,
+ dav_name,
+ dav_displayname
+ FROM dav_binding
+ ORDER BY bind_id
+ENDQUERY
+
diff --git a/testing/tests/binding/1201-BIND-to-BIND.result b/testing/tests/binding/1201-BIND-to-BIND.result
new file mode 100644
index 00000000..ac9c87ef
--- /dev/null
+++ b/testing/tests/binding/1201-BIND-to-BIND.result
@@ -0,0 +1,65 @@
+HTTP/1.1 201 Created
+Date: Dow, 01 Jan 2000 00:00:00 GMT
+DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
+DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy
+Location: /caldav.php/user4/bind2bind-noslash/
+Content-Length: 0
+Content-Type: text/plain; charset="utf-8"
+
+
+ bind_id: >1602<
+ bound_source_id: >161<
+ dav_displayname: >Updated Displayname with PROPPATCH<
+ dav_name: >/user4/user2/<
+ length: >8<
+ parent_container: >/user4/<
+
+ bind_id: >1603<
+ bound_source_id: >160<
+ dav_displayname: >User 1's Calendaranza<
+ dav_name: >/user4/user1/<
+ length: >8<
+ parent_container: >/user4/<
+
+ bind_id: >1607<
+ bound_source_id: >160<
+ dav_displayname: >User 1's Calendaranza<
+ dav_name: >/user4/base/user1/<
+ length: >8<
+ parent_container: >/user4/base/<
+
+ bind_id: >1608<
+ bound_source_id: >161<
+ dav_displayname: >User 2's Calendar, as uploaded by Admin<
+ dav_name: >/user4/base/user2/<
+ length: >8<
+ parent_container: >/user4/base/<
+
+ bind_id: >1630<
+ bound_source_id: >1605<
+ dav_displayname: >A normal collection<
+ dav_name: >/user4/boundbase/<
+ length: >NULL<
+ parent_container: >/user4/<
+
+ bind_id: >1631<
+ bound_source_id: >1605<
+ dav_displayname: >A normal collection<
+ dav_name: >/user4/boundbase2/<
+ length: >NULL<
+ parent_container: >/user4/<
+
+ bind_id: >1632<
+ bound_source_id: >1605<
+ dav_displayname: >A normal collection<
+ dav_name: >/user4/bind2bind/<
+ length: >NULL<
+ parent_container: >/user4/<
+
+ bind_id: >1633<
+ bound_source_id: >1605<
+ dav_displayname: >A normal collection<
+ dav_name: >/user4/bind2bind-noslash/<
+ length: >NULL<
+ parent_container: >/user4/<
+
diff --git a/testing/tests/binding/1201-BIND-to-BIND.test b/testing/tests/binding/1201-BIND-to-BIND.test
new file mode 100644
index 00000000..7db45bc7
--- /dev/null
+++ b/testing/tests/binding/1201-BIND-to-BIND.test
@@ -0,0 +1,40 @@
+#
+# Here we are binding against a collection which is itself a binding
+# bindings, at the same level in the same collection.
+#
+# Before:
+# /user4/boundbase a binding to a collection containing two bindings
+# and a real collection
+#
+# After:
+# /user4/bind2bind is bound to /user4/boundbase, so it should also
+# appear to contain two bindings and a collection
+#
+TYPE=BIND
+URL=http://regression.host/caldav.php/user4/
+AUTH=user4:user4
+
+HEADER=User-Agent: Ticket Spec Tests
+HEADER=Content-Type: text/xml; charset="UTF-8"
+HEAD
+
+
+BEGINDATA
+
+
+ bind2bind-noslash
+ /caldav.php/user4/boundbase
+
+ENDDATA
+
+QUERY
+SELECT bind_id,
+ bound_source_id,
+ length(access_ticket_id),
+ parent_container,
+ dav_name,
+ dav_displayname
+ FROM dav_binding
+ ORDER BY bind_id
+ENDQUERY
+