Example #1
0
    def test_unicode(self):
        """Unicode is hard. Test that."""
        # \u03C0 is pi and \u2764 is a heart symbol.
        d1 = DocumentFactory(title="\u03C0", slug="pi")
        ApprovedRevisionFactory(document=d1, content="I \u2764 \u03C0")
        d2 = DocumentFactory(title="\u2764", slug="heart")
        ApprovedRevisionFactory(document=d2, content="What do you think about [[\u03C0]]?")

        eq_(len(d1.links_to()), 1)
        eq_(len(d1.links_from()), 0)
        eq_(len(d2.links_to()), 0)
        eq_(len(d2.links_from()), 1)

        eq_(d1.links_to()[0].kind, "link")
Example #2
0
    def test_unicode(self):
        """Unicode is hard. Test that."""
        # \u03C0 is pi and \u2764 is a heart symbol.
        d1 = DocumentFactory(title=u'\u03C0', slug='pi')
        ApprovedRevisionFactory(document=d1, content=u'I \u2764 \u03C0')
        d2 = DocumentFactory(title=u'\u2764', slug='heart')
        ApprovedRevisionFactory(document=d2, content=u'What do you think about [[\u03C0]]?')

        eq_(len(d1.links_to()), 1)
        eq_(len(d1.links_from()), 0)
        eq_(len(d2.links_to()), 0)
        eq_(len(d2.links_from()), 1)

        eq_(d1.links_to()[0].kind, 'link')
Example #3
0
    def test_unicode(self):
        """Unicode is hard. Test that."""
        # \u03C0 is pi and \u2764 is a heart symbol.
        d1 = DocumentFactory(title=u'\u03C0', slug='pi')
        ApprovedRevisionFactory(document=d1, content=u'I \u2764 \u03C0')
        d2 = DocumentFactory(title=u'\u2764', slug='heart')
        ApprovedRevisionFactory(document=d2,
                                content=u'What do you think about [[\u03C0]]?')

        eq_(len(d1.links_to()), 1)
        eq_(len(d1.links_from()), 0)
        eq_(len(d2.links_to()), 0)
        eq_(len(d2.links_from()), 1)

        eq_(d1.links_to()[0].kind, 'link')
Example #4
0
    def test_locales_exists(self):
        """Links should use the correct locale."""
        d1 = DocumentFactory(title="Foo", locale="en-US")
        RevisionFactory(document=d1, content="", is_approved=True)
        d2 = DocumentFactory(title="Foo", locale="de")
        RevisionFactory(document=d2, content="", is_approved=True)
        d3 = DocumentFactory(title="Bar", locale="de")
        RevisionFactory(document=d3, content="[[Foo]]", is_approved=True)

        eq_(len(d1.links_to()), 0)
        eq_(len(d1.links_from()), 0)
        eq_(len(d2.links_to()), 1)
        eq_(len(d2.links_from()), 0)
        eq_(len(d3.links_to()), 0)
        eq_(len(d3.links_from()), 1)

        eq_(d2.links_to()[0].kind, "link")
Example #5
0
    def test_locales_exists(self):
        """Links should use the correct locale."""
        d1 = DocumentFactory(title='Foo', locale='en-US')
        RevisionFactory(document=d1, content='', is_approved=True)
        d2 = DocumentFactory(title='Foo', locale='de')
        RevisionFactory(document=d2, content='', is_approved=True)
        d3 = DocumentFactory(title='Bar', locale='de')
        RevisionFactory(document=d3, content='[[Foo]]', is_approved=True)

        eq_(len(d1.links_to()), 0)
        eq_(len(d1.links_from()), 0)
        eq_(len(d2.links_to()), 1)
        eq_(len(d2.links_from()), 0)
        eq_(len(d3.links_to()), 0)
        eq_(len(d3.links_from()), 1)

        eq_(d2.links_to()[0].kind, 'link')
Example #6
0
    def test_locales_exists(self):
        """Links should use the correct locale."""
        d1 = DocumentFactory(title='Foo', locale='en-US')
        RevisionFactory(document=d1, content='', is_approved=True)
        d2 = DocumentFactory(title='Foo', locale='de')
        RevisionFactory(document=d2, content='', is_approved=True)
        d3 = DocumentFactory(title='Bar', locale='de')
        RevisionFactory(document=d3, content='[[Foo]]', is_approved=True)

        eq_(len(d1.links_to()), 0)
        eq_(len(d1.links_from()), 0)
        eq_(len(d2.links_to()), 1)
        eq_(len(d2.links_from()), 0)
        eq_(len(d3.links_to()), 0)
        eq_(len(d3.links_from()), 1)

        eq_(d2.links_to()[0].kind, 'link')
Example #7
0
    def test_locales_renames(self):
        """Links should use the correct locale, even if the title has
        been translated."""
        d1 = DocumentFactory(title="Foo", locale="en-US")
        RevisionFactory(document=d1, content="", is_approved=True)
        d2 = DocumentFactory(title="German Foo", locale="de", parent=d1)
        RevisionFactory(document=d2, content="", is_approved=True)
        d3 = DocumentFactory(title="German Bar", locale="de")
        RevisionFactory(document=d3, content="[[Foo]]", is_approved=True)

        eq_(len(d1.links_to()), 0)
        eq_(len(d1.links_from()), 0)
        eq_(len(d2.links_to()), 1)
        eq_(len(d2.links_from()), 0)
        eq_(len(d3.links_to()), 0)
        eq_(len(d3.links_from()), 1)

        eq_(d2.links_to()[0].kind, "link")
Example #8
0
    def test_locales_renames(self):
        """Links should use the correct locale, even if the title has
        been translated."""
        d1 = DocumentFactory(title='Foo', locale='en-US')
        RevisionFactory(document=d1, content='', is_approved=True)
        d2 = DocumentFactory(title='German Foo', locale='de', parent=d1)
        RevisionFactory(document=d2, content='', is_approved=True)
        d3 = DocumentFactory(title='German Bar', locale='de')
        RevisionFactory(document=d3, content='[[Foo]]', is_approved=True)

        eq_(len(d1.links_to()), 0)
        eq_(len(d1.links_from()), 0)
        eq_(len(d2.links_to()), 1)
        eq_(len(d2.links_from()), 0)
        eq_(len(d3.links_to()), 0)
        eq_(len(d3.links_from()), 1)

        eq_(d2.links_to()[0].kind, 'link')
Example #9
0
    def test_locales_renames(self):
        """Links should use the correct locale, even if the title has
        been translated."""
        d1 = DocumentFactory(title='Foo', locale='en-US')
        RevisionFactory(document=d1, content='', is_approved=True)
        d2 = DocumentFactory(title='German Foo', locale='de', parent=d1)
        RevisionFactory(document=d2, content='', is_approved=True)
        d3 = DocumentFactory(title='German Bar', locale='de')
        RevisionFactory(document=d3, content='[[Foo]]', is_approved=True)

        eq_(len(d1.links_to()), 0)
        eq_(len(d1.links_from()), 0)
        eq_(len(d2.links_to()), 1)
        eq_(len(d2.links_from()), 0)
        eq_(len(d3.links_to()), 0)
        eq_(len(d3.links_from()), 1)

        eq_(d2.links_to()[0].kind, 'link')
Example #10
0
    def test_old_revisions(self):
        """Bug 862436. Updating old revisions could cause bad WLH data."""
        d1 = DocumentFactory(title="D1")
        RevisionFactory(document=d1, content="", is_approved=True)
        d2 = DocumentFactory(title="D2")
        RevisionFactory(document=d2, content="", is_approved=True)

        # Make D3, then make a revision that links to D1, then a
        # revision that links to D2. Only the link to D2 should count.
        d3 = DocumentFactory(title="D3")
        r3_old = ApprovedRevisionFactory(document=d3, content="[[D1]]")
        ApprovedRevisionFactory(document=d3, content="[[D2]]")

        # This could cause stale data
        r3_old.content_parsed

        # D1 is not linked to in any current revisions.
        eq_(len(d1.links_to()), 0)
        eq_(len(d1.links_from()), 0)
        eq_(len(d2.links_to()), 1)
        eq_(len(d2.links_from()), 0)
        eq_(len(d3.links_to()), 0)
        eq_(len(d3.links_from()), 1)
Example #11
0
    def test_old_revisions(self):
        """Bug 862436. Updating old revisions could cause bad WLH data."""
        d1 = DocumentFactory(title='D1')
        RevisionFactory(document=d1, content='', is_approved=True)
        d2 = DocumentFactory(title='D2')
        RevisionFactory(document=d2, content='', is_approved=True)

        # Make D3, then make a revision that links to D1, then a
        # revision that links to D2. Only the link to D2 should count.
        d3 = DocumentFactory(title='D3')
        r3_old = ApprovedRevisionFactory(document=d3, content='[[D1]]')
        ApprovedRevisionFactory(document=d3, content='[[D2]]')

        # This could cause stale data
        r3_old.content_parsed

        # D1 is not linked to in any current revisions.
        eq_(len(d1.links_to()), 0)
        eq_(len(d1.links_from()), 0)
        eq_(len(d2.links_to()), 1)
        eq_(len(d2.links_from()), 0)
        eq_(len(d3.links_to()), 0)
        eq_(len(d3.links_from()), 1)