Test implemented for #28 Pygments examples should be datetime sorted

models.py is needed if we want to put tests in tests.py (see first line of models.py)
This commit is contained in:
markotibold 2011-03-09 00:26:20 +01:00
parent 32be058195
commit f88d8193a8
2 changed files with 42 additions and 0 deletions

View File

@ -0,0 +1 @@
#We need models.py otherwise the test framework complains (http://code.djangoproject.com/ticket/7198)

View File

@ -0,0 +1,41 @@
from django.test import TestCase
from djangorestframework.compat import RequestFactory
from pygments_api import views
import os, tempfile, shutil
class TestPygmentsExample(TestCase):
def setUp(self):
self.factory = RequestFactory()
self.temp_dir = tempfile.mkdtemp()
views.HIGHLIGHTED_CODE_DIR = self.temp_dir
def tearDown(self):
try:
shutil.rmtree(self.temp_dir)
except:
pass
def test_get_to_root(self):
'''Just do a get on the base url'''
request = self.factory.get('/pygments')
view = views.PygmentsRoot.as_view()
response = view(request)
self.assertEqual(response.status_code, 200)
def test_snippets_datetime_sorted(self):
'''Pygments examples should be datetime sorted'''
locations = []
for snippet in 'abcdefghijk':
form_data = {'code': '%s' % snippet, 'style':'friendly', 'lexer':'python'}
request = self.factory.post('/pygments', data=form_data)
view = views.PygmentsRoot.as_view()
response = view(request)
locations.append(response.items()[2][1])
request = self.factory.get('/pygments')
view = views.PygmentsRoot.as_view()
response = view(request)
self.assertEquals(locations, response.content)