aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Schadt <kingdread@gmx.de>2026-10-05 00:03:16 +0200
committerDaniel Schadt <kingdread@gmx.de>2026-10-05 00:03:16 +0200
commitd9c51dbef226bd9816f94f46144e399cb0b05ed3 (patch)
treeb95cc14278a8bc167d9e99fead1c67e1f164946c
parentd4350589f45af38988bd3d5763cd2a5f8ca93e8b (diff)
downloadfietsboek-d9c51dbef226bd9816f94f46144e399cb0b05ed3.tar.gz
fietsboek-d9c51dbef226bd9816f94f46144e399cb0b05ed3.tar.bz2
fietsboek-d9c51dbef226bd9816f94f46144e399cb0b05ed3.zip
test upload with non-ascii title/description
-rw-r--r--tests/integration/test_upload.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/integration/test_upload.py b/tests/integration/test_upload.py
index f09b468..8d51512 100644
--- a/tests/integration/test_upload.py
+++ b/tests/integration/test_upload.py
@@ -40,6 +40,37 @@ def test_upload(testapp, dbsession, route_path, logged_in):
assert track.description == "Super descriptive text!"
+def test_upload_unicode(testapp, dbsession, route_path, logged_in):
+ # Step 1: Go to the upload form
+ upload_site = testapp.get(route_path('upload'))
+
+ # Step 2: Fill it out
+ upload_form = upload_site.form
+ upload_form['gpx'] = Upload('super_track.gpx', load_gpx_asset('Teasi_1.gpx.gz'))
+ result = upload_form.submit().maybe_follow()
+
+ # Step 3: We are now on the "Finish upload" page
+ assert "<h1>Upload</h1>" in result.text
+
+ finish_form = result.forms[0]
+ finish_form["title"].value = title = "Föö Bär's Teßtträck 😭"
+ finish_form["description"].value = desc = "Велосипед"
+ # The tagged-friend[] has a disabled attribute, which webtest does not
+ # respect. Therefore, we need to manually remove it:
+ finish_form.field_order = [
+ (name, field) for (name, field) in finish_form.field_order if name != "tagged-friend[]"
+ ]
+
+ result = finish_form.submit().maybe_follow()
+ assert re.search("<h1>\\s*Föö Bär", result.text)
+
+ # Step 4: Ensure the track is stored right
+ track = dbsession.execute(select(models.Track)).scalar_one()
+ assert track.title == title
+ assert track.description == desc
+
+
+
def test_upload_cancel(testapp, dbsession, route_path, logged_in):
# Step 1: Go to the upload form
upload_site = testapp.get(route_path('upload'))