From 553883a1f459a7ac97fc51d88244f3f215619b8f Mon Sep 17 00:00:00 2001
From: Vincent Petry <pvince81@owncloud.com>
Date: Tue, 6 Dec 2016 13:35:45 +0100
Subject: [PATCH] Add integration test for creating folder with colon

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
---
 build/integration/features/bootstrap/WebDav.php  |  9 +++++++++
 .../integration/features/webdav-related.feature  | 16 ++++++++++++++++
 2 files changed, 25 insertions(+)

diff --git a/build/integration/features/bootstrap/WebDav.php b/build/integration/features/bootstrap/WebDav.php
index 8a34d90b849..0a08e764e30 100644
--- a/build/integration/features/bootstrap/WebDav.php
+++ b/build/integration/features/bootstrap/WebDav.php
@@ -31,6 +31,7 @@
 use GuzzleHttp\Client as GClient;
 use GuzzleHttp\Message\ResponseInterface;
 use Sabre\DAV\Client as SClient;
+use Sabre\DAV\Xml\Property\ResourceType;
 
 require __DIR__ . '/../../vendor/autoload.php';
 
@@ -328,6 +329,14 @@ trait WebDav {
 		}
 
 		$value = $keys[$key];
+		if ($value instanceof ResourceType) {
+			$value = $value->getValue();
+			if (empty($value)) {
+				$value = '';
+			} else {
+				$value = $value[0];
+			}
+		}
 		if ($value != $expectedValue) {
 			throw new \Exception("Property \"$key\" found with value \"$value\", expected \"$expectedValue\"");
 		}
diff --git a/build/integration/features/webdav-related.feature b/build/integration/features/webdav-related.feature
index 658e689f54e..b75fdd35618 100644
--- a/build/integration/features/webdav-related.feature
+++ b/build/integration/features/webdav-related.feature
@@ -447,3 +447,19 @@ Feature: webdav-related
 		And As an "user1"
 		When User "user1" deletes file "/testfolder/asdf.txt"
 		Then the HTTP status code should be "204"
+
+	Scenario: Creating a folder
+		Given using old dav path
+		And user "user0" exists
+		And user "user0" created a folder "/test_folder"
+		When as "user0" gets properties of folder "/test_folder" with
+		  |{DAV:}resourcetype|
+		Then the single response should contain a property "{DAV:}resourcetype" with value "{DAV:}collection"
+
+	Scenario: Creating a folder with special chars
+		Given using old dav path
+		And user "user0" exists
+		And user "user0" created a folder "/test_folder:5"
+		When as "user0" gets properties of folder "/test_folder:5" with
+		  |{DAV:}resourcetype|
+		Then the single response should contain a property "{DAV:}resourcetype" with value "{DAV:}collection"
-- 
GitLab