From 210eb5b5293f4bd4d6734a2a4317484fd26215e8 Mon Sep 17 00:00:00 2001
From: "Jason R. Coombs" <jaraco@jaraco.com>
Date: Sat, 30 Jan 2021 11:32:12 -0500
Subject: [PATCH] Add test for escape_path.

---
 src/allmydata/scripts/common.py | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/allmydata/scripts/common.py b/src/allmydata/scripts/common.py
index d73344274..e50617fd7 100644
--- a/src/allmydata/scripts/common.py
+++ b/src/allmydata/scripts/common.py
@@ -1,3 +1,5 @@
+# coding: utf-8
+
 from __future__ import print_function
 
 import os, sys, urllib, textwrap
@@ -270,6 +272,16 @@ def get_alias(aliases, path_unicode, default):
     return uri.from_string_dirnode(aliases[alias]).to_string(), path[colon+1:]
 
 def escape_path(path):
+    # type: (str) -> str
+    """
+    Return path quoted to US-ASCII.
+
+    >>> path = u'/føö/bar/☃'
+    >>> escape_path(path)
+    '/f%C3%B8%C3%B6/bar/%E2%98%83'
+    >>> escape_path(path).encode('ascii')
+    b'/f%C3%B8%C3%B6/bar/%E2%98%83'
+    """
     # this always returns bytes, specifically US-ASCII, valid URL characters
     segments = path.split("/")
     return "/".join([urllib.quote(unicode_to_url(s)) for s in segments])