def test_bullet5(self):
        """
        Test undo toggle bullet with font
        """

        self.buffer.toggle_tag_selected(self.buffer.tag_table.lookup("bold"))
        self.buffer.insert_at_cursor("line1")

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

        self.buffer.toggle_bullet_list()

        print[
            display_item(x)
            for x in iter_buffer_contents(self.buffer, None, None, ignore_tag)
        ]

        self.buffer.undo()

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

        # check the internal indentation structure
        self.assertEquals([display_item(x) for x in contents1],
                          [display_item(x) for x in contents2])
    def test_bullet5(self):
        """
        Test undo toggle bullet with font
        """

        self.buffer.toggle_tag_selected(self.buffer.tag_table.lookup("bold"))
        self.buffer.insert_at_cursor("line1")

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

        self.buffer.toggle_bullet_list()

        print [display_item(x) for x in iter_buffer_contents(
            self.buffer, None, None, ignore_tag)]
 def write(self, buffer, outfile):
     contents = iter_buffer_contents(self.buffer,
                                     None,
                                     None,
                                     IGNORE_TAGS)
     self.io.set_output(outfile)
     self.io.write(contents, self.buffer.tag_table)
 def write(self, buffer, outfile):
     contents = iter_buffer_contents(self.buffer,
                                     None,
                                     None,
                                     IGNORE_TAGS)
     self.io.set_output(outfile)
     self.io.write(contents, self.buffer.tag_table)
    def test_bullet_apply_tag(self):
        """
        Test whether par_related tags are properly handled
        """

        self.buffer.toggle_bullet_list()
        self.buffer.insert_at_cursor("line1")

        it = self.buffer.get_start_iter()
        #it.forward_chars(1)
        it2 = self.buffer.get_start_iter()
        it2.forward_chars(2)

        tag = self.buffer.tag_table.lookup("indent 2 none")
        print(tag.is_par_related())
        self.buffer.apply_tag_selected(tag, it, it2)

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

        # check the internal indentation structure
        self.assertEquals([display_item(x) for x in contents1],
                          ['BEGIN:indent 2 none',
                           u'line1\n',
                           'END:indent 2 none'])
    def test_bullet_apply_tag(self):
        """
        Test whether par_related tags are properly handled
        """

        self.buffer.toggle_bullet_list()
        self.buffer.insert_at_cursor("line1")

        it = self.buffer.get_start_iter()
        #it.forward_chars(1)
        it2 = self.buffer.get_start_iter()
        it2.forward_chars(2)

        tag = self.buffer.tag_table.lookup("indent 2 none")
        print tag.is_par_related()
        self.buffer.apply_tag_selected(tag, it, it2)

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

        # check the internal indentation structure
        self.assertEquals([display_item(x) for x in contents1],
                          ['BEGIN:indent 2 none',
                           u'line1\n',
                           'END:indent 2 none'])
    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_bullet3(self):
        """
        Test to see if current_tags is set from text to the right when
        cursor is at start of line
        """
        self.buffer.insert_at_cursor("\nend")
        self.buffer.place_cursor(self.buffer.get_start_iter())

        self.buffer.insert_at_cursor("line1")
        self.buffer.toggle_bullet_list()
        self.buffer.insert_at_cursor("\nline2")
        self.buffer.unindent()

        # move to start of "line2"
        it = self.buffer.get_iter_at_mark(self.buffer.get_insert())
        it.backward_line()
        it.forward_line()
        self.buffer.place_cursor(it)

        # insert text, it should not be indented
        self.buffer.insert_at_cursor("new ")

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

        # 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',
                           'END:indent 1 bullet',
                           'new line2\nend'])
    def test_bullet3(self):
        """
        Test to see if current_tags is set from text to the right when
        cursor is at start of line
        """
        self.buffer.insert_at_cursor("\nend")
        self.buffer.place_cursor(self.buffer.get_start_iter())

        self.buffer.insert_at_cursor("line1")
        self.buffer.toggle_bullet_list()
        self.buffer.insert_at_cursor("\nline2")
        self.buffer.unindent()

        # move to start of "line2"
        it = self.buffer.get_iter_at_mark(self.buffer.get_insert())
        it.backward_line()
        it.forward_line()
        self.buffer.place_cursor(it)

        # insert text, it should not be indented
        self.buffer.insert_at_cursor("new ")

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

        # 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',
                           'END:indent 1 bullet',
                           'new line2\nend'])
    def test_bullet4(self):
        """
        Test undo toggle bullet
        """

        self.buffer.insert_at_cursor("line1")

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

        self.buffer.toggle_bullet_list()
        self.buffer.undo()

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

        # check the internal indentation structure
        self.assertEquals([display_item(x) for x in contents1],
                          [display_item(x) for x in contents2])
    def test_bullet4(self):
        """
        Test undo toggle bullet
        """

        self.buffer.insert_at_cursor("line1")

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

        self.buffer.toggle_bullet_list()
        self.buffer.undo()

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

        # check the internal indentation structure
        self.assertEquals([display_item(x) for x in contents1],
                          [display_item(x) for x in contents2])
    def test_bullet_insert(self):
        """
        Test whether insert inside bullet string '* ' is rejected
        """

        self.buffer.toggle_bullet_list()
        self.buffer.insert_at_cursor("line1")

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

        it = self.buffer.get_start_iter()
        it.forward_chars(1)
        self.buffer.insert(it, "XXX")

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

        # check the internal indentation structure
        self.assertEquals([display_item(x) for x in contents1],
                          [display_item(x) for x in contents2])
    def test_bullet_insert(self):
        """
        Test whether insert inside bullet string '* ' is rejected
        """

        self.buffer.toggle_bullet_list()
        self.buffer.insert_at_cursor("line1")

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

        it = self.buffer.get_start_iter()
        it.forward_chars(1)
        self.buffer.insert(it, "XXX")

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

        # check the internal indentation structure
        self.assertEquals([display_item(x) for x in contents1],
                          [display_item(x) for x in contents2])
    def test_ol6(self):
        infile = StringIO(
            'line0<ul><li style="list-style-type: none">line1<br/>\n'
            'line2<ul><li style="list-style-type: none">line3<br/>\n'
            'line4<br/>\n</li>\n</ul>\n'
            '</li>\n</ul>\nline5')
        self.read(self.buffer, infile)

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

        # check the internal indentation structure
        self.assertEquals([display_item(x) for x in contents], [
            'line0\n', 'BEGIN:indent 1 none', 'line1\nline2\n',
            'END:indent 1 none', 'BEGIN:indent 2 none', 'line3\nline4\n\n',
            'END:indent 2 none', 'line5'
        ])
    def test_ol6(self):
        infile = StringIO(
            'line0<ul><li style="list-style-type: none">line1<br/>\n'
            'line2<ul><li style="list-style-type: none">line3<br/>\n'
            'line4<br/>\n</li>\n</ul>\n'
            '</li>\n</ul>\nline5')
        self.read(self.buffer, infile)

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

        # check the internal indentation structure
        self.assertEquals([display_item(x) for x in contents],
                          ['line0\n',
                           'BEGIN:indent 1 none',
                           'line1\nline2\n',
                           'END:indent 1 none',
                           'BEGIN:indent 2 none',
                           'line3\nline4\n\n',
                           'END:indent 2 none',
                           'line5'])
    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')
Exemple #17
0
 def get_contents(self):
     return list(iter_buffer_contents(self.buffer,
                                      None, None, IGNORE_TAGS))
        """

        self.buffer.toggle_tag_selected(self.buffer.tag_table.lookup("bold"))
        self.buffer.insert_at_cursor("line1")

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

        self.buffer.toggle_bullet_list()

        print [display_item(x) for x in iter_buffer_contents(
            self.buffer, None, None, ignore_tag)]

        self.buffer.undo()

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

        # check the internal indentation structure
        self.assertEquals([display_item(x) for x in contents1],
                          [display_item(x) for x in contents2])

    def test_bullet_insert(self):
        """
        Test whether insert inside bullet string '* ' is rejected
        """

        self.buffer.toggle_bullet_list()
        self.buffer.insert_at_cursor("line1")

        contents1 = list(iter_buffer_contents(self.buffer,
                                              None, None, ignore_tag))
 def write(self, buffer, outfile):
     contents = iter_buffer_contents(self.buffer, None, None, ignore_tag)
     self.io.set_output(outfile)
     self.io.write(contents, self.buffer.tag_table, partial=True)
 def get_contents(self):
     return list(iter_buffer_contents(self.buffer,
                                      None, None, ignore_tag))
Exemple #21
0
 def get_contents(self):
     return list(iter_buffer_contents(self.buffer, None, None, IGNORE_TAGS))
 def write(self, buffer, outfile):
     contents = iter_buffer_contents(self.buffer, None, None, ignore_tag)
     self.io.set_output(outfile)
     self.io.write(contents, self.buffer.tag_table, partial=True)
 def get_contents(self):
     return list(iter_buffer_contents(self.buffer,
                                      None, None, ignore_tag))