Allow self as an argument to url_for

This makes the Flask.url_for self argument positional only (Flask
supports Python 3.8+) thereby restoring the ability to pass self as a
value argument to url_for.
This commit is contained in:
pgjones 2023-09-24 16:16:55 +01:00 committed by Phil Jones
parent b7c1290528
commit 438edcdf01
3 changed files with 9 additions and 0 deletions

View file

@ -161,6 +161,13 @@ class TestUrlFor:
assert flask.url_for("myview", id=42, _method="GET") == "/myview/42"
assert flask.url_for("myview", _method="POST") == "/myview/create"
def test_url_for_with_self(self, app, req_ctx):
@app.route("/<self>")
def index(self):
return "42"
assert flask.url_for("index", self="2") == "/2"
def test_redirect_no_app():
response = flask.redirect("https://localhost", 307)