##// END OF EJS Templates
Merge pull request #2311 from minrk/trait_change...
Min RK -
r8422:82842821 merge
parent child Browse files
Show More
@@ -25,10 +25,11 b' import re'
25 import sys
25 import sys
26 from unittest import TestCase
26 from unittest import TestCase
27
27
28 import nose.tools as nt
28 from nose import SkipTest
29 from nose import SkipTest
29
30
30 from IPython.utils.traitlets import (
31 from IPython.utils.traitlets import (
31 HasTraits, MetaHasTraits, TraitType, Any, CBytes,
32 HasTraits, MetaHasTraits, TraitType, Any, CBytes, Dict,
32 Int, Long, Integer, Float, Complex, Bytes, Unicode, TraitError,
33 Int, Long, Integer, Float, Complex, Bytes, Unicode, TraitError,
33 Undefined, Type, This, Instance, TCPAddress, List, Tuple,
34 Undefined, Type, This, Instance, TCPAddress, List, Tuple,
34 ObjectName, DottedObjectName, CRegExp
35 ObjectName, DottedObjectName, CRegExp
@@ -906,3 +907,14 b' class TestCRegExp(TraitTestBase):'
906 _default_value = re.compile(r'')
907 _default_value = re.compile(r'')
907 _good_values = [r'\d+', re.compile(r'\d+')]
908 _good_values = [r'\d+', re.compile(r'\d+')]
908 _bad_values = [r'(', None, ()]
909 _bad_values = [r'(', None, ()]
910
911 class DictTrait(HasTraits):
912 value = Dict()
913
914 def test_dict_assignment():
915 d = dict()
916 c = DictTrait()
917 c.value = d
918 d['a'] = 5
919 nt.assert_equal(d, c.value)
920 nt.assert_true(c.value is d)
@@ -309,8 +309,8 b' class TraitType(object):'
309 def __set__(self, obj, value):
309 def __set__(self, obj, value):
310 new_value = self._validate(obj, value)
310 new_value = self._validate(obj, value)
311 old_value = self.__get__(obj)
311 old_value = self.__get__(obj)
312 obj._trait_values[self.name] = new_value
312 if old_value != new_value:
313 if old_value != new_value:
313 obj._trait_values[self.name] = new_value
314 obj._notify_trait(self.name, old_value, new_value)
314 obj._notify_trait(self.name, old_value, new_value)
315
315
316 def _validate(self, obj, value):
316 def _validate(self, obj, value):
General Comments 0
You need to be logged in to leave comments. Login now