converted test suite to use nose rather than py.test; made some minor improvements...
authorMichael Elsdoerfer <michael@elsdoerfer.info>
Tue, 16 Sep 2008 17:43:01 +0000 (19:43 +0200)
committerMichael Elsdoerfer <michael@elsdoerfer.info>
Tue, 16 Sep 2008 17:43:01 +0000 (19:43 +0200)
README
tests/test_basic.py
tests/test_models.py
tests/test_templates.py

diff --git a/README b/README
index 5b68aa23b964909ac5350b0b4f8bc57fdb77f11f..6445f20c7aa8df52a66f258637dba0c9670ec915 100644 (file)
--- a/README
+++ b/README
@@ -13,7 +13,8 @@ apart from that, ``import django_tables as tables`` should get you going.
 Running the test suite\r
 ----------------------\r
 \r
-The test suite uses py.test (from http://codespeak.net/py/dist/test.html).\r
+The test suite uses nose:\r
+    http://somethingaboutorange.com/mrl/projects/nose/\r
 \r
 Working with Tables\r
 -------------------\r
index 54840624c7d58a687975c47af17c5aa3acb9c07e..5b4e65a63a0641cd5539e38bd8ebd70a53084eac 100644 (file)
@@ -4,7 +4,7 @@ This includes the core, as well as static data, non-model tables.
 """\r
 \r
 from math import sqrt\r
-from py.test import raises\r
+from nose.tools import assert_raises\r
 from django.core.paginator import Paginator\r
 import django_tables as tables\r
 \r
@@ -97,12 +97,14 @@ def test_basic():
 \r
     # optionally, exceptions can be raised when input is invalid\r
     tables.options.IGNORE_INVALID_OPTIONS = False\r
-    raises(Exception, "stuff.order_by = '-name,made-up-column'")\r
-    raises(Exception, "stuff.order_by = ('made-up-column',)")\r
-    # when a column name is overwritten, the original won't work anymore\r
-    raises(Exception, "stuff.order_by = 'c'")\r
-    # reset for future tests\r
-    tables.options.IGNORE_INVALID_OPTIONS = True\r
+    try:\r
+        assert_raises(ValueError, setattr, stuff, 'order_by', '-name,made-up-column')\r
+        assert_raises(ValueError, setattr, stuff, 'order_by', ('made-up-column',))\r
+        # when a column name is overwritten, the original won't work anymore\r
+        assert_raises(ValueError, setattr, stuff, 'order_by', 'c')\r
+        # reset for future tests\r
+    finally:\r
+        tables.options.IGNORE_INVALID_OPTIONS = True\r
 \r
 def test_caches():\r
     """Ensure the various caches are effective.\r
@@ -203,7 +205,7 @@ def test_sort():
     test_order('id', [1,2,3,4])\r
     test_order('-id', [4,3,2,1])\r
     # a invalid direction string raises an exception\r
-    raises(ValueError, "books.base_columns['id'].direction = 'blub'")\r
+    assert_raises(ValueError, setattr, books.base_columns['id'], 'direction', 'blub')\r
 \r
     # [bug] test alternative order formats if passed to constructor\r
     BookTable([], 'language,-num_pages')\r
index a2aff04d7d697a81fc702822619bf87156af71e1..fc7838b3ca609fefcd57f5d2cd2450c2d2a737f9 100644 (file)
@@ -3,7 +3,7 @@
 Sets up a temporary Django project using a memory SQLite database.\r
 """\r
 \r
-from py.test import raises\r
+from nose.tools import assert_raises\r
 from django.conf import settings\r
 from django.core.paginator import *\r
 import django_tables as tables\r
@@ -112,7 +112,7 @@ def test_basic():
             assert not 'id' in r\r
             # [bug] access to data that might be available, but does not\r
             # have a corresponding column is denied.\r
-            raises(Exception, "r['id']")\r
+            assert_raises(Exception, "r['id']")\r
             # missing data is available with default values\r
             assert 'null' in r\r
             assert r['null'] == "foo"   # note: different from prev. line!\r
index 80c4f41e8229dfa37352d276aeafdc63c8a187a3..bc304e60f009dacb2e95011bd2107ba14517b46e 100644 (file)
@@ -6,7 +6,6 @@ via templates or otherwise. Whether a test belongs here or, say, in
 ``test_basic``, is not always a clear-cut decision.\r
 """\r
 \r
-from py.test import raises\r
 from django.template import Template, Context, add_to_builtins\r
 from django.http import HttpRequest\r
 import django_tables as tables\r