Esempio n. 1
0
    def test_bullet(self):
        self.buffer.insert_at_cursor("end1\nend2\n")
        self.buffer.place_cursor(self.buffer.get_start_iter())
        #self.buffer.indent()
        self.buffer.toggle_bullet_list()
        self.buffer.insert_at_cursor("line1\n")

        contents = list(
            iter_buffer_contents(self.buffer, None, None, ignore_tag))

        dom = TextBufferDom(
            normalize_tags(find_paragraphs(
                nest_indent_tags(self.get_contents(), self.buffer.tag_table)),
                           is_stable_tag=lambda tag: isinstance(
                               tag, RichTextIndentTag) or tag == P_TAG))
        self.io.prepare_dom_write(dom)
        print
        dom.display()

        # check the internal indentation structure
        self.assertEquals([display_item(x) for x in contents], [
            'BEGIN:bullet', 'BEGIN:indent 1 bullet', u'\u2022 ', 'END:bullet',
            'line1\n', 'BEGIN:bullet', u'\u2022 ', 'END:bullet', 'end1\n',
            'END:indent 1 bullet', 'end2\n'
        ])

        outfile = StringIO()
        self.write(self.buffer, outfile)

        self.assertEquals(
            outfile.getvalue(), '<ul><li>line1</li>\n'
            '<li>end1</li>\n</ul>\nend2<br/>\n')
Esempio n. 2
0
    def test_dom(self):
        self.buffer.insert_at_cursor("hi there")

        # do bold insert
        bold = self.buffer.tag_table.lookup("bold")
        italic = self.buffer.tag_table.lookup("italic")
        self.buffer.toggle_tag_selected(bold)
        self.buffer.insert_at_cursor(" hello")
        self.buffer.toggle_tag_selected(italic)
        self.buffer.insert_at_cursor(" again")
        self.buffer.toggle_tag_selected(italic)
        self.buffer.insert_at_cursor(" this is me")
        self.assertEquals([display_item(x) for x in self.get_contents()], [
            'hi there', 'BEGIN:bold', ' hello', 'BEGIN:italic', ' again',
            'END:italic', ' this is me', 'END:bold'
        ])

        dom = TextBufferDom(self.get_contents())
        print
        dom.display()

        self.assertEquals([display_item(x) for x in dom.get_contents()], [
            'hi there', 'BEGIN:bold', ' hello', 'BEGIN:italic', ' again',
            'END:italic', ' this is me', 'END:bold'
        ])