Fixed #21118 -- Isolated a test that uses the database.

Thanks rmboggs for the report.
This commit is contained in:
Tim Graham 2013-09-18 09:35:51 -04:00
parent 2f0566fa61
commit 4f40b97d97
1 changed files with 14 additions and 12 deletions

View File

@ -5,6 +5,8 @@ import pickle
import sys import sys
from unittest import TestCase from unittest import TestCase
from django.contrib.auth.models import User
from django.test import TestCase as DjangoTestCase
from django.utils import six from django.utils import six
from django.utils.functional import SimpleLazyObject, empty from django.utils.functional import SimpleLazyObject, empty
@ -165,9 +167,19 @@ class TestUtilsSimpleLazyObject(TestCase):
self.assertTrue(lazy1 != lazy3) self.assertTrue(lazy1 != lazy3)
self.assertFalse(lazy1 != lazy2) self.assertFalse(lazy1 != lazy2)
def test_pickle_py2_regression(self): def test_list_set(self):
from django.contrib.auth.models import User lazy_list = SimpleLazyObject(lambda: [1, 2, 3, 4, 5])
lazy_set = SimpleLazyObject(lambda: set([1, 2, 3, 4]))
self.assertTrue(1 in lazy_list)
self.assertTrue(1 in lazy_set)
self.assertFalse(6 in lazy_list)
self.assertFalse(6 in lazy_set)
self.assertEqual(len(lazy_list), 5)
self.assertEqual(len(lazy_set), 4)
class TestUtilsSimpleLazyObjectDjangoTestCase(DjangoTestCase):
def test_pickle_py2_regression(self):
# See ticket #20212 # See ticket #20212
user = User.objects.create_user('johndoe', 'john@example.com', 'pass') user = User.objects.create_user('johndoe', 'john@example.com', 'pass')
x = SimpleLazyObject(lambda: user) x = SimpleLazyObject(lambda: user)
@ -186,13 +198,3 @@ class TestUtilsSimpleLazyObject(TestCase):
# This would fail with "TypeError: expected string or Unicode object, NoneType found". # This would fail with "TypeError: expected string or Unicode object, NoneType found".
pickled = cPickle.dumps(x) pickled = cPickle.dumps(x)
def test_list_set(self):
lazy_list = SimpleLazyObject(lambda: [1, 2, 3, 4, 5])
lazy_set = SimpleLazyObject(lambda: set([1, 2, 3, 4]))
self.assertTrue(1 in lazy_list)
self.assertTrue(1 in lazy_set)
self.assertFalse(6 in lazy_list)
self.assertFalse(6 in lazy_set)
self.assertEqual(len(lazy_list), 5)
self.assertEqual(len(lazy_set), 4)