"""
                        Return cipher's algorithm name, derived from OID
                """
-               return self.oid().short_name() 
+               return self.oid().shortname() 
        def oid(self):
                """
                        Returns ASN.1 object identifier of the cipher as
                        if (cipher_type.flags() & 8) != 0:
                                # Variable key length cipher.
                                result = libcrypto.EVP_CipherInit_ex(self.ctx, cipher_type.cipher, None, None, None, c_int(enc))
-                               result=libcrypto.EVP_CIPHER_CTX_set_key_length(self.ctx,len(key))
+                               result = libcrypto.EVP_CIPHER_CTX_set_key_length(self.ctx,len(key))
                                if result == 0:
                                        self._clean_ctx()
                                        raise CipherError("Unable to set key length")
        def _clean_ctx(self):
                try:
                        if self.ctx is not None:
-                               self.libcrypto.EVP_CIPHER_CTX_cleanup(self.ctx)
-                               self.libcrypto.EVP_CIPHER_CTX_free(self.ctx)
+                               libcrypto.EVP_CIPHER_CTX_cleanup(self.ctx)
+                               libcrypto.EVP_CIPHER_CTX_free(self.ctx)
                                del(self.ctx)
                except AttributeError:
                        pass
 
                self.assertEqual(ct.block_size(),8)
                self.assertEqual(ct.key_length(),8)
                self.assertEqual(ct.iv_length(),8)
+               self.assertEqual(ct.algo(),'DES-CBC')
                self.assertEqual(ct.oid().shortname(),"DES-CBC")
                self.assertEqual(ct.mode(),"CBC")
        def test_ciphaesofb(self):
                self.assertEqual(ct.block_size(),1)
                self.assertEqual(ct.key_length(),32)
                self.assertEqual(ct.iv_length(),16)
+               self.assertEqual(ct.algo(),'AES-256-OFB')
                self.assertEqual(ct.oid().shortname(),"AES-256-OFB")
                self.assertEqual(ct.mode(),"OFB")
+       def test_unknowncipher(self):
+               with self.assertRaises(cipher.CipherError):
+                       ct=cipher.CipherType("no-such-cipher")
 
 class TestEncryptDecrypt(unittest.TestCase):
+       def test_cons_nokey(self):
+               ct=cipher.CipherType("DES-CBC")
+               with self.assertRaises(ValueError):
+                       c=cipher.Cipher(ct,None,None)
        def test_blockcipher(self):
                data="sdfdsddf"
                key='abcdabcd'
                with self.assertRaises(ValueError):
                        c=cipher.new("AES-128-OFB",key,iv=iv)
        def test_variable_keylength(self):
-               encryptkey="abcdefabcdef"
+               encryptkey="abcdefabcdefghtlgvasdgdgsdgdsg"
                data="asdfsdfsdfsdfsdfsdfsdfsdf"
                iv="abcdefgh"
                c=cipher.new("bf-ofb",encryptkey,iv=iv)
                d=cipher.new("bf-ofb",decryptkey,encrypt=False,iv=iv)
                deciph=d.update(ciphertext)+d.finish()
                self.assertEqual(deciph,data)
+
 if __name__ == '__main__':
        unittest.main()