def _get_string_tables(self): empty_st = UnpreparedElfStringTable(None) added_st = UnpreparedElfStringTable(None) added_st.add_string("name.") added_st.add_string("Variable") added_st.add_string("able") added_st.add_string("xx") data = ByteArray('\0name.\0Variable\0able\0\0xx\0') data_st = UnpreparedElfStringTable(None, data = data) prep_empty_st = UnpreparedElfStringTable(None) prep_added_st = UnpreparedElfStringTable(None) prep_added_st.add_string("name.") prep_added_st.add_string("Variable") prep_added_st.add_string("able") prep_added_st.add_string("xx") data = ByteArray('\0name.\0Variable\0able\0xx\0') prep_data_st = UnpreparedElfStringTable(None, data = data) prep_empty_st = prep_empty_st.prepare(1, 2, 3) prep_added_st = prep_added_st.prepare(1, 2, 3) prep_data_st = prep_data_st.prepare(1, 2, 3) return empty_st, added_st, data_st, prep_empty_st, prep_added_st, prep_data_st
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)