Fixed #21118 -- Isolated a test that uses the database.
Thanks rmboggs for the report.
This commit is contained in:
parent
2f0566fa61
commit
4f40b97d97
|
@ -5,6 +5,8 @@ import pickle
|
|||
import sys
|
||||
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.functional import SimpleLazyObject, empty
|
||||
|
||||
|
@ -165,9 +167,19 @@ class TestUtilsSimpleLazyObject(TestCase):
|
|||
self.assertTrue(lazy1 != lazy3)
|
||||
self.assertFalse(lazy1 != lazy2)
|
||||
|
||||
def test_pickle_py2_regression(self):
|
||||
from django.contrib.auth.models import User
|
||||
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)
|
||||
|
||||
class TestUtilsSimpleLazyObjectDjangoTestCase(DjangoTestCase):
|
||||
|
||||
def test_pickle_py2_regression(self):
|
||||
# See ticket #20212
|
||||
user = User.objects.create_user('johndoe', 'john@example.com', 'pass')
|
||||
x = SimpleLazyObject(lambda: user)
|
||||
|
@ -186,13 +198,3 @@ class TestUtilsSimpleLazyObject(TestCase):
|
|||
|
||||
# This would fail with "TypeError: expected string or Unicode object, NoneType found".
|
||||
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)
|
||||
|
|
Loading…
Reference in New Issue