Exemplo n.º 1
0
    def test_set(self):
        """Set CaseInsensitiveDict values"""
        d = web.CaseInsensitiveDictionary()
        for k, v in self.data_list:
            self.assertFalse(k in d)

        for k, v in self.data_list:
            d[k.upper()] = v

        for k, v in self.data_list:
            self.assertTrue(k in d)
            self.assertEqual(d[k], v)
            self.assertEqual(d[k.lower()], v)

        d2 = {'Dogs': 'd', 'Elephants': 'e'}
        for k, v in d2.items():
            self.assertFalse(k in d)
            self.assertTrue(d.get(k) is None)

        d.update(d2)

        for k, v in d2.items():
            self.assertTrue(k in d)
            self.assertTrue(k.upper() in d)
            self.assertEqual(d.get(k), v)
Exemplo n.º 2
0
    def test_iterators(self):
        """Iterate CaseInsensitiveDict"""
        d = web.CaseInsensitiveDictionary(self.data_dict)

        self.assertEqual(sorted(d.keys()), sorted(self.data_dict.keys()))
        self.assertEqual(sorted(d.values()), sorted(self.data_dict.values()))

        for k in d.iterkeys():
            self.assertTrue(k in self.data_dict)

        values = self.data_dict.values()

        for v in d.itervalues():
            self.assertTrue(v in values)

        for t in d.iteritems():
            self.assertTrue(t in self.data_list)
Exemplo n.º 3
0
    def test_retrieve(self):
        """Retrieve CaseInsensitiveDict values"""
        d = web.CaseInsensitiveDictionary(self.data_list)
        for k, v in self.data_list:
            self.assertEqual(v, d[k])
            self.assertEqual(v, d[k.lower()])
            self.assertEqual(v, d[k.upper()])
            self.assertEqual(v, d[k.title()])
            self.assertEqual(v, d.get(k))
            self.assertEqual(v, d.get(k.lower()))
            self.assertEqual(v, d.get(k.upper()))
            self.assertEqual(v, d.get(k.title()))
            self.assertTrue(k in d)
            self.assertTrue(k.lower() in d)
            self.assertTrue(k.upper() in d)
            self.assertTrue(k.title() in d)

        self.assertTrue(d.get('This is not a key') is None)
        self.assertFalse('This is not a key' in d)
Exemplo n.º 4
0
 def test_init_dict(self):
     """Initialise CaseInsensitiveDict"""
     d1 = web.CaseInsensitiveDictionary(self.data_list)
     d2 = web.CaseInsensitiveDictionary(self.data_dict)
     self.assertEqual(d1, d2)