コード例 #1
0
 def test_fromdata(self):
     data = ByteArray('\0name.\0Variable\0able\0xx\0')
     st = UnpreparedElfStringTable(None, data = data)
     st = st.prepare(0, 0, 0)
     self.assertEqual(len(st.get_strings()), 5)
     self.assertEqual(st.get_string_idx(1), "name.")
     self.assertEqual(st.get_string_idx(2), "Variable")
     self.assertEqual(st.get_string_idx(3), "able")
     self.assertEqual(st.get_string_idx(4), "xx")
     self.assertEqual(st.get_string_ofs(0), "")
     self.assertEqual(st.get_string_ofs(1), "name.")
     self.assertEqual(st.get_string_ofs(7), "Variable")
     self.assertEqual(st.get_string_ofs(11), "able")
     self.assertEqual(st.get_string_ofs(16), "able")                                
     self.assertEqual(st.get_file_data(), data)
コード例 #2
0
 def test_simpletable(self):
     st = UnpreparedElfStringTable(None)
     self.assertEqual(st.add_string("name."), 1)
     self.assertEqual(st.add_string("Variable"), 7)
     self.assertEqual(st.add_string("able"), 16) # this isn't a good test. we don't know it will be at 16, it'd just be obvious. it could also be at 11 or so
     self.assertEqual(st.add_string("xx"), 21)
     self.assertEqual(len(st.get_strings()), 5)
     self.assertEqual(st.get_string_idx(1), "name.")
     self.assertEqual(st.get_string_idx(2), "Variable")
     self.assertEqual(st.get_string_idx(3), "able")
     self.assertEqual(st.get_string_idx(4), "xx")
     self.assertEqual(st.get_string_ofs(0), "")
     self.assertEqual(st.get_string_ofs(1), "name.")
     self.assertEqual(st.get_string_ofs(7), "Variable")
     self.assertEqual(st.get_string_ofs(11), "able")
     self.assertEqual(st.get_string_ofs(16), "able")                                
     self.assertEqual(st.get_file_data(), array.array('B', '\0name.\0Variable\0able\0xx\0'))