def test_patch_rio_linebreaks(self): stanza = Stanza(breaktest='linebreak -/'*30) self.assertContainsRe(rio.to_patch_lines(stanza, 71)[0], 'linebreak\\\\\n') stanza = Stanza(breaktest='linebreak-/'*30) self.assertContainsRe(rio.to_patch_lines(stanza, 70)[0], 'linebreak-\\\\\n') stanza = Stanza(breaktest='linebreak/'*30) self.assertContainsRe(rio.to_patch_lines(stanza, 70)[0], 'linebreak\\\\\n')
def test_patch_rio_linebreaks(self): stanza = Stanza(breaktest='linebreak -/' * 30) self.assertContainsRe( rio.to_patch_lines(stanza, 71)[0], 'linebreak\\\\\n') stanza = Stanza(breaktest='linebreak-/' * 30) self.assertContainsRe( rio.to_patch_lines(stanza, 70)[0], 'linebreak-\\\\\n') stanza = Stanza(breaktest='linebreak/' * 30) self.assertContainsRe( rio.to_patch_lines(stanza, 70)[0], 'linebreak\\\\\n')
def test_patch_rio(self): stanza = Stanza(data='#\n\r\\r ', space=' ' * 255, hash='#' * 255) lines = rio.to_patch_lines(stanza) for line in lines: self.assertContainsRe(line, '^# ') self.assertTrue(72 >= len(line)) for line in rio.to_patch_lines(stanza, max_width=12): self.assertTrue(12 >= len(line)) new_stanza = rio.read_patch_stanza(self.mail_munge(lines, dos_nl=False)) lines = self.mail_munge(lines) new_stanza = rio.read_patch_stanza(lines) self.assertEqual('#\n\r\\r ', new_stanza.get('data')) self.assertEqual(' '* 255, new_stanza.get('space')) self.assertEqual('#'* 255, new_stanza.get('hash'))
def test_patch_rio(self): stanza = Stanza(data='#\n\r\\r ', space=' ' * 255, hash='#' * 255) lines = rio.to_patch_lines(stanza) for line in lines: self.assertContainsRe(line, '^# ') self.assertTrue(72 >= len(line)) for line in rio.to_patch_lines(stanza, max_width=12): self.assertTrue(12 >= len(line)) new_stanza = rio.read_patch_stanza(self.mail_munge(lines, dos_nl=False)) lines = self.mail_munge(lines) new_stanza = rio.read_patch_stanza(lines) self.assertEqual('#\n\r\\r ', new_stanza.get('data')) self.assertEqual(' ' * 255, new_stanza.get('space')) self.assertEqual('#' * 255, new_stanza.get('hash'))
def _to_lines(self, base_revision=False): """Serialize as a list of lines :return: a list of lines """ time_str = timestamp.format_patch_date(self.time, self.timezone) stanza = rio.Stanza(revision_id=self.revision_id, timestamp=time_str, target_branch=self.target_branch, testament_sha1=self.testament_sha1) for key in ('source_branch', 'message'): if self.__dict__[key] is not None: stanza.add(key, self.__dict__[key]) if base_revision: stanza.add('base_revision_id', self.base_revision_id) lines = ['# ' + self._format_string + '\n'] lines.extend(rio.to_patch_lines(stanza)) lines.append('# \n') return lines