forked from django/django
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fixed django#15552 -- LOGIN_URL and LOGIN_REDIRECT_URL can take URLpa…
…ttern names. Thanks UloPe and Eric Florenzano for the patch, and Malcolm Tredinnick for review.
- Loading branch information
Showing
13 changed files
with
162 additions
and
52 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
from django.conf.urls.defaults import * | ||
|
||
urlpatterns = patterns('', | ||
(r'^', include('django.contrib.comments.urls')), | ||
|
||
# Provide the auth system login and logout views | ||
(r'^accounts/login/$', 'django.contrib.auth.views.login', {'template_name': 'login.html'}), | ||
(r'^accounts/logout/$', 'django.contrib.auth.views.logout'), | ||
) |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
""" | ||
Regression tests for the resolve_url function. | ||
""" | ||
|
||
from django.db import models | ||
|
||
|
||
class UnimportantThing(models.Model): | ||
importance = models.IntegerField() | ||
|
||
def get_absolute_url(self): | ||
return '/importance/%d/' % (self.importance,) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
from __future__ import unicode_literals | ||
|
||
from django.core.urlresolvers import NoReverseMatch | ||
from django.contrib.auth.views import logout | ||
from django.utils.unittest import TestCase | ||
from django.shortcuts import resolve_url | ||
|
||
from .models import UnimportantThing | ||
|
||
|
||
class ResolveUrlTests(TestCase): | ||
""" | ||
Tests for the ``resolve_url`` function. | ||
""" | ||
|
||
def test_url_path(self): | ||
""" | ||
Tests that passing a URL path to ``resolve_url`` will result in the | ||
same url. | ||
""" | ||
self.assertEqual('/something/', resolve_url('/something/')) | ||
|
||
def test_full_url(self): | ||
""" | ||
Tests that passing a full URL to ``resolve_url`` will result in the | ||
same url. | ||
""" | ||
url = 'http://example.com/' | ||
self.assertEqual(url, resolve_url(url)) | ||
|
||
def test_model(self): | ||
""" | ||
Tests that passing a model to ``resolve_url`` will result in | ||
``get_absolute_url`` being called on that model instance. | ||
""" | ||
m = UnimportantThing(importance=1) | ||
self.assertEqual(m.get_absolute_url(), resolve_url(m)) | ||
|
||
def test_view_function(self): | ||
""" | ||
Tests that passing a view name to ``resolve_url`` will result in the | ||
URL path mapping to that view name. | ||
""" | ||
resolved_url = resolve_url(logout) | ||
self.assertEqual('/accounts/logout/', resolved_url) | ||
|
||
def test_valid_view_name(self): | ||
""" | ||
Tests that passing a view function to ``resolve_url`` will result in | ||
the URL path mapping to that view. | ||
""" | ||
resolved_url = resolve_url('django.contrib.auth.views.logout') | ||
self.assertEqual('/accounts/logout/', resolved_url) | ||
|
||
def test_domain(self): | ||
""" | ||
Tests that passing a domain to ``resolve_url`` returns the same domain. | ||
""" | ||
self.assertEqual(resolve_url('example.com'), 'example.com') | ||
|
||
def test_non_view_callable_raises_no_reverse_match(self): | ||
""" | ||
Tests that passing a non-view callable into ``resolve_url`` raises a | ||
``NoReverseMatch`` exception. | ||
""" | ||
with self.assertRaises(NoReverseMatch): | ||
resolve_url(lambda: 'asdf') | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters