mirror of https://github.com/pallets/flask.git
Fixed late binding of url_prefix. This fixes #29.
This commit is contained in:
parent
720bede150
commit
a921aef6c4
2
flask.py
2
flask.py
|
@ -448,7 +448,7 @@ class Module(_PackageBoundObject):
|
||||||
"""
|
"""
|
||||||
def register_rule(state):
|
def register_rule(state):
|
||||||
the_rule = rule
|
the_rule = rule
|
||||||
if self.url_prefix:
|
if state.url_prefix:
|
||||||
the_rule = state.url_prefix + rule
|
the_rule = state.url_prefix + rule
|
||||||
state.app.add_url_rule(the_rule, '%s.%s' % (self.name, endpoint),
|
state.app.add_url_rule(the_rule, '%s.%s' % (self.name, endpoint),
|
||||||
view_func, **options)
|
view_func, **options)
|
||||||
|
|
|
@ -441,6 +441,15 @@ class ModuleTestCase(unittest.TestCase):
|
||||||
assert catched == ['before-app', 'before-admin',
|
assert catched == ['before-app', 'before-admin',
|
||||||
'after-admin', 'after-app']
|
'after-admin', 'after-app']
|
||||||
|
|
||||||
|
def test_late_binding(self):
|
||||||
|
app = flask.Flask(__name__)
|
||||||
|
admin = flask.Module(__name__, 'admin')
|
||||||
|
@admin.route('/')
|
||||||
|
def index():
|
||||||
|
return '42'
|
||||||
|
app.register_module(admin, url_prefix='/admin')
|
||||||
|
assert app.test_client().get('/admin/').data == '42'
|
||||||
|
|
||||||
|
|
||||||
def suite():
|
def suite():
|
||||||
from minitwit_tests import MiniTwitTestCase
|
from minitwit_tests import MiniTwitTestCase
|
||||||
|
|
Loading…
Reference in New Issue