Compare commits
	
		
			2 Commits
		
	
	
		
			master
			...
			fix-strict
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					c78e5079d4 | ||
| 
						 | 
					ab69e50361 | 
@@ -438,7 +438,7 @@ class StrictDict(object):
 | 
				
			|||||||
                __slots__ = allowed_keys_tuple
 | 
					                __slots__ = allowed_keys_tuple
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                def __repr__(self):
 | 
					                def __repr__(self):
 | 
				
			||||||
                    return "{%s}" % ', '.join('"{0!s}": {0!r}'.format(k) for k in self.iterkeys())
 | 
					                    return "{%s}" % ', '.join('"{0!s}": {1!r}'.format(k, v) for k, v in self.items())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            cls._classes[allowed_keys] = SpecificStrictDict
 | 
					            cls._classes[allowed_keys] = SpecificStrictDict
 | 
				
			||||||
        return cls._classes[allowed_keys]
 | 
					        return cls._classes[allowed_keys]
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,5 @@
 | 
				
			|||||||
import unittest
 | 
					import unittest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from mongoengine.base.datastructures import StrictDict, SemiStrictDict
 | 
					from mongoengine.base.datastructures import StrictDict, SemiStrictDict
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -13,6 +14,14 @@ class TestStrictDict(unittest.TestCase):
 | 
				
			|||||||
        d = self.dtype(a=1, b=1, c=1)
 | 
					        d = self.dtype(a=1, b=1, c=1)
 | 
				
			||||||
        self.assertEqual((d.a, d.b, d.c), (1, 1, 1))
 | 
					        self.assertEqual((d.a, d.b, d.c), (1, 1, 1))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test_repr(self):
 | 
				
			||||||
 | 
					        d = self.dtype(a=1, b=2, c=3)
 | 
				
			||||||
 | 
					        self.assertEqual(repr(d), '{"a": 1, "b": 2, "c": 3}')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # make sure quotes are escaped properly
 | 
				
			||||||
 | 
					        d = self.dtype(a='"', b="'", c="")
 | 
				
			||||||
 | 
					        self.assertEqual(repr(d), '{"a": \'"\', "b": "\'", "c": \'\'}')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def test_init_fails_on_nonexisting_attrs(self):
 | 
					    def test_init_fails_on_nonexisting_attrs(self):
 | 
				
			||||||
        self.assertRaises(AttributeError, lambda: self.dtype(a=1, b=2, d=3))
 | 
					        self.assertRaises(AttributeError, lambda: self.dtype(a=1, b=2, d=3))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user