Django

Code

Changeset 6374

Show
Ignore:
Timestamp:
09/19/07 08:26:56 (10 months ago)
Author:
russellm
Message:

Fixed #5506 -- Added some basic tests for date-based generic views. Thanks to robh for the original patch.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/tests/regressiontests/views/fixtures/testdata.json

    r6370 r6374  
    55        "fields": { 
    66            "author": 1,  
    7             "title": "An Article" 
     7            "title": "Old Article", 
     8            "slug": "old_article", 
     9            "date_created": "2001-01-01 21:22:23" 
    810        } 
    911    },  
     12    { 
     13        "pk": 2,  
     14        "model": "views.article",  
     15        "fields": { 
     16            "author": 1,  
     17            "title": "Current Article", 
     18            "slug": "current_article", 
     19            "date_created": "2007-09-17 21:22:23" 
     20        } 
     21    },  
     22    { 
     23        "pk": 3,  
     24        "model": "views.article",  
     25        "fields": { 
     26            "author": 1,  
     27            "title": "Future Article", 
     28            "slug": "future_article", 
     29            "date_created": "3000-01-01 21:22:23" 
     30        } 
     31    },  
     32 
    1033    { 
    1134        "pk": 1,  
  • django/trunk/tests/regressiontests/views/models.py

    r6370 r6374  
    1818class Article(models.Model): 
    1919    title = models.CharField(max_length=100) 
     20    slug = models.SlugField() 
    2021    author = models.ForeignKey(Author) 
    21  
     22    date_created = models.DateTimeField() 
     23     
    2224    def __unicode__(self): 
    2325        return self.title 
  • django/trunk/tests/regressiontests/views/tests/__init__.py

    r6370 r6374  
    22from i18n import * 
    33from static import * 
     4from generic.date_based import * 
  • django/trunk/tests/regressiontests/views/urls.py

    r6370 r6374  
    22 
    33from django.conf.urls.defaults import * 
     4 
     5from models import * 
    46import views 
    57 
     
    1315} 
    1416 
     17date_based_info_dict = {  
     18    'queryset': Article.objects.all(),  
     19    'date_field': 'date_created',  
     20    'month_format': '%m',  
     21}  
     22 
    1523urlpatterns = patterns('', 
    1624    (r'^$', views.index_page), 
     25     
     26    # Default views 
    1727    (r'^shortcut/(\d+)/(.*)/$', 'django.views.defaults.shortcut'), 
    1828    (r'^non_existing_url/', 'django.views.defaults.page_not_found'), 
    1929    (r'^server_error/', 'django.views.defaults.server_error'), 
    2030     
     31    # i18n views 
    2132    (r'^i18n/', include('django.conf.urls.i18n')),     
    2233    (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict), 
    23     (r'^jsi18n_test/$', views.jsi18n_test), 
    2434     
     35    # Static views 
    2536    (r'^site_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': media_dir}), 
     37     
     38        # Date-based generic views 
     39    (r'^date_based/object_detail/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/(?P<slug>[-\w]+)/$',  
     40        'django.views.generic.date_based.object_detail',  
     41        dict(slug_field='slug', **date_based_info_dict)),  
     42    (r'^date_based/object_detail/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/(?P<slug>[-\w]+)/allow_future/$',  
     43        'django.views.generic.date_based.object_detail',  
     44        dict(allow_future=True, slug_field='slug', **date_based_info_dict)),  
     45    (r'^date_based/archive_month/(?P<year>\d{4})/(?P<month>\d{1,2})/$',  
     46        'django.views.generic.date_based.archive_month',  
     47        date_based_info_dict),      
    2648) 
  • django/trunk/tests/regressiontests/views/views.py

    r6370 r6374  
    11from django.http import HttpResponse 
    22from django.template import RequestContext 
    3 from django.shortcuts import render_to_response 
    43 
    54def index_page(request): 
    6     """ Dummy index page """ 
     5    """Dummy index page""" 
    76    return HttpResponse('<html><body>Dummy page</body></html>') 
    87 
    9  
    10 def jsi18n_test(request): 
    11     """ View for testing javascript message files """ 
    12     return render_to_response('js_i18n.html', {})