Ignore:
Timestamp:
4 Jun 2011, 12:23:23 (13 years ago)
Author:
uli
Message:

Add extended bools widget. This one accepts also '1', 'true', 'yes' as True values, which is handy when importing CSV
files. We have to register this new widget overriding the default. Maybe a bit overkill?

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.sirp/trunk/src/waeup/sirp/utils/tests/test_converters.py

    r6273 r6278  
    171171        assert data2['vip'] is False
    172172
     173    def test_bool_nonstandard_values1(self):
     174        # We accept 'true', 'True', 'tRuE', 'faLSE' and similar.
     175        contact1 = Contact()
     176        contact2 = Contact()
     177        input_data1 = dict(vip='True')
     178        input_data2 = dict(vip='false')
     179        converter = IObjectConverter(IContact) # a converter to IContact
     180        err1, inv_err1, data1 = converter.fromStringDict(
     181            input_data1, contact1)
     182        err2, inv_err2, data2 = converter.fromStringDict(
     183            input_data2, contact2)
     184        assert data1['vip'] is True
     185        assert data2['vip'] is False
     186
     187    def test_bool_nonstandard_values2(self):
     188        # We accept '1' and '0' as bool values.
     189        contact1 = Contact()
     190        contact2 = Contact()
     191        input_data1 = dict(vip='1')
     192        input_data2 = dict(vip='0')
     193        converter = IObjectConverter(IContact) # a converter to IContact
     194        err1, inv_err1, data1 = converter.fromStringDict(
     195            input_data1, contact1)
     196        err2, inv_err2, data2 = converter.fromStringDict(
     197            input_data2, contact2)
     198        assert data1['vip'] is True
     199        assert data2['vip'] is False
     200
     201    def test_bool_nonstandard_values3(self):
     202        # We accept 'yEs', 'no' and similar as bool values.
     203        contact1 = Contact()
     204        contact2 = Contact()
     205        input_data1 = dict(vip='Yes')
     206        input_data2 = dict(vip='no')
     207        converter = IObjectConverter(IContact) # a converter to IContact
     208        err1, inv_err1, data1 = converter.fromStringDict(
     209            input_data1, contact1)
     210        err2, inv_err2, data2 = converter.fromStringDict(
     211            input_data2, contact2)
     212        assert data1['vip'] is True
     213        assert data2['vip'] is False
     214
    173215    def test_int(self):
    174216        contact = Contact()
Note: See TracChangeset for help on using the changeset viewer.