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')
    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'])
Exemple #3
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'
        ])
    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')