diff paraspace/tests/dex_deptracker_test.py @ 127:650244dcdd82

Sort arrays in rules requested by dalvik
author Thinker K.F. Li <thinker@codemud.net>
date Mon, 08 Aug 2011 22:34:11 +0800
parents ff6f869273b7
children 52749d91cc22
line wrap: on
line diff
--- a/paraspace/tests/dex_deptracker_test.py	Mon Aug 08 17:26:05 2011 +0800
+++ b/paraspace/tests/dex_deptracker_test.py	Mon Aug 08 22:34:11 2011 +0800
@@ -189,3 +189,31 @@
 
     assert linked_sz == (unlinked_sz + 4)
     pass
+
+
+def dex_sort_sorted_arrays_test():
+    from paraspace.dex_deptracker import dex_sort_sorted_arrays
+    
+    _install_dexfile_4_deptracker()
+
+    srcdir = os.path.dirname(__file__)
+    srcroot = os.path.join(srcdir, '..', '..')
+    datadir = os.path.join(srcroot, 'data')
+    helloworld_path = os.path.join(datadir, 'helloworld.dex')
+    
+    decls = prepare_dep_decls()
+    
+    hello_dex = dexfile.DEXFile.open(helloworld_path)
+    hello_linked = \
+        dexfile.DEXFile_linked.build_dependencies(hello_dex, decls)
+
+    first = hello_linked.typeIds.items[0]
+    last = hello_linked.typeIds.items[-1]
+    hello_linked.typeIds.items[0] = last
+    hello_linked.typeIds.items[-1] = first
+
+    dex_sort_sorted_arrays(hello_linked)
+
+    assert hello_linked.typeIds.items[0] == first
+    assert hello_linked.typeIds.items[-1] == last
+    pass