diff options
| author | Daniel Schadt <kingdread@gmx.de> | 2026-10-05 00:03:16 +0200 |
|---|---|---|
| committer | Daniel Schadt <kingdread@gmx.de> | 2026-10-05 00:03:16 +0200 |
| commit | d9c51dbef226bd9816f94f46144e399cb0b05ed3 (patch) | |
| tree | b95cc14278a8bc167d9e99fead1c67e1f164946c | |
| parent | d4350589f45af38988bd3d5763cd2a5f8ca93e8b (diff) | |
| download | fietsboek-d9c51dbef226bd9816f94f46144e399cb0b05ed3.tar.gz fietsboek-d9c51dbef226bd9816f94f46144e399cb0b05ed3.tar.bz2 fietsboek-d9c51dbef226bd9816f94f46144e399cb0b05ed3.zip | |
test upload with non-ascii title/description
| -rw-r--r-- | tests/integration/test_upload.py | 31 |
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')) |
