Browse Source

Fixed late binding of url_prefix. This fixes #29.

pull/1638/head
Armin Ronacher 15 years ago
parent
commit
a921aef6c4
  1. 2
      flask.py
  2. 9
      tests/flask_tests.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)

9
tests/flask_tests.py

@ -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…
Cancel
Save