Index: tests/regressiontests/generic_views/__init__.py
===================================================================
Index: tests/regressiontests/generic_views/tests.py
===================================================================
--- tests/regressiontests/generic_views/tests.py	(revision 0)
+++ tests/regressiontests/generic_views/tests.py	(revision 0)
@@ -0,0 +1,33 @@
+# coding: utf-8
+from django.test import TestCase
+from datetime import datetime
+from models import Article
+
+_today = datetime.now()
+_long_ago = datetime(2001, 1, 1)
+_far_future = datetime(3000, 01, 01)
+
+class DateBasedGenericViewTest(TestCase):
+    def setUp(self):
+        current_article = Article(slug="current_article", date_created=_today)
+        current_article.save()
+        past_article = Article(slug="old_article", date_created=_long_ago)
+        past_article.save()
+        future_article = Article(slug="future_article", date_created=_far_future)
+        future_article.save()
+        
+    def test_object_detail_finds_past(self):
+        response = self.client.get('/generic_views/date_based/object_detail/2001/01/01/old_article/')
+        self.assertEqual(response.context['object'].slug, "old_article")
+
+    def test_object_detail_finds_today(self):
+        today_url = _today.strftime('%Y/%m/%d')
+        response = self.client.get('/generic_views/date_based/object_detail/%s/current_article/' % today_url)
+        self.assertEqual(response.context['object'].slug, "current_article")
+
+    def test_object_detail_ignores_future(self):
+        # careful, this is a year 3000 bug waiting to happen ;-)
+        response = self.client.get('/generic_views/date_based/object_detail/3000/jan/01/future_article/')
+        self.assertFalse(response.context.has_key('object'))
+
+# vim: expandtab tabstop=8 shiftwidth=4 autoindent
Index: tests/regressiontests/generic_views/models.py
===================================================================
--- tests/regressiontests/generic_views/models.py	(revision 0)
+++ tests/regressiontests/generic_views/models.py	(revision 0)
@@ -0,0 +1,8 @@
+# coding: utf-8
+from django.db import models
+
+class Article(models.Model):
+    slug = models.CharField(max_length=20)
+    date_created = models.DateTimeField()
+
+# vim: expandtab tabstop=8 shiftwidth=4 autoindent
Index: tests/regressiontests/generic_views/urls.py
===================================================================
--- tests/regressiontests/generic_views/urls.py	(revision 0)
+++ tests/regressiontests/generic_views/urls.py	(revision 0)
@@ -0,0 +1,17 @@
+from django.conf.urls.defaults import *
+from django.views.generic import date_based
+from models import Article
+
+info_dict = {
+    'queryset': Article.objects.all(),
+    'date_field': 'date_created',
+    'slug_field': 'slug',
+    'month_format': '%m',
+}
+
+urlpatterns = patterns('',
+    url(r'^date_based/object_detail/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/(?P<slug>[-\w]+)/$', 'django.views.generic.date_based.object_detail', info_dict, name="object_detail"),
+)
+
+# vim: autoindent tabstop=4 shiftwidth=4 expandtab
+
Index: tests/templates/generic_views/article_detail.html
===================================================================
--- tests/templates/generic_views/article_detail.html	(revision 0)
+++ tests/templates/generic_views/article_detail.html	(revision 0)
@@ -0,0 +1,2 @@
+This template intentionally left blank.
+
