|
@@ -247,3 +247,75 @@ class CurrentUrlEqualsTest(TestCase):
|
|
|
context = Context({'request': request})
|
|
|
|
|
|
self.assertEqual(current_url_equals(context, 'project', pk=1), True)
|
|
|
|
|
|
|
|
|
class ActiveLinkTest(TestCase):
|
|
|
|
|
|
def get_context_for_view(self, view, *args, **kwargs):
|
|
|
"""
|
|
|
Returns a Context instance where the request path has been
|
|
|
constructed using the passed-in view (or view name), and view
|
|
|
positional/keyword arguments.
|
|
|
|
|
|
Arguments:
|
|
|
|
|
|
view
|
|
|
View function or name for request object.
|
|
|
|
|
|
args
|
|
|
Positional arguments to pass into the view.
|
|
|
|
|
|
kwargs
|
|
|
Keyword arguments to pass into the view.
|
|
|
|
|
|
Returns:
|
|
|
|
|
|
django.template.Context instance with request.
|
|
|
"""
|
|
|
request = create_get_request(reverse(view, args=args, kwargs=kwargs))
|
|
|
context = Context({'request': request})
|
|
|
|
|
|
return context
|
|
|
|
|
|
def test_empty_string_returned_on_view_without_arguments_and_no_match(self):
|
|
|
|
|
|
context = self.get_context_for_view('index')
|
|
|
|
|
|
self.assertEqual(active_link(context, 'project_create'), '')
|
|
|
|
|
|
def test_default_value_returned_on_view_without_arguments_and_match(self):
|
|
|
|
|
|
context = self.get_context_for_view('index')
|
|
|
|
|
|
self.assertEqual(active_link(context, 'index'), 'active')
|
|
|
|
|
|
def test_empty_string_returned_on_view_with_positional_arguments_and_no_match(self):
|
|
|
|
|
|
context = self.get_context_for_view('project', 1)
|
|
|
|
|
|
self.assertEqual(active_link(context, 'project', 'active', 2), '')
|
|
|
|
|
|
def test_value_returned_on_view_with_positional_arguments_and_match(self):
|
|
|
|
|
|
context = self.get_context_for_view('project', 1)
|
|
|
|
|
|
self.assertEqual(active_link(context, 'project', 'active', 1), 'active')
|
|
|
|
|
|
def test_empty_string_returned_on_view_with_keyword_arguments_and_no_match(self):
|
|
|
|
|
|
context = self.get_context_for_view('project', 1)
|
|
|
|
|
|
self.assertEqual(active_link(context, 'project', pk=2), '')
|
|
|
|
|
|
def test_default_value_returned_on_view_with_keyword_arguments_and_match(self):
|
|
|
|
|
|
context = self.get_context_for_view('project', 1)
|
|
|
|
|
|
self.assertEqual(active_link(context, 'project', pk=1), 'active')
|
|
|
|
|
|
def test_provided_value_returned_on_view_with_matching_url(self):
|
|
|
|
|
|
context = self.get_context_for_view('project', 1)
|
|
|
|
|
|
self.assertEqual(active_link(context, 'project', 'myvalue', 1), 'myvalue')
|
|
|
self.assertEqual(active_link(context, 'project', 'myvalue', pk=1), 'myvalue')
|