예제 #1
0
 def test_external_link_match_is_not_in_spans(self):
     wt = WikiText('t [http://b.b b] t [http://c.c c] t')
     # calculate the links
     links1 = wt.external_links
     wt.insert(0, 't [http://a.a a]')
     links2 = wt.external_links
     self.assertEqual(links1[1].string, '[http://c.c c]')
     self.assertEqual(links2[0].string, '[http://a.a a]')
예제 #2
0
def test_inserting_into_sections():
    wt = WikiText('== s1 ==\nc\n')
    s1 = wt.sections[1]
    wt.insert(0, 'c\n== s0 ==\nc\n')
    assert '== s1 ==\nc\n' == s1.string
    assert 'c\n== s0 ==\nc\n== s1 ==\nc\n' == wt.string
    s0 = wt.sections[1]
    assert '== s0 ==\nc\n' == s0.string
    assert 'c\n== s0 ==\nc\n== s1 ==\nc\n' == wt.string
    s1.insert(len(wt.string), '=== s2 ===\nc\n')
    assert ('c\n'
            '== s0 ==\n'
            'c\n'
            '== s1 ==\n'
            'c\n'
            '=== s2 ===\n'
            'c\n') == wt.string
    s3 = wt.sections[3]
    assert '=== s2 ===\nc\n' == s3.string
예제 #3
0
 def test_inserting_into_sections(self):
     ae = self.assertEqual
     wt = WikiText('== s1 ==\nc\n')
     s1 = wt.sections[1]
     wt.insert(0, 'c\n== s0 ==\nc\n')
     ae('== s1 ==\nc\n', s1.string)
     ae('c\n== s0 ==\nc\n== s1 ==\nc\n', wt.string)
     s0 = wt.sections[1]
     ae('== s0 ==\nc\n', s0.string)
     ae('c\n== s0 ==\nc\n== s1 ==\nc\n', wt.string)
     s1.insert(len(wt.string), '=== s2 ===\nc\n')
     ae('c\n'
        '== s0 ==\n'
        'c\n'
        '== s1 ==\n'
        'c\n'
        '=== s2 ===\n'
        'c\n', wt.string)
     s3 = wt.sections[3]
     ae('=== s2 ===\nc\n', s3.string)
예제 #4
0
 def test_insert(self):
     w = WikiText('c')
     w.insert(0, 'a')
     self.assertEqual(w.string, 'ac')
     # Just to show that ``w.insert(i, s)`` is the same as ``w[i:i] = s``:
     v = WikiText('c')
     v[0:0] = 'a'
     self.assertEqual(w.string, v.string)
     w.insert(-1, 'b')
     self.assertEqual(w.string, 'abc')
     # Like list.insert, w.insert accepts out of range indexes.
     w.insert(5, 'd')
     self.assertEqual(w.string, 'abcd')
     w.insert(-5, 'z')
     self.assertEqual(w.string, 'zabcd')
예제 #5
0
def test_insert():
    w = WikiText('c')
    w.insert(0, 'a')
    assert w.string == 'ac'
    # Just to show that ``w.insert(i, s)`` is the same as ``w[i:i] = s``:
    v = WikiText('c')
    v[0:0] = 'a'
    assert w.string == v.string
    w.insert(-1, 'b')
    assert w.string == 'abc'
    # Like list.insert, w.insert accepts out of range indexes.
    w.insert(5, 'd')
    assert w.string == 'abcd'
    w.insert(-5, 'z')
    assert w.string == 'zabcd'
예제 #6
0
 def test_insert_parse(self):
     """Test that insert parses the inserted part."""
     wt = WikiText('')
     wt.insert(0, '{{t}}')
     self.assertEqual(len(wt.templates), 1)
예제 #7
0
def test_insert_parse():
    """Test that insert parses the inserted part."""
    wt = WikiText('')
    wt.insert(0, '{{t}}')
    assert len(wt.templates) == 1