Example #1
0
 def test06_labels_and_values(self):
     mr = ManifestReader('ab')
     # Must have label and value
     self.assertRaises(KeyError, mr.labels_and_values, {})
     self.assertRaises(KeyError, mr.labels_and_values, {'label': None})
     self.assertRaises(KeyError, mr.labels_and_values, {'value': None})
     # All possible forms...
     # simple
     lv = mr.labels_and_values({'label': 'l', 'value': 'v'})
     self.assertEqual(lv, {'l': 'v'})
     # dict and list label
     lv = mr.labels_and_values({'label': {'@language': 'en',
                                          '@value': 'lab-en'},
                                'value': 'v'})
     self.assertEqual(lv, {'label': {'en': 'lab-en'},
                           'value': 'v'})
     lv = mr.labels_and_values({'label': ['label1', 'label2'],
                                'value': 'v'})
     self.assertEqual(lv, {'label': ['label1', 'label2'],
                           'value': 'v'})
     # dict and list value
     lv = mr.labels_and_values({'label': 'l',
                                'value': {'@language': 'cz',
                                          '@value': 'val-cz'}})
     self.assertEqual(lv, {'l': {'cz': 'val-cz'}})
     lv = mr.labels_and_values({'label': 'l',
                                'value': ['val1', 'val2']})
     self.assertEqual(lv, {'l': ['val1', 'val2']})