From f88d8193a8757ce00b91ba81377216559977b519 Mon Sep 17 00:00:00 2001 From: markotibold Date: Wed, 9 Mar 2011 00:26:20 +0100 Subject: [PATCH] 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) --- examples/pygments_api/models.py | 1 + examples/pygments_api/tests.py | 41 +++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 examples/pygments_api/models.py create mode 100644 examples/pygments_api/tests.py diff --git a/examples/pygments_api/models.py b/examples/pygments_api/models.py new file mode 100644 index 000000000..402a813ed --- /dev/null +++ b/examples/pygments_api/models.py @@ -0,0 +1 @@ +#We need models.py otherwise the test framework complains (http://code.djangoproject.com/ticket/7198) diff --git a/examples/pygments_api/tests.py b/examples/pygments_api/tests.py new file mode 100644 index 000000000..f70eff0ee --- /dev/null +++ b/examples/pygments_api/tests.py @@ -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) + + + \ No newline at end of file