Mercurial > paraspace
diff paraspace/tests/dexfile_test.py @ 104:61cef1662035
Redirect types
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Thu, 28 Jul 2011 00:06:54 +0800 |
parents | 7fcd555d802b |
children | 2833c1337dc0 |
line wrap: on
line diff
--- a/paraspace/tests/dexfile_test.py Wed Jul 27 12:09:19 2011 +0800 +++ b/paraspace/tests/dexfile_test.py Thu Jul 28 00:06:54 2011 +0800 @@ -401,3 +401,32 @@ method_name = dexfile.DEXFile_linked.get_method_name(fakefile_cstr) assert method_name == '<init>' pass + + +def find_typeid_test(): + from paraspace.dex_deptracker import prepare_dep_decls + + _install_dexfile_4_deptracker() + + all_dep_decls = prepare_dep_decls() + + srcdir = os.path.dirname(__file__) + srcroot = os.path.join(srcdir, '..', '..') + + fakefile_fn = os.path.join(srcroot, 'data', 'fakefile.dex') + fakefile_dex = dexfile.DEXFile.open(fakefile_fn) + fakefile_linked = \ + dexfile.DEXFile_linked. \ + build_dependencies(fakefile_dex, all_dep_decls) + + File_typeid = fakefile_linked.find_typeid_name('Ljava/io/File;') + assert File_typeid + + File_name = dexfile.DEXFile_linked.get_typeid_name(File_typeid) + assert File_name == 'Ljava/io/File;' + + idx = fakefile_linked.get_idx_typeid(File_typeid) + assert idx >= 0 + File_typeid_idx = fakefile_linked.find_typeid_idx(idx) + assert File_typeid == File_typeid_idx + pass