def test_make_key_lowercase(self): cid = CaseInsensitiveDict({ 'Accept': 'application/json', 'user-Agent': 'requests', }) keyset = frozenset(['accept', 'user-agent']) self.assertEqual(frozenset(i[0] for i in cid.items()), keyset) self.assertEqual(frozenset(cid.keys()), keyset) self.assertEqual(frozenset(cid), keyset)
def test_preserve_last_key_case(self): cid = CaseInsensitiveDict({ 'Accept': 'application/json', 'user-Agent': 'requests', }) cid.update({'ACCEPT': 'application/json'}) cid['USER-AGENT'] = 'requests' keyset = frozenset(['accept', 'user-agent']) self.assertEqual(frozenset(i[0] for i in cid.items()), keyset) self.assertEqual(frozenset(cid.keys()), keyset) self.assertEqual(frozenset(cid), keyset)
def generate_comments(self, comments): comments = CaseInsensitiveDict(comments) # Packet type + vorbis magic packet = array('B', self.signature) packet.extend(utils.int_struct.pack(len(self.vendor_name))) packet.extend(self.vendor_name) packet.extend(utils.int_struct.pack(len(comments))) for k, v in comments.items(): comment = '{}={}'.format(k, v).encode() packet.extend(utils.int_struct.pack(len(comment))) packet.extend(comment) if self.framing_bit: packet.append(1) return io.BytesIO(packet)